feat: add EdgeStartSequencer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
31
OpenNest.Tests/Sequencing/EdgeStartSequencerTests.cs
Normal file
31
OpenNest.Tests/Sequencing/EdgeStartSequencerTests.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
using OpenNest.CNC;
|
||||
using OpenNest.Engine.Sequencing;
|
||||
using OpenNest.Geometry;
|
||||
using Xunit;
|
||||
|
||||
namespace OpenNest.Tests.Sequencing;
|
||||
|
||||
public class EdgeStartSequencerTests
|
||||
{
|
||||
private static Part MakePartAt(double x, double y) => TestHelpers.MakePartAt(x, y);
|
||||
|
||||
[Fact]
|
||||
public void SortsByDistanceFromNearestEdge()
|
||||
{
|
||||
var plate = new Plate(60, 120);
|
||||
var edgePart = MakePartAt(1, 1);
|
||||
var centerPart = MakePartAt(25, 55);
|
||||
var midPart = MakePartAt(10, 10);
|
||||
plate.Parts.Add(edgePart);
|
||||
plate.Parts.Add(centerPart);
|
||||
plate.Parts.Add(midPart);
|
||||
|
||||
var sequencer = new EdgeStartSequencer();
|
||||
var result = sequencer.Sequence(plate.Parts.ToList(), plate);
|
||||
|
||||
Assert.Same(edgePart, result[0].Part);
|
||||
Assert.Same(midPart, result[1].Part);
|
||||
Assert.Same(centerPart, result[2].Part);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user