bc0adaf830
- 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
22 lines
621 B
C#
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!));
|
|
}
|