#include #include namespace { SAW_TEST("Tree insert"){ using namespace saw; branch troi; { // Replace with value auto eor = troi.replace_tree(5); SAW_EXPECT(eor.is_value(), "Didn't manage to replace with value"); } { // Replace with tree again auto eor = troi.replace_value(tree{}); SAW_EXPECT(eor.is_value(), "Not a value"); } } SAW_TEST("Tree add child"){ using namespace saw; tree tr; { auto eov = tr.add(10); SAW_EXPECT(eov.is_value(), "Didn't manage to add value"); } { auto eov = tr.add(); SAW_EXPECT(eov.is_value(), "Didn't manage to add tree"); std::size_t index = eov.get_value(); auto& inner_tr = tr.at(index); auto eov2 = inner_tr.get_tree().add(420); SAW_EXPECT(eov2.is_value(), "Didn't manage to add to inner tree"); } } }