Files
mikhail bc0adaf830 feat: линейный массив (linear_pattern) — ksMeshCopyDefinition o3d_meshCopy
- CoordinateAxis enum + CoordinateAxes.ToObj3dType/Parse (X/Y/Z → o3d_axisO*)
- SketchGeometry.RequireMin; PartModeler.RequireFeature (источник по id из _features)
- LinearPatternAsync: SetAxis1 + SetCopyParamAlongAxis(true,0,count,step,false), count2=1
- инструмент linear_pattern; unit-тесты (RequireMin, Parse), интеграционный тест (3 экз. ±5%)
- эмпирически: count включает исходный, step мм между соседними, count2=1 выключает 2D
2026-05-27 00:07:03 +03:00

22 lines
621 B
C#

using Kompas.Mcp.Core.Modeling;
namespace Kompas.Mcp.Tests;
[Trait("Category", "Unit")]
public sealed class CoordinateAxisTests
{
[Theory]
[InlineData("X", CoordinateAxis.X)]
[InlineData("y", CoordinateAxis.Y)]
[InlineData(" Z ", CoordinateAxis.Z)]
public void Parse_maps_known(string value, CoordinateAxis expected)
=> Assert.Equal(expected, CoordinateAxes.Parse(value));
[Theory]
[InlineData("W")]
[InlineData("")]
[InlineData(null)]
public void Parse_throws_on_unknown(string? value)
=> Assert.Throws<ArgumentException>(() => CoordinateAxes.Parse(value!));
}