@@ -112,12 +112,14 @@ unittest(test_constructor)
112112
113113unittest (test_solve)
114114{
115+ uint8_t success = 0 ;
115116 int lengths_3_joints[] = {200 , 200 };
116117 int lengths_4_joints[] = {200 , 200 , 200 };
117118
118119 // Solve 3 joints, 2DOF
119120 Fabrik2D fabrik2D_3_2DOF (3 , lengths_3_joints, 1 );
120- fabrik2D_3_2DOF.solve (100 , 100 , lengths_3_joints);
121+ success = fabrik2D_3_2DOF.solve (100 , 100 , lengths_3_joints);
122+ assertEqual (1 , success);
121123
122124 float dist = sqrt (100 *100 + 100 *100 );
123125
@@ -134,14 +136,15 @@ unittest(test_solve)
134136 float a2 = -atan2 (s_phi, c_phi);
135137
136138 assertEqualFloat (a1, fabrik2D_3_2DOF.getAngle (0 ), fabrik2D_3_2DOF.getTolerance ());
137- assertEqualFloat (a2, fabrik2D_3_2DOF.getAngle (2 ), fabrik2D_3_2DOF.getTolerance ());
139+ assertEqualFloat (a2, fabrik2D_3_2DOF.getAngle (1 ), fabrik2D_3_2DOF.getTolerance ());
138140
139141 assertEqualFloat (100 , fabrik2D_3_2DOF.getX (2 ), fabrik2D_3_2DOF.getTolerance ());
140142 assertEqualFloat (100 , fabrik2D_3_2DOF.getY (2 ), fabrik2D_3_2DOF.getTolerance ());
141143
142144 // Solve 3 joints, 3DOF
143145 Fabrik2D fabrik2D_3_3DOF (3 , lengths_3_joints, 1 );
144- fabrik2D_3_3DOF.solve (100 , 0 , -HALF_PI , lengths_3_joints);
146+ success = fabrik2D_3_3DOF.solve (100 , 0 , -HALF_PI , lengths_3_joints);
147+ assertEqual (1 , success);
145148
146149 assertEqualFloat (100 , fabrik2D_3_3DOF.getX (3 ), fabrik2D_3_3DOF.getTolerance ());
147150 assertEqualFloat (0 , fabrik2D_3_3DOF.getY (3 ), fabrik2D_3_3DOF.getTolerance ());
@@ -151,7 +154,8 @@ unittest(test_solve)
151154
152155 // Solve 3 joints, 3DOF, Gripping offset
153156 Fabrik2D fabrik2D_3_3DOF_GO (3 , lengths_3_joints, 1 );
154- fabrik2D_3_3DOF_GO.solve (100 , 0 , -HALF_PI , 10 , lengths_3_joints);
157+ success = fabrik2D_3_3DOF_GO.solve (100 , 0 , -HALF_PI , 10 , lengths_3_joints);
158+ assertEqual (1 , success);
155159
156160 assertEqualFloat (100 , fabrik2D_3_3DOF_GO.getX (3 ), fabrik2D_3_3DOF_GO.getTolerance ());
157161 assertEqualFloat (10 , fabrik2D_3_3DOF_GO.getY (3 ), fabrik2D_3_3DOF_GO.getTolerance ());
@@ -161,7 +165,8 @@ unittest(test_solve)
161165
162166 // Solve 4 joints, 3DOF
163167 Fabrik2D fabrik2D_4_3DOF (4 , lengths_4_joints, 1 );
164- fabrik2D_4_3DOF.solve2 (100 , 100 , 100 , lengths_4_joints);
168+ success = fabrik2D_4_3DOF.solve2 (100 , 100 , 100 , lengths_4_joints);
169+ assertEqual (1 , success);
165170
166171 float base_angle = atan2 (100 , 100 );
167172
@@ -173,7 +178,8 @@ unittest(test_solve)
173178
174179 // Solve 4 joints, 4DOF
175180 Fabrik2D fabrik2D_4_4DOF (4 , lengths_4_joints, 1 );
176- fabrik2D_4_4DOF.solve2 (100 , 0 , 100 , -HALF_PI , lengths_4_joints);
181+ success = fabrik2D_4_4DOF.solve2 (100 , 0 , 100 , -HALF_PI , lengths_4_joints);
182+ assertEqual (1 , success);
177183
178184 assertEqualFloat (100 , fabrik2D_4_4DOF.getX (3 ), fabrik2D_4_4DOF.getTolerance ());
179185 assertEqualFloat (0 , fabrik2D_4_4DOF.getY (3 ), fabrik2D_4_4DOF.getTolerance ());
@@ -184,7 +190,8 @@ unittest(test_solve)
184190
185191 // Solve 4 joints, 4DOF, Gripping offset
186192 Fabrik2D fabrik2D_4_4DOF_GO (4 , lengths_4_joints, 1 );
187- fabrik2D_4_4DOF_GO.solve (100 , 0 , -HALF_PI , 10 , lengths_4_joints);
193+ success = fabrik2D_4_4DOF_GO.solve (100 , 0 , -HALF_PI , 10 , lengths_4_joints);
194+ assertEqual (1 , success);
188195
189196 assertEqualFloat (100 , fabrik2D_4_4DOF_GO.getX (3 ), fabrik2D_4_4DOF_GO.getTolerance ());
190197 assertEqualFloat (10 , fabrik2D_4_4DOF_GO.getY (3 ), fabrik2D_4_4DOF_GO.getTolerance ());
0 commit comments