TEST(TestValidate, Simple) { boost::shared_ptr<SimpleTest> n(new SimpleTest()); { Reporter reporter; NodeReporter node_reporter(reporter, n); ASSERT_EQ(0UL, reporter.num_errors()); ASSERT_EQ(0UL, reporter.num_warnings()); n->pre_transform(node_reporter); EXPECT_EQ(1UL, reporter.num_errors()); EXPECT_EQ(3UL, reporter.num_warnings()); EXPECT_TRUE(n->pre_transform_called); EXPECT_FALSE(n->post_transform_called); } n->add_child(node_p(new Null())); { Reporter reporter; NodeReporter node_reporter(reporter, n); ASSERT_EQ(0UL, reporter.num_errors()); ASSERT_EQ(0UL, reporter.num_warnings()); n->pre_transform_called = false; n->post_transform(node_reporter); EXPECT_EQ(0UL, reporter.num_errors()); EXPECT_EQ(3UL, reporter.num_warnings()); EXPECT_FALSE(n->pre_transform_called); EXPECT_TRUE(n->post_transform_called); } }