refactor: organize test project into subdirectories by feature area
Move 43 root-level test files into feature-specific subdirectories mirroring the main codebase structure: Geometry, Fill, BestFit, CutOffs, CuttingStrategy, Engine, IO. Update namespaces to match folder paths. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@ using OpenNest.CNC;
|
||||
using OpenNest.Engine.BestFit;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.BestFit;
|
||||
|
||||
public class NfpBestFitIntegrationTests
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using OpenNest.Engine.BestFit;
|
||||
using OpenNest.Geometry;
|
||||
using OpenNest.Math;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.BestFit;
|
||||
|
||||
public class NfpSlideStrategyTests
|
||||
{
|
||||
@@ -3,7 +3,7 @@ using System.Linq;
|
||||
using OpenNest.CNC;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.CutOffs;
|
||||
|
||||
public class CutOffGeometryTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.CNC;
|
||||
using OpenNest.Geometry;
|
||||
using OpenNest.IO;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.CutOffs;
|
||||
|
||||
public class CutOffSerializationTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using System.Linq;
|
||||
using OpenNest.CNC;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.CutOffs;
|
||||
|
||||
public class CutOffTests
|
||||
{
|
||||
@@ -26,11 +26,11 @@ public class CutOffTests
|
||||
public void Plate_Utilization_ExcludesCutOffParts()
|
||||
{
|
||||
var pgm = new Program();
|
||||
pgm.Codes.Add(new RapidMove(new Geometry.Vector(0, 0)));
|
||||
pgm.Codes.Add(new LinearMove(new Geometry.Vector(10, 0)));
|
||||
pgm.Codes.Add(new LinearMove(new Geometry.Vector(10, 10)));
|
||||
pgm.Codes.Add(new LinearMove(new Geometry.Vector(0, 10)));
|
||||
pgm.Codes.Add(new LinearMove(new Geometry.Vector(0, 0)));
|
||||
pgm.Codes.Add(new RapidMove(new Vector(0, 0)));
|
||||
pgm.Codes.Add(new LinearMove(new Vector(10, 0)));
|
||||
pgm.Codes.Add(new LinearMove(new Vector(10, 10)));
|
||||
pgm.Codes.Add(new LinearMove(new Vector(0, 10)));
|
||||
pgm.Codes.Add(new LinearMove(new Vector(0, 0)));
|
||||
var realDrawing = new Drawing("real", pgm);
|
||||
var cutoffDrawing = new Drawing("cutoff", new Program()) { IsCutOff = true };
|
||||
|
||||
@@ -47,11 +47,11 @@ public class CutOffTests
|
||||
public void Plate_HasOverlappingParts_SkipsCutOffParts()
|
||||
{
|
||||
var pgm = new Program();
|
||||
pgm.Codes.Add(new RapidMove(new Geometry.Vector(0, 0)));
|
||||
pgm.Codes.Add(new LinearMove(new Geometry.Vector(10, 0)));
|
||||
pgm.Codes.Add(new LinearMove(new Geometry.Vector(10, 10)));
|
||||
pgm.Codes.Add(new LinearMove(new Geometry.Vector(0, 10)));
|
||||
pgm.Codes.Add(new LinearMove(new Geometry.Vector(0, 0)));
|
||||
pgm.Codes.Add(new RapidMove(new Vector(0, 0)));
|
||||
pgm.Codes.Add(new LinearMove(new Vector(10, 0)));
|
||||
pgm.Codes.Add(new LinearMove(new Vector(10, 10)));
|
||||
pgm.Codes.Add(new LinearMove(new Vector(0, 10)));
|
||||
pgm.Codes.Add(new LinearMove(new Vector(0, 0)));
|
||||
|
||||
var realDrawing = new Drawing("real", pgm);
|
||||
var cutoffDrawing = new Drawing("cutoff", pgm) { IsCutOff = true };
|
||||
@@ -220,7 +220,7 @@ public class CutOffTests
|
||||
public void Plate_RegenerateCutOffs_MaterializesParts()
|
||||
{
|
||||
var plate = new Plate(100, 50);
|
||||
var cutoff = new CutOff(new Geometry.Vector(25, 10), CutOffAxis.Vertical);
|
||||
var cutoff = new CutOff(new Vector(25, 10), CutOffAxis.Vertical);
|
||||
plate.CutOffs.Add(cutoff);
|
||||
|
||||
plate.RegenerateCutOffs(new CutOffSettings());
|
||||
@@ -233,7 +233,7 @@ public class CutOffTests
|
||||
public void Plate_RegenerateCutOffs_ReplacesOldParts()
|
||||
{
|
||||
var plate = new Plate(100, 50);
|
||||
var cutoff = new CutOff(new Geometry.Vector(25, 10), CutOffAxis.Vertical);
|
||||
var cutoff = new CutOff(new Vector(25, 10), CutOffAxis.Vertical);
|
||||
plate.CutOffs.Add(cutoff);
|
||||
|
||||
var settings = new CutOffSettings();
|
||||
@@ -247,14 +247,14 @@ public class CutOffTests
|
||||
public void Plate_RegenerateCutOffs_DoesNotAffectRegularParts()
|
||||
{
|
||||
var pgm = new OpenNest.CNC.Program();
|
||||
pgm.Codes.Add(new OpenNest.CNC.RapidMove(new Geometry.Vector(0, 0)));
|
||||
pgm.Codes.Add(new OpenNest.CNC.LinearMove(new Geometry.Vector(5, 5)));
|
||||
pgm.Codes.Add(new OpenNest.CNC.RapidMove(new Vector(0, 0)));
|
||||
pgm.Codes.Add(new OpenNest.CNC.LinearMove(new Vector(5, 5)));
|
||||
var drawing = new Drawing("real", pgm);
|
||||
|
||||
var plate = new Plate(100, 50);
|
||||
plate.Parts.Add(new Part(drawing));
|
||||
|
||||
var cutoff = new CutOff(new Geometry.Vector(25, 10), CutOffAxis.Vertical);
|
||||
var cutoff = new CutOff(new Vector(25, 10), CutOffAxis.Vertical);
|
||||
plate.CutOffs.Add(cutoff);
|
||||
|
||||
plate.RegenerateCutOffs(new CutOffSettings());
|
||||
@@ -2,7 +2,7 @@ using OpenNest.CNC;
|
||||
using OpenNest.CNC.CuttingStrategy;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.CuttingStrategy;
|
||||
|
||||
public class CuttingResultTests
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using OpenNest.Engine;
|
||||
using OpenNest.Engine.Sequencing;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.CuttingStrategy;
|
||||
|
||||
public class LeadInAssignerTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.CNC;
|
||||
using OpenNest.CNC.CuttingStrategy;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.CuttingStrategy;
|
||||
|
||||
public class LeadInLayerTagTests
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using OpenNest.CNC;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.CuttingStrategy;
|
||||
|
||||
public class MotionSuppressedTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.CNC;
|
||||
using OpenNest.CNC.CuttingStrategy;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.CuttingStrategy;
|
||||
|
||||
public class PartLeadInTests
|
||||
{
|
||||
@@ -3,7 +3,7 @@ using OpenNest.Geometry;
|
||||
using OpenNest.IO;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Engine;
|
||||
|
||||
public class EngineOverlapTests
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Engine;
|
||||
|
||||
public class EngineRefactorSmokeTests
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Engine;
|
||||
|
||||
public class NestPhaseExtensionsTests
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Engine;
|
||||
|
||||
public class NestProgressTests
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using OpenNest.Geometry;
|
||||
using OpenNest.Math;
|
||||
using OpenNest.Shapes;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Engine;
|
||||
|
||||
public class PartClassifierTests
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using OpenNest.CNC;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Engine;
|
||||
|
||||
public class PartFlagTests
|
||||
{
|
||||
@@ -3,7 +3,7 @@ using OpenNest.Engine;
|
||||
using OpenNest.Engine.RapidPlanning;
|
||||
using OpenNest.Engine.Sequencing;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Engine;
|
||||
|
||||
public class PlateProcessorTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.Engine;
|
||||
using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Engine;
|
||||
|
||||
public class RemnantEngineTests
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using OpenNest.Engine.Fill;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class AccumulatingProgressTests
|
||||
{
|
||||
@@ -3,7 +3,7 @@ using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
using OpenNest.Math;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class AngleCandidateBuilderTests
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class BestCombinationTests
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using OpenNest.Geometry;
|
||||
using Xunit;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace OpenNest.Tests
|
||||
namespace OpenNest.Tests.Fill
|
||||
{
|
||||
public class CompactorTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.Engine;
|
||||
using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class DefaultFillComparerTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.CNC;
|
||||
using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class FillExtentsTests
|
||||
{
|
||||
@@ -3,7 +3,7 @@ using OpenNest.Engine.Fill;
|
||||
using OpenNest.Engine.Strategies;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class FillWithDirectionPreferenceTests
|
||||
{
|
||||
@@ -1,6 +1,7 @@
|
||||
using OpenNest.Geometry;
|
||||
using OpenNest.Engine.Fill;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class FillScoreTests
|
||||
{
|
||||
@@ -48,7 +49,7 @@ public class FillScoreTests
|
||||
[Fact]
|
||||
public void Compute_NullParts_ReturnsDefault()
|
||||
{
|
||||
var score = FillScore.Compute(null, new Geometry.Box(0, 0, 100, 100));
|
||||
var score = FillScore.Compute(null, new Box(0, 0, 100, 100));
|
||||
|
||||
Assert.Equal(0, score.Count);
|
||||
}
|
||||
@@ -56,7 +57,7 @@ public class FillScoreTests
|
||||
[Fact]
|
||||
public void Compute_EmptyParts_ReturnsDefault()
|
||||
{
|
||||
var score = FillScore.Compute(new System.Collections.Generic.List<Part>(), new Geometry.Box(0, 0, 100, 100));
|
||||
var score = FillScore.Compute(new System.Collections.Generic.List<Part>(), new Box(0, 0, 100, 100));
|
||||
|
||||
Assert.Equal(0, score.Count);
|
||||
}
|
||||
@@ -70,7 +71,7 @@ public class FillScoreTests
|
||||
TestHelpers.MakePartAt(20, 0, 10),
|
||||
TestHelpers.MakePartAt(40, 0, 10)
|
||||
};
|
||||
var score = FillScore.Compute(parts, new Geometry.Box(0, 0, 100, 100));
|
||||
var score = FillScore.Compute(parts, new Box(0, 0, 100, 100));
|
||||
|
||||
Assert.Equal(3, score.Count);
|
||||
Assert.True(score.Density > 0);
|
||||
@@ -1,7 +1,7 @@
|
||||
using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class IterativeShrinkFillerTests
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class PairFillerTests
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using OpenNest.Geometry;
|
||||
using OpenNest.Math;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class PairOverlapDiagnosticTests
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class PatternTilerTests
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class RemnantFillerTests2
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
using OpenNest.IO;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class RemnantFinderTests
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using OpenNest.Engine.Fill;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Fill;
|
||||
|
||||
public class ShrinkFillerTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.Geometry;
|
||||
using OpenNest.Math;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Geometry;
|
||||
|
||||
public class CollisionTests
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using OpenNest.Converters;
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Geometry;
|
||||
|
||||
public class ContourClassificationTests
|
||||
{
|
||||
@@ -3,7 +3,7 @@ using OpenNest.Math;
|
||||
using Xunit;
|
||||
using System.Linq;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Geometry;
|
||||
|
||||
public class EllipseConverterTests
|
||||
{
|
||||
@@ -4,7 +4,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using Xunit;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Geometry;
|
||||
|
||||
public class GeometrySimplifierTests
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using OpenNest.Geometry;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Geometry;
|
||||
|
||||
public class PolyLabelTests
|
||||
{
|
||||
@@ -3,7 +3,7 @@ using OpenNest.Engine.BestFit;
|
||||
using OpenNest.Geometry;
|
||||
using OpenNest.Math;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Geometry;
|
||||
|
||||
public class PolygonHelperTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.Geometry;
|
||||
using OpenNest.Math;
|
||||
using Xunit;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Geometry;
|
||||
|
||||
public class SplineConverterTests
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using OpenNest.Converters;
|
||||
using OpenNest.Geometry;
|
||||
using OpenNest.IO;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.IO;
|
||||
|
||||
public class DxfRoundtripTests
|
||||
{
|
||||
@@ -3,7 +3,7 @@ using OpenNest.Geometry;
|
||||
using OpenNest.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.IO;
|
||||
|
||||
public class NestBendSerializationTests
|
||||
{
|
||||
@@ -6,7 +6,7 @@ using OpenNest.Geometry;
|
||||
using OpenNest.IO;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace OpenNest.Tests;
|
||||
namespace OpenNest.Tests.Strategies;
|
||||
|
||||
public class StrategyOverlapTests
|
||||
{
|
||||
Reference in New Issue
Block a user