Fix SplineHelper bug (#2018)

Add unit test to check interior waypoints
This commit is contained in:
Prateek Machiraju
2019-11-01 12:28:11 -04:00
committed by Peter Johnson
parent f33bd9f050
commit f6e311ef86
3 changed files with 49 additions and 1 deletions

View File

@@ -76,6 +76,20 @@ class CubicHermiteSplineTest {
poses.get(0).poseMeters.getRotation().getRadians(), 1E-9)
);
// Check interior waypoints
boolean interiorsGood = true;
for (var waypoint : waypoints) {
boolean found = false;
for (var state : poses) {
if (waypoint.getDistance(state.poseMeters.getTranslation()) == 0) {
found = true;
}
}
interiorsGood &= found;
}
assertTrue(interiorsGood);
// Check last point
assertAll(
() -> assertEquals(b.getTranslation().getX(),
@@ -104,4 +118,15 @@ class CubicHermiteSplineTest {
run(start, waypoints, end);
}
@SuppressWarnings("PMD.JUnitTestsShouldIncludeAssert")
@Test
void testOneInterior() {
var start = new Pose2d(0, 0, Rotation2d.fromDegrees(0.0));
ArrayList<Translation2d> waypoints = new ArrayList<>();
waypoints.add(new Translation2d(2.0, 0.0));
var end = new Pose2d(4, 0, Rotation2d.fromDegrees(0.0));
run(start, waypoints, end);
}
}