public void CopyToAndPasteFromClipboard() { var ctx = Context.Current; var clipboard = TestClipboard.Init(); 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.IsFalse(ctx.WorkspaceController.CanCopyToClipboard()); // Select ctx.SelectAt(254, 88); ctx.SelectAt(411, 236, true); ctx.SelectAt(387, 115, true); Assume.That(tool.SelectedSegments.Count, Is.EqualTo(2)); // Do it Assert.IsTrue(ctx.WorkspaceController.CanCopyToClipboard()); ctx.WorkspaceController.CopyToClipboard(); Assert.That(clipboard.ContainsData("Macad.SketchContent.1")); ctx.WorkspaceController.PasteFromClipboard(); Assert.AreEqual(7, sketch.Points.Count); Assert.AreEqual(6, sketch.Segments.Count); Assert.AreEqual(5, sketch.Constraints.Count); Assert.AreEqual(3, tool.SelectedPoints.Count); Assert.AreEqual(2, tool.SelectedSegments.Count); Assert.That(tool.SelectedPoints.SequenceEqual(new[] { 4, 5, 6 })); Assert.That(tool.SelectedSegmentIndices.SequenceEqual(new[] { 4, 5 })); AssertHelper.IsSameViewport(Path.Combine(_BasePath, "DuplicateElements01")); // Try move ctx.MoveTo(328, 170); ctx.ViewportController.MouseDown(); ctx.MoveTo(350, 150); ctx.ViewportController.MouseUp(false); AssertHelper.IsSameViewport(Path.Combine(_BasePath, "DuplicateElements02")); }
public void PastedImmediatelyVisible() { TestClipboard.Init(); // Bugcheck: This tests that after duplicating a body, the doublette is // visible without any other action. var ctx = Context.Current; var body = TestGeomGenerator.CreateBox().Body; ctx.Document.AddChild(body); ctx.WorkspaceController.Selection.SelectEntity(body); ctx.WorkspaceController.CopyToClipboard(); ctx.WorkspaceController.PasteFromClipboard(); Assume.That(ctx.Document.ChildCount == 2); // Deselect and hide original ctx.WorkspaceController.Selection.SelectEntity(null); body.IsVisible = false; ctx.ViewportController.ZoomFitAll(); AssertHelper.IsSameViewport(Path.Combine(_BasePath, "DuplicatedImmediatelyVisible")); }
public void CutToAndPasteFromClipboard() { var ctx = Context.Current; var clipboard = TestClipboard.Init(); 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.IsFalse(ctx.WorkspaceController.CanCopyToClipboard()); Assert.IsFalse(ctx.WorkspaceController.CanDelete()); // Select ctx.SelectAt(254, 88); ctx.SelectAt(411, 236, true); ctx.SelectAt(387, 115, true); Assume.That(tool.SelectedSegments.Count, Is.EqualTo(2)); // Do it Assert.IsTrue(ctx.WorkspaceController.CanCopyToClipboard()); Assert.IsTrue(ctx.WorkspaceController.CanDelete()); ctx.WorkspaceController.CopyToClipboard(); ctx.WorkspaceController.Delete(); Assert.That(clipboard.ContainsData("Macad.SketchContent.1")); ctx.WorkspaceController.PasteFromClipboard(); Assert.AreEqual(6, sketch.Points.Count); Assert.AreEqual(4, sketch.Segments.Count); Assert.AreEqual(2, sketch.Constraints.Count); Assert.AreEqual(3, tool.SelectedPoints.Count); Assert.AreEqual(2, tool.SelectedSegments.Count); }
public void SetUp() { Context.InitWithDefault(); TestClipboard.Init(); }