From fd99d393722112829138e64438685adbfe9fed69 Mon Sep 17 00:00:00 2001 From: AbdealiJK Date: Sat, 3 Dec 2016 14:36:58 +0530 Subject: [PATCH] tests/cpp: Add tests for SplitEntry --- tests/cpp/tree/test_param.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/cpp/tree/test_param.cc b/tests/cpp/tree/test_param.cc index 916901183..f5d1a3aeb 100644 --- a/tests/cpp/tree/test_param.cc +++ b/tests/cpp/tree/test_param.cc @@ -75,3 +75,22 @@ TEST(Param, VectorStreamRead) { ss >> vals_in; EXPECT_NE(vals_in, vals); } + +TEST(Param, SplitEntry) { + xgboost::tree::SplitEntry se1; + EXPECT_FALSE(se1.NeedReplace(-1, 100)); + + xgboost::tree::SplitEntry se2; + EXPECT_FALSE(se1.Update(se2)); + EXPECT_FALSE(se2.Update(-1, 100, 0, true)); + ASSERT_TRUE(se2.Update(1, 100, 0, true)); + ASSERT_TRUE(se1.Update(se2)); + + xgboost::tree::SplitEntry se3; + se3.Update(2, 101, 0, false); + xgboost::tree::SplitEntry::Reduce(se2, se3); + EXPECT_EQ(se2.split_index(), 101); + EXPECT_FALSE(se2.default_left()); + + EXPECT_TRUE(se1.NeedReplace(3, 1)); +}