static void validate_test_dataset1_tree(Cursor cur) { BOOST_CHECK_EQUAL(*cur, 8); BOOST_CHECK_EQUAL(*cur.begin(), 3); BOOST_CHECK_EQUAL(*cur.begin().begin(), 1); BOOST_CHECK(cur.begin().begin().end().is_leaf()); BOOST_CHECK(cur.begin().begin().begin().is_leaf()); //Leaf BOOST_CHECK_EQUAL(*cur.begin().end(), 6); BOOST_CHECK_EQUAL(*cur.begin().end().begin(), 4); BOOST_CHECK(cur.begin().end().begin().begin().is_leaf()); //Leaf BOOST_CHECK_EQUAL(*cur.begin().end().end(), 7); BOOST_CHECK(cur.begin().end().end().begin().is_leaf()); //Leaf BOOST_CHECK_EQUAL(*cur.end(), 10); BOOST_CHECK(cur.end().begin().is_leaf()); BOOST_CHECK_EQUAL(*cur.end().end(), 14); BOOST_CHECK(cur.end().end().end().is_leaf()); BOOST_CHECK_EQUAL(*cur.end().end().begin(), 13); BOOST_CHECK(cur.end().end().begin().end().is_leaf()); BOOST_CHECK_EQUAL(*cur.end().end().begin().begin(), 11); BOOST_CHECK(cur.end().end().begin().begin().begin().is_leaf()); BOOST_CHECK_EQUAL(*cur.end().end().begin().begin().end(), 12); BOOST_CHECK(cur.end().end().begin().begin().end().begin().is_leaf()); //Leaf }
static void validate_test_dataset1_forest(Cursor cur, Cursor e) { Cursor c = cur; BOOST_CHECK_EQUAL(*c, 8); BOOST_CHECK_EQUAL(*c.to_begin(), 3); BOOST_CHECK_EQUAL(*++c, 6); BOOST_CHECK_EQUAL(*++c, 7); BOOST_CHECK(++c == cur.end()); c = cur.begin(); BOOST_CHECK_EQUAL(*c.to_begin(), 1); BOOST_CHECK(++c == cur.begin().end()); c = cur.begin(); ++c; Cursor d = c; BOOST_CHECK_EQUAL(*c.to_begin(), 4); BOOST_CHECK(++c == d.end()); c = cur; BOOST_CHECK_EQUAL(*++c, 10); BOOST_CHECK_EQUAL(*++c, 14); d = c; BOOST_CHECK(++c == e); c = d; BOOST_CHECK_EQUAL(*c.to_begin(), 13); BOOST_CHECK(++c == d.end()); c = d.to_begin(); BOOST_CHECK_EQUAL(*c.to_begin(), 11); BOOST_CHECK_EQUAL(*++c, 12); BOOST_CHECK(++c == d.end()); }
static void validate_test_dataset1_minus_1_tree(Cursor cur) { BOOST_CHECK_EQUAL(*cur, 7); BOOST_CHECK_EQUAL(*cur.begin(), 2); BOOST_CHECK_EQUAL(*cur.begin().begin(), 0); //Leaf BOOST_CHECK_EQUAL(*cur.begin().end(), 5); BOOST_CHECK_EQUAL(*cur.begin().end().begin(), 3); //Leaf BOOST_CHECK_EQUAL(*cur.begin().end().end(), 6); //Leaf BOOST_CHECK_EQUAL(*cur.end(), 9); BOOST_CHECK_EQUAL(*cur.end().end(), 13); BOOST_CHECK_EQUAL(*cur.end().end().begin(), 12); BOOST_CHECK_EQUAL(*cur.end().end().begin().begin(), 10); BOOST_CHECK_EQUAL(*cur.end().end().begin().begin().end(), 11); //Leaf }