chore(cad-importer): remove dead code and cover named detector branch
- Drop CadImportResult.Document: no caller reads it after the migrations (BendDetectorRegistry runs inside CadImporter.Import itself, and downstream callers only consume the entity/bend data). - Drop dead CadConverterForm.GetNextColor() helper: zero callers since GetDrawings stopped needing it. - Drop stale 'using OpenNest.Properties;' and unused 'newItems' local in OnSplitClicked. - Add Import_WhenNamedDetectorDoesNotExist_ReturnsEmptyBends to cover the previously untested named-detector branch in CadImporter.Import. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using ACadSharp;
|
|
||||||
using OpenNest.Bending;
|
using OpenNest.Bending;
|
||||||
using OpenNest.Geometry;
|
using OpenNest.Geometry;
|
||||||
|
|
||||||
@@ -30,12 +29,6 @@ namespace OpenNest.IO
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Box Bounds { get; set; }
|
public Box Bounds { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Underlying CAD document for callers that need to run additional
|
|
||||||
/// analysis (e.g., MText extraction). May be null for stream imports.
|
|
||||||
/// </summary>
|
|
||||||
public CadDocument Document { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Absolute path to the source file.
|
/// Absolute path to the source file.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ namespace OpenNest.IO
|
|||||||
Entities = dxf.Entities,
|
Entities = dxf.Entities,
|
||||||
Bends = bends,
|
Bends = bends,
|
||||||
Bounds = dxf.Entities.GetBoundingBox(),
|
Bounds = dxf.Entities.GetBoundingBox(),
|
||||||
Document = dxf.Document,
|
|
||||||
SourcePath = path,
|
SourcePath = path,
|
||||||
Name = options.Name ?? Path.GetFileNameWithoutExtension(path),
|
Name = options.Name ?? Path.GetFileNameWithoutExtension(path),
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -39,6 +39,18 @@ namespace OpenNest.Tests.IO
|
|||||||
Assert.Equal("custom", result.Name);
|
Assert.Equal("custom", result.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Import_WhenNamedDetectorDoesNotExist_ReturnsEmptyBends()
|
||||||
|
{
|
||||||
|
// Exercises the named-detector branch: when BendDetectorName doesn't
|
||||||
|
// match any registered detector, bends should be an empty list
|
||||||
|
// (not a crash, and no fall-through to auto-detect).
|
||||||
|
var result = CadImporter.Import(TestDxf,
|
||||||
|
new CadImportOptions { BendDetectorName = "__nonexistent__" });
|
||||||
|
|
||||||
|
Assert.Empty(result.Bends);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void BuildDrawing_ProducesDrawingWithProgramAndMetadata()
|
public void BuildDrawing_ProducesDrawingWithProgramAndMetadata()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ using OpenNest.Converters;
|
|||||||
using OpenNest.Geometry;
|
using OpenNest.Geometry;
|
||||||
using OpenNest.IO;
|
using OpenNest.IO;
|
||||||
using OpenNest.IO.Bending;
|
using OpenNest.IO.Bending;
|
||||||
using OpenNest.Properties;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
@@ -356,7 +355,6 @@ namespace OpenNest.Forms
|
|||||||
: Path.GetTempPath();
|
: Path.GetTempPath();
|
||||||
|
|
||||||
var index = fileList.SelectedIndex;
|
var index = fileList.SelectedIndex;
|
||||||
var newItems = new List<string>();
|
|
||||||
|
|
||||||
var splitWriter = new SplitDxfWriter();
|
var splitWriter = new SplitDxfWriter();
|
||||||
var splitItems = new List<FileListItem>();
|
var splitItems = new List<FileListItem>();
|
||||||
@@ -369,7 +367,6 @@ namespace OpenNest.Forms
|
|||||||
var splitPath = GetUniquePath(Path.Combine(writableDir, splitName));
|
var splitPath = GetUniquePath(Path.Combine(writableDir, splitName));
|
||||||
|
|
||||||
splitWriter.Write(splitPath, splitDrawing);
|
splitWriter.Write(splitPath, splitDrawing);
|
||||||
newItems.Add(splitPath);
|
|
||||||
|
|
||||||
// Re-import geometry but keep bends from the split drawing
|
// Re-import geometry but keep bends from the split drawing
|
||||||
var result = Dxf.Import(splitPath);
|
var result = Dxf.Import(splitPath);
|
||||||
@@ -750,9 +747,6 @@ namespace OpenNest.Forms
|
|||||||
item.SuppressedEntityIds = null;
|
item.SuppressedEntityIds = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static Color GetNextColor() => Drawing.GetNextColor();
|
|
||||||
|
|
||||||
private static bool IsDirectoryWritable(string path)
|
private static bool IsDirectoryWritable(string path)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|||||||
Reference in New Issue
Block a user