Remove redundant checks and add more unit tests (#783)

This commit is contained in:
Igor [hyperxor]
2019-11-04 19:19:02 +03:00
committed by Jesse Beder
parent a8ba6a8dca
commit 72f699f5ce
2 changed files with 26 additions and 33 deletions

View File

@@ -59,6 +59,18 @@ TEST(NodeTest, SequenceElementRemoval) {
EXPECT_EQ("c", node[1].as<std::string>());
}
TEST(NodeTest, SequenceFirstElementRemoval) {
Node node;
node[0] = "a";
node[1] = "b";
node[2] = "c";
node.remove(0);
EXPECT_TRUE(node.IsSequence());
EXPECT_EQ(2, node.size());
EXPECT_EQ("b", node[0].as<std::string>());
EXPECT_EQ("c", node[1].as<std::string>());
}
TEST(NodeTest, SequenceLastElementRemoval) {
Node node;
node[0] = "a";
@@ -71,6 +83,19 @@ TEST(NodeTest, SequenceLastElementRemoval) {
EXPECT_EQ("b", node[1].as<std::string>());
}
TEST(NodeTest, NodeAssignment) {
Node node1;
Node node2;
node1[1] = 1;
node1[2] = 2;
node1[3] = 3;
node2 = node1;
EXPECT_EQ(node1, node2);
EXPECT_EQ(node1[1], node2[1]);
EXPECT_EQ(node1[2], node2[2]);
EXPECT_EQ(node1[3], node2[3]);
}
TEST(NodeTest, MapElementRemoval) {
Node node;
node["foo"] = "bar";