SchematicUnderlay tests: the bounds extremes sit in different lines

A mutant fitting to the first line only survived because every other point lay inside it. Builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-10-17 19:04:44 +02:00
commit 1030e7198a

View file

@ -8,11 +8,12 @@ public sealed class SchematicUnderlayTests
{
private static ShipPolyline Line(params float[] xyz) => new ShipPolyline { Points = xyz };
// Lines spanning Blender X [-3,5], Y [-10,2] (nose at Y -10, starboard at X -3).
// Lines spanning Blender X [-3,5], Y [-10,2] (nose at Y -10, starboard at X -3);
// the far extremes sit in the second line.
private static List<ShipPolyline> Lines() => new List<ShipPolyline>
{
Line(-3, -10, 0, 5, 2, 0),
Line(1, -4, 1, 0, 0, 1),
Line(-3, -10, 0, 1, -4, 0),
Line(5, 2, 1, 0, 0, 1),
};
private static Shape SixByFour()
@ -48,9 +49,9 @@ public sealed class SchematicUnderlayTests
// Line 0 point 0 holds both the lowest Blender Y (nose) and the lowest Blender X (starboard).
Assert.Equal(4f, fit[0][0].y, 4);
Assert.Equal(6f, fit[0][0].x, 4);
// Line 0 point 1 holds the highest of both: aft and port.
Assert.Equal(0f, fit[0][1].y, 4);
Assert.Equal(0f, fit[0][1].x, 4);
// Line 1 point 0 holds the highest of both, in another line: aft and port.
Assert.Equal(0f, fit[1][0].y, 4);
Assert.Equal(0f, fit[1][0].x, 4);
}
[Fact]