This commit is contained in:
2026-05-06 10:22:34 +02:00
parent fc73ff47ff
commit 26a7b6b6da
945 changed files with 3606 additions and 4887 deletions

View File

@@ -0,0 +1,60 @@
using TraceCad.Core.Commands;
using TraceCad.Core.Geometry;
using TraceCad.Core.Model;
using Xunit;
namespace TraceCad.Tests;
public sealed class TransformTests
{
[Fact]
public void RotateDocumentRotatesEntitiesAndReference()
{
var document = SketchDocument.CreateDefault();
document.AddEntity(new LineEntity(
Guid.NewGuid(),
Layer.Cut.Name,
new Point2(1, 0),
new Point2(1, 1)));
document.Reference = new ReferenceImage(
"reference.png",
0.5,
true,
new ReferenceTransform(1, 0, 0.125, 0.125, 0));
var command = new RotateDocumentCommand(90, Point2.Origin);
command.Apply(document);
var line = Assert.IsType<LineEntity>(document.Entities[0]);
Assert.Equal(0.0, line.Start.X, 9);
Assert.Equal(1.0, line.Start.Y, 9);
Assert.Equal(-1.0, line.End.X, 9);
Assert.Equal(1.0, line.End.Y, 9);
Assert.NotNull(document.Reference);
Assert.Equal(0.0, document.Reference.Transform.OriginX, 9);
Assert.Equal(1.0, document.Reference.Transform.OriginY, 9);
Assert.Equal(90.0, document.Reference.Transform.RotationDeg, 9);
}
[Fact]
public void RotateDocumentReverts()
{
var document = SketchDocument.CreateDefault();
var line = new LineEntity(
Guid.NewGuid(),
Layer.Cut.Name,
new Point2(1, 0),
new Point2(1, 1));
document.AddEntity(line);
var command = new RotateDocumentCommand(37, new Point2(5, 5));
command.Apply(document);
command.Revert(document);
var reverted = Assert.IsType<LineEntity>(document.Entities[0]);
Assert.Equal(line.Start.X, reverted.Start.X, 9);
Assert.Equal(line.Start.Y, reverted.Start.Y, 9);
Assert.Equal(line.End.X, reverted.End.X, 9);
Assert.Equal(line.End.Y, reverted.End.Y, 9);
}
}