style: apply CSharpier formatting to all C# sources

Repo-wide sweep with the pinned CSharpier 1.3.0 tool. Whitespace and
line-wrapping only; OpenNest.Engine.Tests (109) and OpenNest.IO.Tests
pass after reformat, full solution builds 0 errors.

Added .csharpierignore so csproj/config XML keeps its existing layout
(CSharpier's XML wrapping churns attributes with zero benefit).

Formatting is now enforceable: dotnet csharpier check . passes.
This commit is contained in:
aj
2026-09-20 16:41:50 -04:00
parent 8e6fa677fb
commit aec0523062
476 changed files with 16592 additions and 7800 deletions
+109 -30
View File
@@ -6,10 +6,15 @@ namespace OpenNest.IO.Tests;
public class BendRepairTests
{
private static BendRepairOptions Options(BendRepairUnits units = BendRepairUnits.Inches, double limit = 2) =>
new() { DrawingUnits = units, MaxEndpointMovementMillimeters = limit };
private static BendRepairOptions Options(
BendRepairUnits units = BendRepairUnits.Inches,
double limit = 2
) => new() { DrawingUnits = units, MaxEndpointMovementMillimeters = limit };
private static (List<Entity> entities, List<Bend> bends) Fixture(double start = 0.05, double end = 9.95)
private static (List<Entity> entities, List<Bend> bends) Fixture(
double start = 0.05,
double end = 9.95
)
{
var entities = new List<Entity>
{
@@ -17,36 +22,65 @@ public class BendRepairTests
new Line(new Vector(10, 0), new Vector(10, 10)),
new Line(new Vector(10, 10), new Vector(0, 10)),
new Line(new Vector(0, 10), new Vector(0, 0)),
Mark(start, 5, start + 0.5, 5), Mark(end - 0.5, 5, end, 5),
Mark(4, 2, 4, 3)
Mark(start, 5, start + 0.5, 5),
Mark(end - 0.5, 5, end, 5),
Mark(4, 2, 4, 3),
};
return (entities, new List<Bend> { new() { StartPoint = new Vector(start, 5), EndPoint = new Vector(end, 5), Direction = BendDirection.Up } });
return (
entities,
new List<Bend>
{
new()
{
StartPoint = new Vector(start, 5),
EndPoint = new Vector(end, 5),
Direction = BendDirection.Up,
},
}
);
}
private static Line Mark(double x, double y, double x2, double y2) =>
new(new Vector(x, y), new Vector(x2, y2)) { Layer = new Layer("SCRIBE") { IsVisible = true } };
new(new Vector(x, y), new Vector(x2, y2))
{
Layer = new Layer("SCRIBE") { IsVisible = true },
};
[Theory]
[InlineData(0.05, 9.95)]
[InlineData(-0.05, 10.05)]
[InlineData(0, 9.95)]
public void RepairsAlongAxisPreservingCutAndUnrelatedMarksAndIsIdempotent(double start, double end)
public void RepairsAlongAxisPreservingCutAndUnrelatedMarksAndIsIdempotent(
double start,
double end
)
{
var (entities, bends) = Fixture(start, end);
var originals = entities.ToArray();
var cutPoints = entities.Take(4).Cast<Line>().Select(l => (l.StartPoint, l.EndPoint)).ToArray();
var cutPoints = entities
.Take(4)
.Cast<Line>()
.Select(l => (l.StartPoint, l.EndPoint))
.ToArray();
var report = Assert.Single(BendRepair.Apply(entities, bends, Options()));
Assert.Equal("Repaired", report.Status);
Assert.Equal(new Vector(0, 5), bends[0].StartPoint);
Assert.Equal(new Vector(10, 5), bends[0].EndPoint);
for (var i = 0; i < 4; i++) Assert.Same(originals[i], entities[i]);
Assert.Equal(cutPoints, entities.Take(4).Cast<Line>().Select(l => (l.StartPoint, l.EndPoint)).ToArray());
for (var i = 0; i < 4; i++)
Assert.Same(originals[i], entities[i]);
Assert.Equal(
cutPoints,
entities.Take(4).Cast<Line>().Select(l => (l.StartPoint, l.EndPoint)).ToArray()
);
Assert.Same(originals[6], entities[6]);
Assert.Equal(new Vector(0, 5), ((Line)entities[4]).StartPoint);
Assert.Equal(new Vector(10, 5), ((Line)entities[5]).EndPoint);
Assert.Equal(0.5, entities[4].Length, 8);
var after = entities.ToArray();
Assert.Equal("Unchanged", Assert.Single(BendRepair.Apply(entities, bends, Options())).Status);
Assert.Equal(
"Unchanged",
Assert.Single(BendRepair.Apply(entities, bends, Options())).Status
);
Assert.Equal(after, entities);
}
@@ -56,18 +90,30 @@ public class BendRepairTests
var (entities, bends) = Fixture();
entities[4] = Mark(0.05, 5, 1.05, 5);
entities[5] = Mark(8.95, 5, 9.95, 5);
Assert.Equal("Repaired", Assert.Single(BendRepair.Apply(entities, bends, Options())).Status);
Assert.Equal("Unchanged", Assert.Single(BendRepair.Apply(entities, bends, Options())).Status);
Assert.Equal(
"Repaired",
Assert.Single(BendRepair.Apply(entities, bends, Options())).Status
);
Assert.Equal(
"Unchanged",
Assert.Single(BendRepair.Apply(entities, bends, Options())).Status
);
}
[Fact]
public void MillimeterCoordinatesUseSamePhysicalLimit()
{
var (entities, bends) = Fixture();
foreach (var entity in entities) entity.Scale(25.4);
foreach (var entity in entities)
entity.Scale(25.4);
bends[0].StartPoint *= 25.4;
bends[0].EndPoint *= 25.4;
Assert.Equal("Repaired", Assert.Single(BendRepair.Apply(entities, bends, Options(BendRepairUnits.Millimeters))).Status);
Assert.Equal(
"Repaired",
Assert
.Single(BendRepair.Apply(entities, bends, Options(BendRepairUnits.Millimeters)))
.Status
);
Assert.Equal(254, bends[0].EndPoint.X, 8);
}
@@ -75,12 +121,16 @@ public class BendRepairTests
public void RotatedAxisIsNotRotatedByRepair()
{
var (entities, bends) = Fixture();
foreach (var entity in entities) entity.Rotate(0.7);
foreach (var entity in entities)
entity.Rotate(0.7);
var axis = bends[0].ToLine();
axis.Rotate(0.7);
bends[0].StartPoint = axis.StartPoint;
bends[0].EndPoint = axis.EndPoint;
Assert.Equal("Repaired", Assert.Single(BendRepair.Apply(entities, bends, Options())).Status);
Assert.Equal(
"Repaired",
Assert.Single(BendRepair.Apply(entities, bends, Options())).Status
);
Assert.Equal(0.7, bends[0].LineAngle, 8);
Assert.Equal(10, bends[0].Length, 8);
}
@@ -102,17 +152,43 @@ public class BendRepairTests
var (entities, bends) = Fixture();
switch (failure)
{
case "missing": entities.RemoveAt(5); break;
case "duplicate": entities.Add(entities[4].Clone()); break;
case "perpendicular": entities[5] = Mark(9.95, 5, 9.95, 5.5); break;
case "offset": entities[5].Offset(0, 0.01); break;
case "excessive": bends[0].EndPoint = new Vector(9, 5); entities[5] = Mark(8.5, 5, 9, 5); break;
case "open": entities.RemoveAt(0); break;
case "hole": entities.Add(new Circle(new Vector(5, 5), 1)); break;
case "shared": bends.Add(new Bend { StartPoint = bends[0].StartPoint, EndPoint = bends[0].EndPoint }); break;
case "unknown-layer": foreach (var e in entities.Take(4)) e.Layer = new Layer("UNKNOWN"); break;
case "cut-tick": entities[5].Layer = Layer.Default; break;
case "nonfinite": bends[0].StartPoint = new Vector(double.NaN, 5); break;
case "missing":
entities.RemoveAt(5);
break;
case "duplicate":
entities.Add(entities[4].Clone());
break;
case "perpendicular":
entities[5] = Mark(9.95, 5, 9.95, 5.5);
break;
case "offset":
entities[5].Offset(0, 0.01);
break;
case "excessive":
bends[0].EndPoint = new Vector(9, 5);
entities[5] = Mark(8.5, 5, 9, 5);
break;
case "open":
entities.RemoveAt(0);
break;
case "hole":
entities.Add(new Circle(new Vector(5, 5), 1));
break;
case "shared":
bends.Add(
new Bend { StartPoint = bends[0].StartPoint, EndPoint = bends[0].EndPoint }
);
break;
case "unknown-layer":
foreach (var e in entities.Take(4))
e.Layer = new Layer("UNKNOWN");
break;
case "cut-tick":
entities[5].Layer = Layer.Default;
break;
case "nonfinite":
bends[0].StartPoint = new Vector(double.NaN, 5);
break;
}
var before = entities.ToArray();
var start = bends[0].StartPoint;
@@ -136,7 +212,10 @@ public class BendRepairTests
{
var (entities, bends) = Fixture();
var before = entities.ToArray();
Assert.Equal("Skipped", Assert.Single(BendRepair.Apply(entities, bends, Options(units, limit))).Status);
Assert.Equal(
"Skipped",
Assert.Single(BendRepair.Apply(entities, bends, Options(units, limit))).Status
);
Assert.Equal(before, entities);
Assert.Equal(0.05, bends[0].StartPoint.X);
}