tests/cpp: Add tests for SplitEntry

This commit is contained in:
AbdealiJK 2016-12-03 14:36:58 +05:30 committed by Tianqi Chen
parent 62e3468603
commit fd99d39372

View File

@ -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));
}