public void ExportWithInvalidExtension() { var typoPath = Path.Combine(FileDialogAdaptor.GetTempPath(), "testexport.invalid"); var path = typoPath + ".stl"; File.Delete(path); TestDataGenerator.GenerateBox(MainWindow); MainWindow.Ribbon.ClickFileMenuItem("Exchange", "ExportSelectedBrep"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType(".stl"); fileDlg.Save(typoPath, 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); // Validate this is a STL file using var reader = File.OpenText(path); Assert.That(reader.ReadLine()?.StartsWith("solid ") ?? false); }
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 ExportCancelSettings() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "pipe.svg"); TestDataGenerator.GenerateSketch(MainWindow); MainWindow.Ribbon.ClickButton("CloseSketchEditor"); MainWindow.Ribbon.SelectTab("Model"); Assume.That(MainWindow.Ribbon.IsButtonEnabled("CreatePipe")); MainWindow.Ribbon.ClickButton("CreatePipe"); MainWindow.Ribbon.SelectTab("Toolbox"); Assert.IsTrue(MainWindow.Ribbon.IsButtonEnabled("ExportPipeDrawing")); MainWindow.Ribbon.ClickButton("ExportPipeDrawing"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType("*.svg"); fileDlg.Save(path, checkFile: false); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExportViewportHlr")); var dlg = new WindowAdaptor(MainWindow, "ExchangerSettings"); dlg.ClickButton("Cancel"); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); Assert.IsFalse(System.IO.File.Exists(path)); }
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 ImportSolidCancelFileDlg() { string path = Path.GetFullPath(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\Data\UITests\SourceData\ImportMesh.obj")); MainWindow.Ribbon.ClickFileMenuItem("ImportFileToModel"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.Cancel(); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); Assert.That(Pipe.GetValue <int>("$Context.Document.ChildCount") == 0); }
public void OpenSampleModel() { WelcomeDialog.ClickButton("OpenSampleButton"); string path = "WoodpeckerCase.model"; FileDialogAdaptor.DoLoadModel(WelcomeDialog, path); Wait.UntilResponsive(WelcomeDialog.Window); Wait.UntilResponsive(MainWindow.Window); Assert.IsFalse(WelcomeDialog.IsEnabled); Assert.Greater(MainWindow.Document.GetBodyItems().Count(), 0); }
public void ImportSolidStl() { string path = Path.GetFullPath(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\Data\UITests\SourceData\ImportMesh.stl")); MainWindow.Ribbon.ClickFileMenuItem("Exchange", "ImportFileToModel"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType(".stl"); fileDlg.Load(path); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); Assert.That(Pipe.GetValue <int>("$Context.Document.EntityCount") > 0); }
public void CloseApplicationSaveChanges() { TestDataGenerator.GenerateBox(MainWindow); MainWindow.ClickCloseButton(); // Save model? var dlg = new TaskDialogAdaptor(MainWindow); Assert.That(dlg.Title, Is.EqualTo("Unsaved Changes")); dlg.ClickButton(TaskDialogAdaptor.Button.Yes); FileDialogAdaptor.DoSaveModel(MainWindow); Assert.That(() => App.Application.HasExited, Is.True.After(10).Seconds.PollEvery(100)); }
public void ExportHlrCancelFileDlg() { // Cancel FileDlg MainWindow.Ribbon.SelectGroup("Toolbox"); MainWindow.Ribbon.ClickButton("ExportViewHlr"); var dlg = new WindowAdaptor(MainWindow, "ExportViewportHlr"); dlg.ClickButton("Ok"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.ClickButton(FileDialogAdaptor.Button.Cancel); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExportViewportHlr")); }
public void ModelSaveAsWithDifferentExtension() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "testexport.stl"); TestDataGenerator.GenerateBox(MainWindow); MainWindow.Ribbon.ClickFileMenuItem("SaveModelAs"); var pathname = FileDialogAdaptor.DoSaveModel(MainWindow, Path.GetFileName(path), false); FileDialogAdaptor.CheckFileExists(path + ".model"); // Validate this is a model file using var reader = File.OpenText(path + ".model"); Assert.That(reader.ReadLine()?.StartsWith("PK") ?? false); }
public void ModelSaveAs() { TestDataGenerator.GenerateBox(MainWindow); // Save model MainWindow.Ribbon.ClickFileMenuItem("SaveModel"); FileDialogAdaptor.DoSaveModel(MainWindow); // Save model as MainWindow.Ribbon.ClickFileMenuItem("SaveModelAs"); var pathname = FileDialogAdaptor.DoSaveModel(MainWindow, "SavedAsModel.model"); Assert.That(System.IO.File.Exists(pathname)); Assert.That(MainWindow.Title.StartsWith("SavedAsModel ")); }
public void CreateNewModelSave() { TestDataGenerator.GenerateBox(MainWindow); MainWindow.Ribbon.ClickFileMenuItem("NewModel"); // Save model? var taskDlg = new TaskDialogAdaptor(MainWindow); Assert.That(taskDlg.Title, Is.EqualTo("Unsaved Changes")); taskDlg.ClickButton(TaskDialogAdaptor.Button.Yes); FileDialogAdaptor.DoSaveModel(MainWindow); // Check that button box is away Assert.AreEqual(0, MainWindow.Document.GetBodyItems().Count()); }
public void RunScriptError() { 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\CompilerError.csx")); Assert.IsTrue(TaskDialogAdaptor.IsTaskDialogOpen(MainWindow)); var errordlg = new TaskDialogAdaptor(MainWindow); Assert.AreEqual("Run script failed", errordlg.Title); errordlg.Close(); }
public void ExportSolidCancelFileDlg() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "testexport.brep"); System.IO.File.Delete(path); TestDataGenerator.GenerateBox(MainWindow); MainWindow.Ribbon.ClickFileMenuItem("ExportSelectedBrep"); 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 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 LoadImage() { string path = Path.GetFullPath(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\Data\UITests\SourceData\Image_300x150.png")); // Start tool MainWindow.Ribbon.SelectTab("Model"); MainWindow.Ribbon.ClickButton("CreateDatumPlane"); var panel = MainWindow.PropertyView.FindPanelByClass("DatumPlanePropertyPanel"); Assert.NotNull(panel); // Load without aspect correction Assert.IsTrue(panel.GetToggle("KeepAspectRatio")); panel.ClickButton("LoadImageFile"); Assert.IsTrue(FileDialogAdaptor.IsDialogOpen(MainWindow)); var fileDialog = new FileDialogAdaptor(MainWindow); fileDialog.Load(path); Assert.IsTrue(TaskDialogAdaptor.IsTaskDialogOpen(MainWindow)); var taskDialog = new TaskDialogAdaptor(MainWindow); taskDialog.ClickButton(TaskDialogAdaptor.Button.No); Assert.IsNotEmpty(Pipe.GetValue <string>("$Selected.ImageFilePath")); Assert.AreEqual(100.0, panel.GetValue <double>("DimensionX")); Assert.AreEqual(100.0, panel.GetValue <double>("DimensionY")); // Load with aspect correction Assert.IsTrue(panel.GetToggle("KeepAspectRatio")); panel.ClickButton("LoadImageFile"); Assert.IsTrue(FileDialogAdaptor.IsDialogOpen(MainWindow)); fileDialog = new FileDialogAdaptor(MainWindow); fileDialog.Load(path); Assert.IsTrue(TaskDialogAdaptor.IsTaskDialogOpen(MainWindow)); taskDialog = new TaskDialogAdaptor(MainWindow); taskDialog.ClickButton(TaskDialogAdaptor.Button.Yes); Assert.IsNotEmpty(Pipe.GetValue <string>("$Selected.ImageFilePath")); Assert.AreEqual(100.0, panel.GetValue <double>("DimensionX")); Assert.AreEqual(50.0, panel.GetValue <double>("DimensionY")); }
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 ExportCancelFileDlg() { TestDataGenerator.GenerateSketch(MainWindow); MainWindow.Ribbon.ClickButton("CloseSketchEditor"); MainWindow.Ribbon.SelectTab("Model"); Assume.That(MainWindow.Ribbon.IsButtonEnabled("CreatePipe")); MainWindow.Ribbon.ClickButton("CreatePipe"); MainWindow.Ribbon.SelectTab("Toolbox"); Assert.IsTrue(MainWindow.Ribbon.IsButtonEnabled("ExportPipeDrawing")); MainWindow.Ribbon.ClickButton("ExportPipeDrawing"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.ClickButton(FileDialogAdaptor.Button.Cancel); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); }
public void ExportSolidIges() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "testexport.iges"); TestDataGenerator.GenerateBox(MainWindow); MainWindow.Ribbon.ClickFileMenuItem("ExportSelectedBrep"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType(".iges"); fileDlg.Save(path, checkFile: false); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); FileDialogAdaptor.CheckFileExists(path); }
public void CreateNewModelSaveCancel() { TestDataGenerator.GenerateBox(MainWindow); MainWindow.Ribbon.ClickFileMenuItem("NewModel"); // Save model? var taskDlg = new TaskDialogAdaptor(MainWindow); Assert.That(taskDlg.Title, Is.EqualTo("Unsaved Changes")); taskDlg.ClickButton(TaskDialogAdaptor.Button.Yes); var fileDlg = new FileDialogAdaptor(MainWindow); Assert.That(fileDlg.Title, Is.EqualTo("Saving Model...")); fileDlg.ClickButton(FileDialogAdaptor.Button.Cancel); // Check that button box is still there Assert.AreEqual(1, MainWindow.Document.GetBodyItems().Count()); }
public void CloseApplicationSaveChangesCancel2() { TestDataGenerator.GenerateBox(MainWindow); MainWindow.ClickCloseButton(); // Save model? var dlg = new TaskDialogAdaptor(MainWindow); Assert.That(dlg.Title, Is.EqualTo("Unsaved Changes")); dlg.ClickButton(TaskDialogAdaptor.Button.Yes); var fileDlg = new FileDialogAdaptor(MainWindow); Assert.That(fileDlg.Title, Is.EqualTo("Saving Model...")); fileDlg.ClickButton(FileDialogAdaptor.Button.Cancel); // Check that button box is still there Assert.AreEqual(1, MainWindow.Document.GetBodyItems().Count()); }
public void RunScript() { MainWindow.Ribbon.SelectGroup("Toolbox"); // Abort file window MainWindow.Ribbon.ClickButton("RunScript"); var fileDlg = new FileDialogAdaptor(MainWindow); Assert.That(fileDlg.Title, Is.EqualTo("Open Script...")); fileDlg.Close(); // Select MainWindow.Ribbon.ClickButton("RunScript"); 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")); // Check for body Assert.AreEqual(1, Pipe.GetValue <int>("$Context.Document.ChildCount")); }
public void OpenExistingModel() { WelcomeDialog.ClickButton("OpenExistingButton"); var fileDlg = new FileDialogAdaptor(WelcomeDialog); Assert.AreEqual("Open Model...", fileDlg.Title); fileDlg.ClickButton(FileDialogAdaptor.Button.Cancel); Assert.IsTrue(WelcomeDialog.IsEnabled); WelcomeDialog.ClickButton("OpenExistingButton"); string path = Path.GetFullPath(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\Data\UITests\SourceData\Cylinder.model")); FileDialogAdaptor.DoLoadModel(WelcomeDialog, path); Wait.UntilResponsive(WelcomeDialog.Window); Wait.UntilResponsive(MainWindow.Window); Assert.IsFalse(WelcomeDialog.IsEnabled); Assert.Greater(MainWindow.Document.GetBodyItems().Count(), 0); }
public void ImportIntoNewSketchDxf() { string path = Path.GetFullPath(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\Data\UITests\SourceData\ImportSketch.dxf")); MainWindow.Ribbon.ClickFileMenuItem("Exchange", "ImportFileToSketch"); 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.That(Pipe.GetValue <int>("$Context.Document.EntityCount") > 0); }
public void ExportSolidCancelExchangerSettings() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "testexport.brep"); TestDataGenerator.GenerateBox(MainWindow); MainWindow.Ribbon.ClickFileMenuItem("ExportSelectedBrep"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType(".brep"); fileDlg.Save(path, checkFile: false); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); var dlg = new WindowAdaptor(MainWindow, "ExchangerSettings"); Assert.IsNotNull(dlg); dlg.ClickButton("Cancel"); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); Assert.IsFalse(System.IO.File.Exists(path)); }
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 ExportHlrAsDxf() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "hlr.dxf"); // Do Export MainWindow.Ribbon.SelectGroup("Toolbox"); MainWindow.Ribbon.ClickButton("ExportViewHlr"); var dlg = new WindowAdaptor(MainWindow, "ExportViewportHlr"); dlg.ClickButton("Ok"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType("*.dxf"); fileDlg.Save(path, checkFile: false); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExportViewportHlr")); dlg = new WindowAdaptor(MainWindow, "ExchangerSettings"); dlg.ClickButton("Ok"); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); FileDialogAdaptor.CheckFileExists(path); }
public void ExportHlrCancelSettings() { var path = Path.Combine(FileDialogAdaptor.GetTempPath(), "hlr.svg"); // Cancel export settings MainWindow.Ribbon.SelectGroup("Toolbox"); MainWindow.Ribbon.ClickButton("ExportViewHlr"); var dlg = new WindowAdaptor(MainWindow, "ExportViewportHlr"); dlg.ClickButton("Ok"); var fileDlg = new FileDialogAdaptor(MainWindow); fileDlg.SelectFileType("*.svg"); fileDlg.Save(path, checkFile: false); Assert.IsFalse(FileDialogAdaptor.IsDialogOpen(MainWindow)); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExportViewportHlr")); dlg = new WindowAdaptor(MainWindow, "ExchangerSettings"); dlg.ClickButton("Cancel"); Assert.IsFalse(WindowAdaptor.IsWindowOpen(MainWindow, "ExchangerSettings")); Assert.IsFalse(System.IO.File.Exists(path)); }
public void Export() { var viewport = MainWindow.Viewport; // Create box GenerateBox(); // Click button to start tool MainWindow.Ribbon.SelectGroup("Toolbox"); MainWindow.Ribbon.ClickButton("CreateEtchingMask"); Assert.IsTrue(MainWindow.Ribbon.IsButtonChecked("CreateEtchingMask")); Assert.AreEqual("\"EtchingMaskEditTool\"", Pipe.GetValue("$Context.WorkspaceController.CurrentTool.Id")); var propPanel = MainWindow.PropertyView.FindPanelByClass("EtchingMaskPropertyPanel"); Assert.IsNotNull(propPanel); propPanel.ClickButton("ExportVectorFile"); var fileDlg = new FileDialogAdaptor(MainWindow); Assert.That(fileDlg.Title, Is.EqualTo("Export...")); fileDlg.Save("ExportedEtchingMask.svg"); }