valuetest: add tests for member iterator conversions/relations

This commit is contained in:
Philipp A. Hartmann 2014-08-21 10:47:00 +02:00
parent 26c24d0bd9
commit 889f3fa9c0

View File

@ -852,6 +852,31 @@ TEST(Value, Object) {
++citr;
EXPECT_FALSE(citr != y.MemberEnd());
// member iterator conversions/relations
itr = x.MemberBegin();
citr = x.MemberBegin(); // const conversion
TestEqual(itr, citr);
EXPECT_TRUE(itr < x.MemberEnd());
EXPECT_FALSE(itr > y.MemberEnd());
EXPECT_TRUE(citr < x.MemberEnd());
EXPECT_FALSE(citr > y.MemberEnd());
++citr;
TestUnequal(itr, citr);
EXPECT_FALSE(itr < itr);
EXPECT_TRUE(itr < citr);
EXPECT_FALSE(itr > itr);
EXPECT_TRUE(citr > itr);
EXPECT_EQ(1, citr - x.MemberBegin());
EXPECT_EQ(0, itr - y.MemberBegin());
itr += citr - x.MemberBegin();
EXPECT_EQ(1, itr - y.MemberBegin());
TestEqual(citr, itr);
EXPECT_TRUE(itr <= citr);
EXPECT_TRUE(citr <= itr);
itr++;
EXPECT_TRUE(itr >= citr);
EXPECT_FALSE(citr >= itr);
// RemoveMember()
x.RemoveMember("A");
EXPECT_FALSE(x.HasMember("A"));