Skip to content

Commit c71f033

Browse files
committed
add HybridNonlinearFactorGraph::error test
1 parent 9cbc754 commit c71f033

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

gtsam/hybrid/tests/testHybridNonlinearFactorGraph.cpp

+31
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,37 @@ TEST(HybridNonlinearFactorGraph, Partial_Elimination) {
401401
EXPECT(remainingFactorGraph->at(2)->keys() == KeyVector({M(0), M(1)}));
402402
}
403403

404+
/* ****************************************************************************/
405+
TEST(HybridNonlinearFactorGraph, Error) {
406+
Switching self(3);
407+
HybridNonlinearFactorGraph fg = self.nonlinearFactorGraph;
408+
409+
{
410+
HybridValues values(VectorValues(), DiscreteValues{{M(0), 0}, {M(1), 0}},
411+
self.linearizationPoint);
412+
// regression
413+
EXPECT_DOUBLES_EQUAL(152.791759469, fg.error(values), 1e-9);
414+
}
415+
{
416+
HybridValues values(VectorValues(), DiscreteValues{{M(0), 0}, {M(1), 1}},
417+
self.linearizationPoint);
418+
// regression
419+
EXPECT_DOUBLES_EQUAL(151.598612289, fg.error(values), 1e-9);
420+
}
421+
{
422+
HybridValues values(VectorValues(), DiscreteValues{{M(0), 1}, {M(1), 0}},
423+
self.linearizationPoint);
424+
// regression
425+
EXPECT_DOUBLES_EQUAL(151.703972804, fg.error(values), 1e-9);
426+
}
427+
{
428+
HybridValues values(VectorValues(), DiscreteValues{{M(0), 1}, {M(1), 1}},
429+
self.linearizationPoint);
430+
// regression
431+
EXPECT_DOUBLES_EQUAL(151.609437912, fg.error(values), 1e-9);
432+
}
433+
}
434+
404435
/* ****************************************************************************/
405436
TEST(HybridNonlinearFactorGraph, PrintErrors) {
406437
Switching self(3);

0 commit comments

Comments
 (0)