public void ImportSketchFromDxf() { string path = Path.GetFullPath(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\Data\UITests\SourceData\ImportSketch.dxf")); TestDataGenerator.GenerateSketch(MainWindow); MainWindow.Ribbon.SelectGroup("Sketch"); MainWindow.Ribbon.ClickButton("SketchExchange"); var menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("ImportFromFile"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType("*.dxf"); fileDlg.Load(path); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); var dlg = new WindowAdaptor(MainWindow, "ExchangerSettings"); Assert.IsNotNull(dlg); dlg.ClickButton("Ok"); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); Assert.AreEqual(5, Pipe.GetValue <int>("$Sketch.Segments.Count")); }
public void ExportSketchToSvg() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "sketch.svg"); TestDataGenerator.GenerateSketch(MainWindow); // Do Export MainWindow.Ribbon.SelectGroup("Sketch"); MainWindow.Ribbon.ClickButton("SketchExchange"); var menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("ExportAllToFile"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType("*.svg"); fileDlg.Save(path, checkFile: false); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); var dlg = new WindowAdaptor(MainWindow, "ExchangerSettings"); Assert.IsNotNull(dlg); dlg.ClickButton("Ok"); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); FileDialogAdaptor.CheckFileExists(path); }
public void ConvertSegment() { MainWindow.Ribbon.SelectGroup("Model"); MainWindow.Ribbon.ClickButton("CreateSketch"); MainWindow.Ribbon.SelectGroup("Sketch"); MainWindow.Ribbon.ClickButton("ConvertSegment"); var menu = new ContextMenuAdaptor(MainWindow); Assert.IsFalse(menu.IsMenuItemEnabled("ConvertSegmentToBezier")); MainWindow.Ribbon.ClickButton("CreateLineSegment"); MainWindow.Viewport.ClickRelative(0.4, 0.5); MainWindow.Viewport.ClickRelative(0.6, 0.5); // Enabled? Then click! MainWindow.Ribbon.ClickButton("ConvertSegment"); menu = new ContextMenuAdaptor(MainWindow); Assert.IsTrue(menu.IsMenuItemEnabled("ConvertSegmentToBezier")); menu.ClickMenuItem("ConvertSegmentToBezier"); Assert.AreEqual(4, Pipe.GetValue <int>("$Sketch.Points.Count")); MainWindow.Ribbon.ClickButton("ConvertSegment"); menu = new ContextMenuAdaptor(MainWindow); Assert.IsFalse(menu.IsMenuItemEnabled("ConvertSegmentToBezier")); }
public void RubberbandMode() { MainWindow.Ribbon.SelectTab("Edit"); MainWindow.Ribbon.ClickButton("RubberbandMode"); var menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("RubberbandModeRectangle"); Assert.AreEqual("Rectangle", Pipe.GetValue("$Context.EditorState.RubberbandSelectionMode")); MainWindow.Ribbon.ClickButton("RubberbandMode"); menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("RubberbandModeFreehand"); Assert.AreEqual("Freehand", Pipe.GetValue("$Context.EditorState.RubberbandSelectionMode")); var boolState = Pipe.GetValue <bool>("$Context.EditorState.RubberbandIncludeTouched"); MainWindow.Ribbon.ClickButton("RubberbandMode"); menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("RubberbandIncludeTouched"); Assert.AreEqual(!boolState, Pipe.GetValue <bool>("$Context.EditorState.RubberbandIncludeTouched")); MainWindow.Ribbon.ClickButton("RubberbandMode"); menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("RubberbandIncludeTouched"); Assert.AreEqual(boolState, Pipe.GetValue <bool>("$Context.EditorState.RubberbandIncludeTouched")); }
public void EscapeClosesContextMenu() { MainWindow.Ribbon.SelectTab("Model"); MainWindow.Ribbon.ClickButton("CreateSphere"); Assume.That(MainWindow.Ribbon.IsButtonChecked("CreateSphere")); MainWindow.Viewport.ClickRelative(0.5, 0.5); MainWindow.Viewport.ClickRelative(0.4, 0.4, MouseButton.Right); Assert.IsTrue(ContextMenuAdaptor.IsContextMenuOpen(MainWindow, "ViewportContextMenu")); Pipe.TypeKey(VirtualKeyShort.ESCAPE); Thread.Sleep(1000); // Allow fadeout Assert.IsFalse(ContextMenuAdaptor.IsContextMenuOpen(MainWindow, "ViewportContextMenu")); Assert.That(MainWindow.Ribbon.IsButtonChecked("CreateSphere")); // Select button prior to ESC MainWindow.Viewport.ClickRelative(0.4, 0.4, MouseButton.Right); var menu = new ContextMenuAdaptor(MainWindow, "ViewportContextMenu"); menu.ClickButton("SnappingEnabled"); Pipe.TypeKey(VirtualKeyShort.ESCAPE); Thread.Sleep(1000); // Allow fadeout Assert.IsFalse(ContextMenuAdaptor.IsContextMenuOpen(MainWindow, "ViewportContextMenu")); Assert.That(MainWindow.Ribbon.IsButtonChecked("CreateSphere")); }
public void DynamicContextMenuItems() { TestDataGenerator.GenerateBox(MainWindow); MainWindow.Viewport.ClickRelative(0.4, 0.4, MouseButton.Right); Assert.IsTrue(ContextMenuAdaptor.IsContextMenuOpen(MainWindow, "ViewportContextMenu")); var menu = new ContextMenuAdaptor(MainWindow, "ViewportContextMenu"); menu.ClickMenuItem("Transform Entity"); MainWindow.Ribbon.SelectTab("Edit"); Assert.IsTrue(MainWindow.Ribbon.IsButtonChecked("TransformShape")); }
public void GridType() { MainWindow.Ribbon.SelectGroup("Edit"); MainWindow.Ribbon.OpenSplitButtonMenu("ShowGrid"); var menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("CircGrid"); Assert.AreEqual("Circular", Pipe.GetValue("$Context.WorkspaceController.Workspace.GridType")); MainWindow.Ribbon.OpenSplitButtonMenu("ShowGrid"); menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("RectGrid"); Assert.AreEqual("Rectangular", Pipe.GetValue("$Context.WorkspaceController.Workspace.GridType")); }
public void ScriptAddToMru() { MainWindow.Ribbon.SelectGroup("Toolbox"); MainWindow.Ribbon.ClickButton("RunScript"); var fileDlg = new FileDialogAdaptor(MainWindow); Assert.That(fileDlg.Title, Is.EqualTo("Open Script...")); fileDlg.Load(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\Data\UnitTests\SourceData\Scripts\CreateBoxBody.csx")); Assert.AreEqual(1, Pipe.GetValue <int>("$Context.Document.ChildCount")); MainWindow.Ribbon.OpenSplitButtonMenu("RunScript"); Assert.IsTrue(ContextMenuAdaptor.IsContextMenuOpen(MainWindow)); var context = new ContextMenuAdaptor(MainWindow); context.ClickMenuItem("CreateBoxBody"); Assert.AreEqual(2, Pipe.GetValue <int>("$Context.Document.ChildCount")); }
public void ImportSketchCancelFileDlg() { TestDataGenerator.GenerateSketch(MainWindow); MainWindow.Ribbon.SelectGroup("Sketch"); MainWindow.Ribbon.ClickButton("SketchExchange"); var menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("ImportFromFile"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.Cancel(); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); Assert.AreEqual(4, Pipe.GetValue <int>("$Sketch.Segments.Count")); }
public void CreateSketchOnFace() { TestDataGenerator.GenerateBox(MainWindow); MainWindow.Ribbon.SelectGroup("Model"); MainWindow.Ribbon.OpenSplitButtonMenu("CreateSketch"); var contextMenu = new ContextMenuAdaptor(MainWindow); contextMenu.ClickMenuItem("CreateSketchInteractive"); // Button lit Assert.IsTrue(MainWindow.Ribbon.IsButtonChecked("CreateSketch")); // CreateSketchTool running Assert.AreEqual("CreateSketchTool", Pipe.GetValue <string>("$Context.EditorState.ActiveTool")); // Select MainWindow.Viewport.ClickRelative(0.5, 0.5); // Button unlit MainWindow.Ribbon.SelectGroup("Model"); Assert.IsFalse(MainWindow.Ribbon.IsButtonChecked("CreateSketch")); // Body and shape created var bodyPanel = MainWindow.PropertyView.FindPanelByClass("BodyPropertyPanel"); Assert.NotNull(bodyPanel); Assert.AreEqual("Sketch_1", bodyPanel.GetValue <string>("BodyName")); // All panels shown var sketchPanel = MainWindow.PropertyView.FindPanelByClass("SketchPropertyPanel"); Assert.That(sketchPanel, Is.Not.Null); sketchPanel = MainWindow.PropertyView.FindPanelByClass("SketchPointsPropertyPanel"); Assert.That(sketchPanel, Is.Not.Null); sketchPanel = MainWindow.PropertyView.FindPanelByClass("SketchSegmentsPropertyPanel"); Assert.That(sketchPanel, Is.Not.Null); sketchPanel = MainWindow.PropertyView.FindPanelByClass("SketchConstraintsPropertyPanel"); Assert.That(sketchPanel, Is.Not.Null); // SketchEditTool running Assert.AreEqual("SketchEditorTool", Pipe.GetValue <string>("$Context.EditorState.ActiveTool")); }
public void SelectColorFromRibbon() { MainWindow.Ribbon.SelectGroup("Edit"); MainWindow.Ribbon.ClickButton("ActiveLayerVisual"); Assert.IsTrue(ContextMenuAdaptor.IsContextMenuOpen(MainWindow, "LayerVisualPanel")); var visualPanel = new ContextMenuAdaptor(MainWindow, "LayerVisualPanel"); visualPanel.ExpandComboBox("ColorPicker"); Assert.IsTrue(ContextMenuAdaptor.IsContextMenuOpen(MainWindow, "ColorPickerPopup")); var colorPicker = new ContextMenuAdaptor(MainWindow, "ColorPickerPopup"); var colors = colorPicker.GetListBoxItems("ColorList").ToList(); Assert.Less(10, colors.Count()); colorPicker.SelectListBoxItem("ColorList", 10); var color = new Color(colors[10].Split(',')[2]); var layerValue = Pipe.GetValue("$Context.Layers.ActiveLayer.Color"); Assert.AreEqual(color.ToString(), layerValue); }
public void ExportSketchCancelFileDlg() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "sketch.svg"); System.IO.File.Delete(path); TestDataGenerator.GenerateSketch(MainWindow); // Do Export MainWindow.Ribbon.SelectGroup("Sketch"); MainWindow.Ribbon.ClickButton("SketchExchange"); var menu = new ContextMenuAdaptor(MainWindow); menu.ClickMenuItem("ExportAllToFile"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.Cancel(); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); Assert.IsFalse(System.IO.File.Exists(path)); }
public void CreateSketchOnPlane() { // Start tool MainWindow.Ribbon.SelectTab("Model"); MainWindow.Ribbon.ClickButton("CreateDatumPlane"); // Select as WorkingPlane MainWindow.Viewport.ClickRelative(0.5, 0.5, MouseButton.Right, false); Assume.That(ContextMenuAdaptor.IsContextMenuOpen(MainWindow, "ViewportContextMenu")); var contextMenu = new ContextMenuAdaptor(MainWindow, "ViewportContextMenu"); contextMenu.ClickMenuItem("Set as Working Plane"); // Create sketch on new plane MainWindow.Ribbon.ClickButton("CreateSketch"); Assert.AreEqual("SketchEditorTool", Pipe.GetValue <string>("$Context.EditorState.ActiveTool")); // Exit sketch editor Pipe.TypeKey(VirtualKeyShort.ESCAPE); Assert.AreEqual("", Pipe.GetValue <string>("$Context.EditorState.ActiveTool")); // Let it crash MainWindow.Viewport.ClickRelative(0.5, 0.5, MouseButton.Right, false); }