public void SplitPeriodicSegment() { var ctx = Context.Current; var sketch = TestSketchGenerator.CreateSketch(TestSketchGenerator.SketchType.Circle); var body = TestGeomGenerator.CreateBody(sketch); ctx.ViewportController.ZoomFitAll(); var tool = new SketchEditorTool(sketch); ctx.WorkspaceController.StartTool(tool); Assert.Multiple(() => { // Select Segment ctx.ClickAt(140, 90); // Start split tool var splitTool = new SplitElementSketchTool(); tool.StartTool(splitTool); ctx.MoveTo(184, 103); AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPeriodicSegment01"), 1.0); ctx.ClickAt(184, 103); // Cleanup tool.StopTool(); AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPeriodicSegment02"), 1.0); }); tool.Stop(); }
public void SplitSegmentUndo() { var ctx = Context.Current; var sketch = TestSketchGenerator.CreateSketch(TestSketchGenerator.SketchType.Rectangle); var body = TestGeomGenerator.CreateBody(sketch); ctx.ViewportController.ZoomFitAll(); Assert.IsFalse(ctx.UndoHandler.CanUndo); Assert.IsFalse(ctx.UndoHandler.CanRedo); var tool = new SketchEditorTool(sketch); ctx.WorkspaceController.StartTool(tool); Assert.Multiple(() => { // Select Segment ctx.ClickAt(140, 90); // Start split tool var splitTool = new SplitElementSketchTool(); tool.StartTool(splitTool); // Split ctx.ClickAt(150, 88); Assert.AreEqual(5, tool.Sketch.Segments.Count); Assert.IsTrue(ctx.UndoHandler.CanUndo); Assert.IsFalse(ctx.UndoHandler.CanRedo); // Undo ctx.UndoHandler.DoUndo(1); Assert.AreEqual(4, tool.Sketch.Segments.Count); Assert.IsFalse(ctx.UndoHandler.CanUndo); Assert.IsTrue(ctx.UndoHandler.CanRedo); // Redo ctx.UndoHandler.DoRedo(1); Assert.AreEqual(5, tool.Sketch.Segments.Count); Assert.IsTrue(ctx.UndoHandler.CanUndo); Assert.IsFalse(ctx.UndoHandler.CanRedo); // Cleanup tool.StopTool(); }); tool.Stop(); }
public void SplitPoint() { var ctx = Context.Current; var sketch = TestGeomGenerator.CreateSketch(TestGeomGenerator.SketchType.Rectangle); var body = TestGeomGenerator.CreateBody(sketch); ctx.ViewportController.ZoomFitAll(); var tool = new SketchEditorTool(sketch); ctx.WorkspaceController.StartTool(tool); Assert.Multiple(() => { // Select Segment ctx.ClickAt(140, 90); // Start split tool var splitTool = new SplitElementSketchTool(); tool.StartTool(splitTool); ctx.MoveTo(88, 88); AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPoint01")); ctx.ClickAt(88, 88); // Cleanup tool.StopTool(); AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPoint02")); // Move ctx.ClickAt(88, 88); ctx.MoveTo(95, 80); ctx.ViewportController.MouseDown(); ctx.MoveTo(150, 40); ctx.ViewportController.MouseUp(false); AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPoint03")); }); tool.Stop(); }