30 using namespace gtsam;
43 EXPECT(constraint.noiseModel()->isConstrained());
54 EXPECT(constraint.feasible(values1));
62 EXPECT(!constraint.feasible(values2));
70 EXPECT(constraint.dim() == 1);
73 EXPECT(constraint.keys().size() == 2);
79 auto merit_factor = constraint.penaltyFactor(
mu);
83 EXPECT(expected_noise->equals(*merit_factor->noiseModel()));
86 double expected_error1 = 0;
88 double expected_error2 = 3200;
101 auto g = x1_vec_expr + x2_vec_expr;
105 EXPECT(constraint.noiseModel()->isConstrained());
116 EXPECT(constraint.feasible(values1));
119 auto expected_violation1 = (
Vector(2) << 0, 0).finished();
121 auto expected_scaled_violation1 = (
Vector(2) << 0, 0).finished();
125 EXPECT(!constraint.feasible(values2));
128 auto expected_violation2 = (
Vector(2) << 2, 2).finished();
132 auto expected_scaled_violation2 = (
Vector(2) << 20, 4).finished();
136 EXPECT(constraint.dim() == 2);
140 auto merit_factor = constraint.penaltyFactor(
mu);
144 EXPECT(expected_noise->equals(*merit_factor->noiseModel()));
147 double expected_error1 = 0;
149 double expected_error2 = 832;
167 EXPECT(constraint.noiseModel()->isConstrained());
178 EXPECT(constraint.feasible(values1));
181 auto expected_violation1 = (
Vector(2) << 0, 0).finished();
183 auto expected_scaled_violation1 = (
Vector(2) << 0, 0).finished();
187 EXPECT(!constraint.feasible(values2));
190 auto expected_violation2 = (
Vector(2) << 1, 2).finished();
194 auto expected_scaled_violation2 = (
Vector(2) << 2, 20).finished();
198 EXPECT(constraint.dim() == 2);
202 auto merit_factor = constraint.penaltyFactor(
mu);
206 EXPECT(expected_noise->equals(*merit_factor->noiseModel()));
209 double expected_error1 = 0;
211 double expected_error2 = 808;
226 auto g2 = x1_vec_expr + x2_vec_expr;
240 expected_keys.insert(
x1_key);
241 expected_keys.insert(
x2_key);