Esempio n. 1
0
        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"));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public void SetUp()
 {
     Context.InitWithDefault();
     TestClipboard.Init();
 }