Introduces a pluggable bend detection system in OpenNest.IO.Bending: - IBendDetector takes CadDocument directly to preserve MText/layer/linetype info - SolidWorksBendDetector finds lines on BEND layer with CENTER linetype and matches nearby MText notes - BendDetectorRegistry auto-registers SolidWorks detector and supports AutoDetect Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
753 B
C#
31 lines
753 B
C#
using OpenNest.Bending;
|
|
using OpenNest.IO.Bending;
|
|
|
|
namespace OpenNest.Tests.Bending;
|
|
|
|
public class SolidWorksBendDetectorTests
|
|
{
|
|
[Fact]
|
|
public void SolidWorksDetector_IsRegistered()
|
|
{
|
|
var detector = BendDetectorRegistry.GetByName("SolidWorks");
|
|
Assert.NotNull(detector);
|
|
Assert.Equal("SolidWorks", detector.Name);
|
|
}
|
|
|
|
[Fact]
|
|
public void Registry_ContainsSolidWorksDetector()
|
|
{
|
|
Assert.Contains(BendDetectorRegistry.Detectors,
|
|
d => d.Name == "SolidWorks");
|
|
}
|
|
|
|
[Fact]
|
|
public void AutoDetect_EmptyDocument_ReturnsEmptyList()
|
|
{
|
|
var doc = new ACadSharp.CadDocument();
|
|
var bends = BendDetectorRegistry.AutoDetect(doc);
|
|
Assert.Empty(bends);
|
|
}
|
|
}
|