Separate WinForms tests so main test suite runs on Linux
This commit is contained in:
@@ -1,67 +0,0 @@
|
||||
using ACadSharp;
|
||||
using ACadSharp.Entities;
|
||||
using ACadSharp.Tables;
|
||||
using CSMath;
|
||||
using OpenNest.Bending;
|
||||
using OpenNest.Controls;
|
||||
using OpenNest.IO.Bending;
|
||||
|
||||
namespace OpenNest.Tests.Bending;
|
||||
|
||||
public class CadBendNoteTests
|
||||
{
|
||||
[Fact]
|
||||
public void DetectedNote_HidesOnlyItsSourceText_AndReturnsWhenBendRemoved()
|
||||
{
|
||||
var doc = new CadDocument();
|
||||
doc.Entities.Add(
|
||||
new Line(new XYZ(0, 0, 0), new XYZ(10, 0, 0))
|
||||
{
|
||||
Layer = new Layer("BEND"),
|
||||
LineType = new LineType("CENTER"),
|
||||
}
|
||||
);
|
||||
var note = new MText
|
||||
{
|
||||
Value = "UP 90° R0.125",
|
||||
InsertPoint = new XYZ(5, 0.1, 0),
|
||||
Height = 0.2,
|
||||
};
|
||||
doc.Entities.Add(note);
|
||||
var unrelated = new MText
|
||||
{
|
||||
Value = note.Value,
|
||||
InsertPoint = new XYZ(50, 50, 0),
|
||||
Height = 0.2,
|
||||
};
|
||||
doc.Entities.Add(unrelated);
|
||||
|
||||
var bends = new SolidWorksBendDetector().DetectBends(doc);
|
||||
var bend = Assert.Single(bends);
|
||||
Assert.Equal(note.Handle, bend.SourceNoteHandle);
|
||||
var text = new CadText { SourceHandle = note.Handle, Value = note.Value };
|
||||
Assert.True(text.IsReplacedByBendNote(bends));
|
||||
Assert.False(
|
||||
new CadText
|
||||
{
|
||||
SourceHandle = unrelated.Handle,
|
||||
Value = note.Value,
|
||||
}.IsReplacedByBendNote(bends)
|
||||
);
|
||||
|
||||
bends.Clear();
|
||||
Assert.False(text.IsReplacedByBendNote(bends));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void MissingSourceOrReplacement_DoesNotHideText()
|
||||
{
|
||||
var text = new CadText { SourceHandle = 42, Value = "UP 90° R0.125" };
|
||||
Assert.False(text.IsReplacedByBendNote(null));
|
||||
Assert.False(text.IsReplacedByBendNote(new[] { new Bend { NoteText = text.Value } }));
|
||||
Assert.False(text.IsReplacedByBendNote(new[] { new Bend { SourceNoteHandle = 42 } }));
|
||||
Assert.False(
|
||||
new CadText().IsReplacedByBendNote(new[] { new Bend { NoteText = text.Value } })
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using OpenNest.CNC.CuttingStrategy;
|
||||
using OpenNest.Forms;
|
||||
|
||||
namespace OpenNest.Tests.CuttingStrategy;
|
||||
|
||||
public class CuttingParametersSerializerTests
|
||||
{
|
||||
[Fact]
|
||||
public void RoundTrip_PreservesAutoTabFields()
|
||||
{
|
||||
var original = new CuttingParameters
|
||||
{
|
||||
AutoTabMinSize = 0.5,
|
||||
AutoTabMaxSize = 3.0,
|
||||
ExternalLeadIn = new LineLeadIn { Length = 0.25, ApproachAngle = 90 },
|
||||
};
|
||||
|
||||
var json = CuttingParametersSerializer.Serialize(original);
|
||||
var restored = CuttingParametersSerializer.Deserialize(json);
|
||||
|
||||
Assert.Equal(0.5, restored.AutoTabMinSize);
|
||||
Assert.Equal(3.0, restored.AutoTabMaxSize);
|
||||
}
|
||||
|
||||
[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 restored = CuttingParametersSerializer.Deserialize(json);
|
||||
|
||||
Assert.Equal(0.0, restored.AutoTabMinSize);
|
||||
Assert.Equal(0.0, restored.AutoTabMaxSize);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
<ProjectReference Include="..\OpenNest.IO\OpenNest.IO.csproj" />
|
||||
<ProjectReference Include="..\OpenNest.Posts.Cincinnati\OpenNest.Posts.Cincinnati.csproj" />
|
||||
<ProjectReference Include="..\OpenNest.Posts.GravographIS\OpenNest.Posts.GravographIS.csproj" />
|
||||
<ProjectReference Include="..\OpenNest\OpenNest.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user