Fix some test for non-merge case

release/4.3a0
Frank Dellaert 2025-02-01 01:10:42 -05:00
parent eb9c6d4356
commit f1b184aca0
2 changed files with 12 additions and 1 deletions

View File

@ -59,21 +59,30 @@ TEST(ADT, arithmetic) {
// Negate and subtraction
CHECK(assert_equal(-a, zero - a));
#ifdef GTSAM_DT_MERGING
CHECK(assert_equal({zero}, a - a));
#else
CHECK(assert_equal({A, 0, 0}, a - a));
#endif
CHECK(assert_equal(a + b, b + a));
CHECK(assert_equal({A, 3, 4}, a + 2));
CHECK(assert_equal({B, 1, 2}, b - 2));
// Multiplication
#ifdef GTSAM_DT_MERGING
CHECK(assert_equal(zero, zero * a));
CHECK(assert_equal(zero, a * zero));
#else
CHECK(assert_equal({A, 0, 0}, zero * a));
#endif
CHECK(assert_equal(a, one * a));
CHECK(assert_equal(a, a * one));
CHECK(assert_equal(a * b, b * a));
#ifdef GTSAM_DT_MERGING
// division
// CHECK(assert_equal(a, (a * b) / b)); // not true because no pruning
CHECK(assert_equal(b, (a * b) / a));
#endif
}
/* ************************************************************************** */

View File

@ -124,8 +124,10 @@ TEST(DecisionTreeFactor, Divide) {
EXPECT(assert_inequal(pS, s));
// The underlying data should be the same
#ifdef GTSAM_DT_MERGING
using ADT = AlgebraicDecisionTree<Key>;
EXPECT(assert_equal(ADT(pS), ADT(s)));
#endif
KeySet keys(joint.keys());
keys.insert(pA.keys().begin(), pA.keys().end());