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
@@ -51,15 +51,17 @@ public class ApplySingleTests
{
Parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
}
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
},
};
var clickPoint = new Vector(5, 0);
var entity = new Line(new Vector(10, 0), new Vector(0, 0));
var result = strategy.ApplySingle(pgm, clickPoint, entity, ContourType.External);
var hasLeadin = result.Program.Codes.OfType<LinearMove>().Any(m => m.Layer == LayerType.Leadin);
var hasLeadin = result
.Program.Codes.OfType<LinearMove>()
.Any(m => m.Layer == LayerType.Leadin);
Assert.True(hasLeadin);
}
@@ -71,8 +73,8 @@ public class ApplySingleTests
{
Parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
}
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
},
};
var clickPoint = new Vector(5, 0);
@@ -82,7 +84,8 @@ public class ApplySingleTests
// Convert back to absolute to check positions
result.Program.Mode = Mode.Absolute;
var firstLinear = result.Program.Codes.OfType<LinearMove>()
var firstLinear = result
.Program.Codes.OfType<LinearMove>()
.First(m => m.Layer == LayerType.Leadin);
Assert.Equal(clickPoint.X, firstLinear.EndPoint.X, 4);
Assert.Equal(clickPoint.Y, firstLinear.EndPoint.Y, 4);
@@ -96,8 +99,8 @@ public class ApplySingleTests
{
Parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
}
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
},
};
var clickPoint = new Vector(5, 0);
@@ -116,8 +119,8 @@ public class ApplySingleTests
Parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
InternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 }
}
InternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 },
},
};
var clickPoint = new Vector(10, 0);
@@ -12,7 +12,7 @@ public class CuttingParametersSerializerTests
{
AutoTabMinSize = 0.5,
AutoTabMaxSize = 3.0,
ExternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 },
};
var json = CuttingParametersSerializer.Serialize(original);
@@ -25,7 +25,8 @@ public class CuttingParametersSerializerTests
[Fact]
public void Deserialize_MissingAutoTabFields_DefaultsToZero()
{
var json = "{\"externalLeadIn\":{\"type\":\"None\"},\"externalLeadOut\":{\"type\":\"None\"},\"internalLeadIn\":{\"type\":\"None\"},\"internalLeadOut\":{\"type\":\"None\"},\"arcCircleLeadIn\":{\"type\":\"None\"},\"arcCircleLeadOut\":{\"type\":\"None\"},\"tabsEnabled\":false,\"tabWidth\":0.25,\"pierceClearance\":0.0625}";
var json =
"{\"externalLeadIn\":{\"type\":\"None\"},\"externalLeadOut\":{\"type\":\"None\"},\"internalLeadIn\":{\"type\":\"None\"},\"internalLeadOut\":{\"type\":\"None\"},\"arcCircleLeadIn\":{\"type\":\"None\"},\"arcCircleLeadOut\":{\"type\":\"None\"},\"tabsEnabled\":false,\"tabWidth\":0.25,\"pierceClearance\":0.0625}";
var restored = CuttingParametersSerializer.Deserialize(json);
@@ -1,8 +1,8 @@
using System.Linq;
using OpenNest.CNC;
using OpenNest.CNC.CuttingStrategy;
using OpenNest.Converters;
using OpenNest.Geometry;
using System.Linq;
namespace OpenNest.Tests.CuttingStrategy;
@@ -47,7 +47,12 @@ public class HoleSubProgramTests
[Fact]
public void SubProgramCall_ToString_IncludesOffsetAndRotation()
{
var call = new SubProgramCall { Id = 1000, Offset = new Vector(1.5, 2.5), Rotation = 30 };
var call = new SubProgramCall
{
Id = 1000,
Offset = new Vector(1.5, 2.5),
Rotation = 30,
};
var str = call.ToString();
Assert.Contains("P1000", str);
Assert.Contains("X1.5", str);
@@ -119,8 +124,8 @@ public class HoleSubProgramTests
Parameters = new CuttingParameters
{
ArcCircleLeadIn = new LineLeadIn { Length = 0.125, ApproachAngle = 90 },
ArcCircleLeadOut = new NoLeadOut()
}
ArcCircleLeadOut = new NoLeadOut(),
},
};
var result = strategy.Apply(pgm, new Vector(10, 10));
@@ -163,8 +168,8 @@ public class HoleSubProgramTests
RoundLeadInAngles = true,
LeadInAngleIncrement = 5.0,
ArcCircleLeadIn = new LineLeadIn { Length = 0.125, ApproachAngle = 90 },
ArcCircleLeadOut = new NoLeadOut()
}
ArcCircleLeadOut = new NoLeadOut(),
},
};
var result = strategy.Apply(pgm, new Vector(10, 10));
@@ -196,22 +201,30 @@ public class HoleSubProgramTests
pgm.Codes.Add(new LinearMove(0, 0));
// Hole 1 at (3, 3)
pgm.Codes.Add(new RapidMove(holeCenter1.X + holeRadius, holeCenter1.Y));
pgm.Codes.Add(new ArcMove(
new Vector(holeCenter1.X + holeRadius, holeCenter1.Y),
holeCenter1, RotationType.CW));
pgm.Codes.Add(
new ArcMove(
new Vector(holeCenter1.X + holeRadius, holeCenter1.Y),
holeCenter1,
RotationType.CW
)
);
// Hole 2 at (7, 5)
pgm.Codes.Add(new RapidMove(holeCenter2.X + holeRadius, holeCenter2.Y));
pgm.Codes.Add(new ArcMove(
new Vector(holeCenter2.X + holeRadius, holeCenter2.Y),
holeCenter2, RotationType.CW));
pgm.Codes.Add(
new ArcMove(
new Vector(holeCenter2.X + holeRadius, holeCenter2.Y),
holeCenter2,
RotationType.CW
)
);
var strategy = new ContourCuttingStrategy
{
Parameters = new CuttingParameters
{
ArcCircleLeadIn = new LineLeadIn { Length = 0.125, ApproachAngle = 90 },
ArcCircleLeadOut = new NoLeadOut()
}
ArcCircleLeadOut = new NoLeadOut(),
},
};
var result = strategy.Apply(pgm, new Vector(10, 10));
@@ -247,13 +260,21 @@ public class HoleSubProgramTests
pgm.Codes.Add(new LinearMove(0, 10));
pgm.Codes.Add(new LinearMove(0, 0));
pgm.Codes.Add(new RapidMove(holeCenter1.X + holeRadius, holeCenter1.Y));
pgm.Codes.Add(new ArcMove(
new Vector(holeCenter1.X + holeRadius, holeCenter1.Y),
holeCenter1, RotationType.CW));
pgm.Codes.Add(
new ArcMove(
new Vector(holeCenter1.X + holeRadius, holeCenter1.Y),
holeCenter1,
RotationType.CW
)
);
pgm.Codes.Add(new RapidMove(holeCenter2.X + holeRadius, holeCenter2.Y));
pgm.Codes.Add(new ArcMove(
new Vector(holeCenter2.X + holeRadius, holeCenter2.Y),
holeCenter2, RotationType.CW));
pgm.Codes.Add(
new ArcMove(
new Vector(holeCenter2.X + holeRadius, holeCenter2.Y),
holeCenter2,
RotationType.CW
)
);
var drawing = new Drawing("TestPart") { Program = pgm };
var part = new Part(drawing);
@@ -265,7 +286,7 @@ public class HoleSubProgramTests
ArcCircleLeadIn = new LineLeadIn { Length = 0.125, ApproachAngle = 90 },
ArcCircleLeadOut = new NoLeadOut(),
ExternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 },
ExternalLeadOut = new NoLeadOut()
ExternalLeadOut = new NoLeadOut(),
};
part.ApplyLeadIns(parameters, new Vector(10, 10));
@@ -289,14 +310,22 @@ public class HoleSubProgramTests
// by the last hole's position.
foreach (var line in lines)
{
Assert.True(line.StartPoint.X >= -1 && line.StartPoint.X <= 11,
$"Perimeter line start X={line.StartPoint.X} is outside the 10x10 part bounds");
Assert.True(line.StartPoint.Y >= -1 && line.StartPoint.Y <= 11,
$"Perimeter line start Y={line.StartPoint.Y} is outside the 10x10 part bounds");
Assert.True(line.EndPoint.X >= -1 && line.EndPoint.X <= 11,
$"Perimeter line end X={line.EndPoint.X} is outside the 10x10 part bounds");
Assert.True(line.EndPoint.Y >= -1 && line.EndPoint.Y <= 11,
$"Perimeter line end Y={line.EndPoint.Y} is outside the 10x10 part bounds");
Assert.True(
line.StartPoint.X >= -1 && line.StartPoint.X <= 11,
$"Perimeter line start X={line.StartPoint.X} is outside the 10x10 part bounds"
);
Assert.True(
line.StartPoint.Y >= -1 && line.StartPoint.Y <= 11,
$"Perimeter line start Y={line.StartPoint.Y} is outside the 10x10 part bounds"
);
Assert.True(
line.EndPoint.X >= -1 && line.EndPoint.X <= 11,
$"Perimeter line end X={line.EndPoint.X} is outside the 10x10 part bounds"
);
Assert.True(
line.EndPoint.Y >= -1 && line.EndPoint.Y <= 11,
$"Perimeter line end Y={line.EndPoint.Y} is outside the 10x10 part bounds"
);
}
}
@@ -308,7 +337,14 @@ public class HoleSubProgramTests
var main = new Program(Mode.Absolute);
main.SubPrograms[1] = sub;
main.Codes.Add(new SubProgramCall { Id = 1, Program = sub, Offset = new Vector(10, 20) });
main.Codes.Add(
new SubProgramCall
{
Id = 1,
Program = sub,
Offset = new Vector(10, 20),
}
);
var box = main.BoundingBox();
@@ -325,7 +361,14 @@ public class HoleSubProgramTests
var main = new Program(Mode.Absolute);
main.SubPrograms[1] = sub;
main.Codes.Add(new SubProgramCall { Id = 1, Program = sub, Offset = new Vector(10, 0) });
main.Codes.Add(
new SubProgramCall
{
Id = 1,
Program = sub,
Offset = new Vector(10, 0),
}
);
// Rotate 90 degrees CCW around origin
main.Rotate(System.Math.PI / 2);
@@ -28,7 +28,7 @@ public class LeadInAssignerTests
plate.Parts.Add(MakeSquarePartAt(30, 30));
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -50,7 +50,7 @@ public class LeadInAssignerTests
plate.Parts.Add(MakeSquarePartAt(30, 30));
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -66,7 +66,7 @@ public class LeadInAssignerTests
plate.Parts.Add(MakeSquarePartAt(10, 10));
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -86,13 +86,16 @@ public class LeadInAssignerTests
plate.Parts.Add(MakeSquarePartAt(10, 10));
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
assigner.Assign(plate);
var hasLeadin = plate.Parts[0].Program.Codes.OfType<LinearMove>().Any(m => m.Layer == LayerType.Leadin);
var hasLeadin = plate
.Parts[0]
.Program.Codes.OfType<LinearMove>()
.Any(m => m.Layer == LayerType.Leadin);
Assert.True(hasLeadin);
}
@@ -108,7 +111,7 @@ public class LeadInAssignerTests
plate.Parts.Add(part);
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -129,7 +132,7 @@ public class LeadInAssignerTests
plate.Parts.Add(part);
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -152,7 +155,7 @@ public class LeadInAssignerTests
plate.Parts.Add(part);
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -175,7 +178,7 @@ public class LeadInAssignerTests
plate.Parts.Add(part);
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -204,7 +207,7 @@ public class LeadInAssignerTests
plate.Parts.Add(part);
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -213,10 +216,13 @@ public class LeadInAssignerTests
// The lead-in program should produce geometry that contains the
// original rotated shape (plus lead-in/out extensions)
var leadInGeometry = OpenNest.Converters.ConvertProgram.ToGeometry(part.Program);
var leadInNonRapid = leadInGeometry.Where(e =>
e.Layer != SpecialLayers.Rapid &&
e.Layer != SpecialLayers.Leadin &&
e.Layer != SpecialLayers.Leadout).ToList();
var leadInNonRapid = leadInGeometry
.Where(e =>
e.Layer != SpecialLayers.Rapid
&& e.Layer != SpecialLayers.Leadin
&& e.Layer != SpecialLayers.Leadout
)
.ToList();
// The bounding box of the cut geometry should be close to original
var origBbox = GetEntityBounds(originalNonRapid);
@@ -242,7 +248,7 @@ public class LeadInAssignerTests
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -264,7 +270,7 @@ public class LeadInAssignerTests
plate.Parts.Add(part);
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -291,7 +297,7 @@ public class LeadInAssignerTests
plate.Parts.Add(part);
plate.CuttingParameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var assigner = new LeadInAssigner { Sequencer = new LeftSideSequencer() };
@@ -329,8 +335,10 @@ public class LeadInAssignerTests
private static Box GetEntityBounds(List<OpenNest.Geometry.Entity> entities)
{
double minX = double.MaxValue, minY = double.MaxValue;
double maxX = double.MinValue, maxY = double.MinValue;
double minX = double.MaxValue,
minY = double.MaxValue;
double maxX = double.MinValue,
maxY = double.MinValue;
foreach (var entity in entities)
{
@@ -344,11 +352,21 @@ public class LeadInAssignerTests
return new Box(minX, minY, maxX - minX, maxY - minY);
}
private static void UpdateBounds(Vector pt, ref double minX, ref double minY, ref double maxX, ref double maxY)
private static void UpdateBounds(
Vector pt,
ref double minX,
ref double minY,
ref double maxX,
ref double maxY
)
{
if (pt.X < minX) minX = pt.X;
if (pt.Y < minY) minY = pt.Y;
if (pt.X > maxX) maxX = pt.X;
if (pt.Y > maxY) maxY = pt.Y;
if (pt.X < minX)
minX = pt.X;
if (pt.Y < minY)
minY = pt.Y;
if (pt.X > maxX)
maxX = pt.X;
if (pt.Y > maxY)
maxY = pt.Y;
}
}
@@ -30,7 +30,12 @@ public class LeadInLayerTagTests
[Fact]
public void LineArcLeadIn_SetsLeadinLayerOnAllMoves()
{
var leadIn = new LineArcLeadIn { LineLength = 0.5, ArcRadius = 0.25, ApproachAngle = 135 };
var leadIn = new LineArcLeadIn
{
LineLength = 0.5,
ArcRadius = 0.25,
ApproachAngle = 135,
};
var codes = leadIn.Generate(Point, Normal);
Assert.All(codes.OfType<LinearMove>(), m => Assert.Equal(LayerType.Leadin, m.Layer));
Assert.All(codes.OfType<ArcMove>(), m => Assert.Equal(LayerType.Leadin, m.Layer));
@@ -39,7 +44,12 @@ public class LeadInLayerTagTests
[Fact]
public void CleanHoleLeadIn_SetsLeadinLayerOnAllMoves()
{
var leadIn = new CleanHoleLeadIn { LineLength = 0.5, ArcRadius = 0.25, Kerf = 0.05 };
var leadIn = new CleanHoleLeadIn
{
LineLength = 0.5,
ArcRadius = 0.25,
Kerf = 0.05,
};
var codes = leadIn.Generate(Point, Normal);
Assert.All(codes.OfType<LinearMove>(), m => Assert.Equal(LayerType.Leadin, m.Layer));
Assert.All(codes.OfType<ArcMove>(), m => Assert.Equal(LayerType.Leadin, m.Layer));
@@ -48,7 +58,13 @@ public class LeadInLayerTagTests
[Fact]
public void LineLineLeadIn_SetsLeadinLayerOnAllMoves()
{
var leadIn = new LineLineLeadIn { Length1 = 0.5, Length2 = 0.3, ApproachAngle1 = 90, ApproachAngle2 = 90 };
var leadIn = new LineLineLeadIn
{
Length1 = 0.5,
Length2 = 0.3,
ApproachAngle1 = 90,
ApproachAngle2 = 90,
};
var codes = leadIn.Generate(Point, Normal);
Assert.All(codes.OfType<LinearMove>(), m => Assert.Equal(LayerType.Leadin, m.Layer));
}
@@ -25,7 +25,7 @@ public class PartLeadInTests
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
InternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 }
InternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 },
};
part.ApplyLeadIns(parameters, new Vector(-5, -5));
@@ -40,7 +40,7 @@ public class PartLeadInTests
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
InternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 }
InternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 },
};
part.ApplyLeadIns(parameters, new Vector(-5, -5));
@@ -54,12 +54,14 @@ public class PartLeadInTests
var part = MakeSquarePart();
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
part.ApplyLeadIns(parameters, new Vector(-5, -5));
var hasLeadin = part.Program.Codes.OfType<LinearMove>().Any(m => m.Layer == LayerType.Leadin);
var hasLeadin = part
.Program.Codes.OfType<LinearMove>()
.Any(m => m.Layer == LayerType.Leadin);
Assert.True(hasLeadin);
}
@@ -70,7 +72,7 @@ public class PartLeadInTests
var originalCodeCount = part.Program.Codes.Count;
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
part.ApplyLeadIns(parameters, new Vector(-5, -5));
@@ -90,7 +92,7 @@ public class PartLeadInTests
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
part.ApplyLeadIns(parameters, new Vector(-5, -5));
@@ -108,7 +110,7 @@ public class PartLeadInTests
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
part.ApplyLeadIns(parameters, new Vector(-5, -5));
@@ -131,7 +133,7 @@ public class PartLeadInTests
var part = MakeSquarePart();
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var entity = new Line(new Vector(10, 0), new Vector(0, 0));
@@ -146,13 +148,15 @@ public class PartLeadInTests
var part = MakeSquarePart();
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var entity = new Line(new Vector(10, 0), new Vector(0, 0));
part.ApplySingleLeadIn(parameters, new Vector(5, 0), entity, ContourType.External);
var hasLeadin = part.Program.Codes.OfType<LinearMove>().Any(m => m.Layer == LayerType.Leadin);
var hasLeadin = part
.Program.Codes.OfType<LinearMove>()
.Any(m => m.Layer == LayerType.Leadin);
Assert.True(hasLeadin);
}
@@ -163,7 +167,7 @@ public class PartLeadInTests
var originalCodeCount = part.Program.Codes.Count;
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
var entity = new Line(new Vector(10, 0), new Vector(0, 0));
@@ -183,7 +187,7 @@ public class PartLeadInTests
var parameters = new CuttingParameters
{
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 }
ExternalLeadIn = new LineLeadIn { Length = 0.5, ApproachAngle = 90 },
};
// After rotation, the edges change. Use a point on the rotated bottom edge.