From a281a6522bfccb3f08b06bba31d7de84b91ade6e Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 22 Jan 2022 11:07:44 -0500 Subject: [PATCH] test new unzip method --- gtsam/discrete/tests/testDecisionTree.cpp | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gtsam/discrete/tests/testDecisionTree.cpp b/gtsam/discrete/tests/testDecisionTree.cpp index 2e6ec59f7..102941776 100644 --- a/gtsam/discrete/tests/testDecisionTree.cpp +++ b/gtsam/discrete/tests/testDecisionTree.cpp @@ -375,6 +375,31 @@ TEST(DecisionTree, labels) { EXPECT_LONGS_EQUAL(2, labels.size()); } +/* ******************************************************************************** */ +// Test retrieving all labels. +TEST(DecisionTree, unzip) { + using DTP = DecisionTree>; + using DT1 = DecisionTree; + using DT2 = DecisionTree; + + // Create small two-level tree + string A("A"), B("B"), C("C"); + DTP tree(B, + DTP(A, {0, "zero"}, {1, "one"}), + DTP(A, {2, "two"}, {1337, "l33t"}) + ); + + DT1 dt1; + DT2 dt2; + std::tie(dt1, dt2) = unzip(tree); + + DT1 tree1(B, DT1(A, 0, 1), DT1(A, 2, 1337)); + DT2 tree2(B, DT2(A, "zero", "one"), DT2(A, "two", "l33t")); + + EXPECT(tree1.equals(dt1)); + EXPECT(tree2.equals(dt2)); +} + /* ************************************************************************* */ int main() { TestResult tr;