From 7c8406490559607add3a42174b22fad6c658b34f Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Wed, 22 Jun 2016 00:17:30 +0200 Subject: [PATCH] Tests ignored const parameter in copy-constructor and -assignment --- test/node/node_test.cpp | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/test/node/node_test.cpp b/test/node/node_test.cpp index 2202f72..31e9d8e 100644 --- a/test/node/node_test.cpp +++ b/test/node/node_test.cpp @@ -494,5 +494,56 @@ TEST_F(NodeEmitterTest, NestFlowMapListNode) { ExpectOutput("{position: [1.01, 2.01, 3.01]}", mapNode); } + +TEST(NodeTest, CopyConstructor) { + Node node = Node("Hello, World!"); + Node copy(node); + + node = Node("Bye, World!"); + + EXPECT_EQ("Hello, World!", copy.as()); + EXPECT_EQ("Bye, World!", node.as()); +} + +TEST(NodeTest, CopyAssignment) { + Node node = Node("Hello, World!"); + Node copy = Node("Nice to meet you!"); + + copy = node; + + node = Node("Bye, World!"); + + EXPECT_EQ("Hello, World!", copy.as()); + EXPECT_EQ("Bye, World!", node.as()); +} + +TEST(NodeTest, BrokenCopyAssignmentAndConstructorWithVectorInsert) { + + std::vector nodes; + + nodes.insert(nodes.begin(), Node("0")); + nodes.insert(nodes.begin(), Node("1")); + nodes.insert(nodes.begin(), Node("2")); + nodes.insert(nodes.begin(), Node("3")); + + EXPECT_EQ("3", nodes[0].Scalar()); + EXPECT_EQ("2", nodes[1].Scalar()); + EXPECT_EQ("1", nodes[2].Scalar()); + EXPECT_EQ("0", nodes[3].Scalar()); +} + +TEST(NodeTest, BrokenCopyAssignmentAndConstructorWithVectorInsert2) { + + std::vector nodes; + nodes.reserve(3); + nodes.insert(nodes.begin(), Node("0")); + nodes.insert(nodes.begin(), Node("1")); + nodes.insert(nodes.begin(), Node("2")); + + EXPECT_EQ("2", nodes[0].Scalar()); + EXPECT_EQ("1", nodes[1].Scalar()); + EXPECT_EQ("0", nodes[2].Scalar()); +} + } }