From 0ac3ac311d9b97485de045cb2ece49d4ea630f4e Mon Sep 17 00:00:00 2001 From: John Lewin Date: Wed, 21 Sep 2016 15:34:53 -0700 Subject: [PATCH] Switch to RequiresSTA replacement attribute - Add SetCompatibleWorkingDirectory to consistently change working directory --- Submodules/agg-sharp | 2 +- .../CheckBoxInLibraryIsClickable.cs | 5 +- .../CreateLibraryFolder.cs | 5 +- .../ExportItemWindowTests.cs | 11 +++-- .../FileMenuTest.cs | 13 ++--- .../HardwareLevelingUITests.cs | 8 ++-- .../LibraryDownloadsTest.cs | 15 +++--- .../LocalLibraryTests.cs | 29 ++++++------ .../OptionsTabTests.cs | 9 ++-- .../PartPreviewTests.cs | 20 ++++---- .../PrintQueueTests.cs | 47 ++++++++++--------- .../PrinterDropDownTests.cs | 12 ++--- .../SliceSetingsTests.cs | 21 +++++---- .../SqLiteLibraryProvider.cs | 7 +-- .../MatterControl/MatterControlUiFeatures.cs | 6 +++ .../MatterControl/MatterControlUtilities.cs | 11 ++++- 16 files changed, 121 insertions(+), 100 deletions(-) diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 3d65e7669..cce13ca0d 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 3d65e76695965120906b5f8a57a80d98ed62a755 +Subproject commit cce13ca0d780de6c51cfce2dc878a957ae7f85f7 diff --git a/Tests/MatterControl.AutomationTests/CheckBoxInLibraryIsClickable.cs b/Tests/MatterControl.AutomationTests/CheckBoxInLibraryIsClickable.cs index 0175f760f..ac3a7b1a1 100644 --- a/Tests/MatterControl.AutomationTests/CheckBoxInLibraryIsClickable.cs +++ b/Tests/MatterControl.AutomationTests/CheckBoxInLibraryIsClickable.cs @@ -27,18 +27,19 @@ of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. */ +using System; +using System.Threading; using MatterHackers.Agg.UI; using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using NUnit.Framework; -using System; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class CheckBoxInLibraryIsClickable { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ClickOnLibraryCheckBoxes() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.AutomationTests/CreateLibraryFolder.cs b/Tests/MatterControl.AutomationTests/CreateLibraryFolder.cs index 3fee07a14..0f63e67dd 100644 --- a/Tests/MatterControl.AutomationTests/CreateLibraryFolder.cs +++ b/Tests/MatterControl.AutomationTests/CreateLibraryFolder.cs @@ -27,18 +27,19 @@ of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. */ +using System; +using System.Threading; using MatterHackers.Agg.UI; using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using NUnit.Framework; -using System; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class CreateLibraryFolder { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void CreateFolderStarsOutWithTextFiledFocusedAndEditable() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.AutomationTests/ExportItemWindowTests.cs b/Tests/MatterControl.AutomationTests/ExportItemWindowTests.cs index 73cff4d48..f2ca8a94d 100644 --- a/Tests/MatterControl.AutomationTests/ExportItemWindowTests.cs +++ b/Tests/MatterControl.AutomationTests/ExportItemWindowTests.cs @@ -1,9 +1,10 @@ -using MatterHackers.Agg.UI.Tests; -using MatterHackers.GuiAutomation; -using NUnit.Framework; -using System; +using System; using System.Diagnostics; using System.IO; +using System.Threading; +using MatterHackers.Agg.UI.Tests; +using MatterHackers.GuiAutomation; +using NUnit.Framework; namespace MatterHackers.MatterControl.Tests.Automation { @@ -11,7 +12,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class ExportItemsFromDownloads { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ExportAsGcode() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.AutomationTests/FileMenuTest.cs b/Tests/MatterControl.AutomationTests/FileMenuTest.cs index 3017a736c..65d5cf0e5 100644 --- a/Tests/MatterControl.AutomationTests/FileMenuTest.cs +++ b/Tests/MatterControl.AutomationTests/FileMenuTest.cs @@ -1,15 +1,16 @@ -using MatterHackers.Agg.UI.Tests; +using System; +using System.Threading; +using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using MatterHackers.MatterControl.PrintQueue; using NUnit.Framework; -using System; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class FileMenuTest { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void FileMenuAddPrinter() { // Run a copy of MatterControl @@ -36,7 +37,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(1)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void AddToQueueMenuItemAddsSingleFile() { // Run a copy of MatterControl @@ -74,7 +75,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(2)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void AddToQueueMenuItemAddsMultipleFiles() { // Run a copy of MatterControl @@ -116,7 +117,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(3)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void AddToQueueMenuItemAddsZipFiles() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.AutomationTests/HardwareLevelingUITests.cs b/Tests/MatterControl.AutomationTests/HardwareLevelingUITests.cs index 7d39eebae..ba2f90e6c 100644 --- a/Tests/MatterControl.AutomationTests/HardwareLevelingUITests.cs +++ b/Tests/MatterControl.AutomationTests/HardwareLevelingUITests.cs @@ -1,15 +1,15 @@ -using MatterHackers.Agg.UI.Tests; +using System; +using System.Threading; +using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using NUnit.Framework; -using System; - namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class HardwareLevelingUITests { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void HasHardwareLevelingHidesLevelingSettings() { Action testToRun = (AutomationTesterHarness resultsHarness) => diff --git a/Tests/MatterControl.AutomationTests/LibraryDownloadsTest.cs b/Tests/MatterControl.AutomationTests/LibraryDownloadsTest.cs index d6ad67572..3b56b44cf 100644 --- a/Tests/MatterControl.AutomationTests/LibraryDownloadsTest.cs +++ b/Tests/MatterControl.AutomationTests/LibraryDownloadsTest.cs @@ -1,14 +1,15 @@ -using MatterHackers.Agg.UI.Tests; +using System; +using System.Threading; +using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using NUnit.Framework; -using System; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddMultipleFilesToDownloads { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void DownloadsAddButtonAddsMultipleFiles() { // Run a copy of MatterControl @@ -64,7 +65,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class AddAMFToDownloads { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void DownloadsAddButtonAddsAMFFiles() { // Run a copy of MatterControl @@ -116,7 +117,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class AddZipFileToDownloads { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void DownloadsAddButtonAddsZipFiles() { // Run a copy of MatterControl @@ -169,7 +170,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class RenameDownloadsItem { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RenameDownloadsPrintItem() { @@ -225,7 +226,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class CreateSubFolderLibraryDownloads { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void CreateFolder() { diff --git a/Tests/MatterControl.AutomationTests/LocalLibraryTests.cs b/Tests/MatterControl.AutomationTests/LocalLibraryTests.cs index 96bba75fb..66fca8edf 100644 --- a/Tests/MatterControl.AutomationTests/LocalLibraryTests.cs +++ b/Tests/MatterControl.AutomationTests/LocalLibraryTests.cs @@ -1,15 +1,16 @@ -using MatterHackers.Agg.UI.Tests; +using System; +using System.Threading; +using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using MatterHackers.MatterControl.PrintQueue; using NUnit.Framework; -using System; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddSingleItemToLocalLibrary { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void LocalLibraryAddButtonAddSingleItemToLibrary() { // Run a copy of MatterControl @@ -56,7 +57,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddMultipleItemsToLocalLibrary { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void LocalLibraryAddButtonAddsMultipleItemsToLibrary() { // Run a copy of MatterControl @@ -112,7 +113,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddAMFItemToLocalLibrary { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void LocalLibraryAddButtonAddAMFToLibrary() { // Run a copy of MatterControl @@ -159,7 +160,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddZipFileToLocalLibrary { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void LocalLibraryAddButtonAddZipToLibrary() { // Run a copy of MatterControl @@ -212,7 +213,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class RenameButtonRenamesLibraryRowItem { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RenameButtonRenameLocalLibraryItem() { // Run a copy of MatterControl @@ -262,7 +263,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class UserCanSuccessfullyCreateAndRenameLibraryFolder { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RenameButtonRenameLocalLibraryFolder() { // Run a copy of MatterControl @@ -311,7 +312,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class LibraryEditButtonOpensUpPartPreviewWindow { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ClickLibraryEditButtonOpensPartPreviewWindow() { // Run a copy of MatterControl @@ -350,7 +351,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class OneLibraryItemSelectedRemoveButtonRemovesItem { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RemoveButtonClickedRemovesSingleItem() { // Run a copy of MatterControl @@ -392,7 +393,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class MultipleLibraryItemsSelectedRemoveButtonRemovesItem { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RemoveButtonClickedRemovesMultipleItems() { // Run a copy of MatterControl @@ -454,7 +455,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddToQueueButtonAddsSingleItemToQueue { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void AddToQueueFromLibraryButtonAddsItemToQueue() { // Run a copy of MatterControl @@ -514,7 +515,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddToQueueButtonAddsMultipleItemsToQueue { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void AddToQueueFromLibraryButtonAddsItemsToQueue() { // Run a copy of MatterControl @@ -588,7 +589,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class ClickLibraryTumbnailWidgetOpensPartPreview { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void LibraryItemThumbnailClickedOpensPartPreview() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.AutomationTests/OptionsTabTests.cs b/Tests/MatterControl.AutomationTests/OptionsTabTests.cs index 69aa4e1c7..baaa622c3 100644 --- a/Tests/MatterControl.AutomationTests/OptionsTabTests.cs +++ b/Tests/MatterControl.AutomationTests/OptionsTabTests.cs @@ -1,15 +1,16 @@ -using MatterHackers.Agg.UI; +using System; +using System.Threading; +using MatterHackers.Agg.UI; using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using NUnit.Framework; -using System; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class ShowTerminalButtonClickedOpensTerminal { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ClickingShowTerminalButtonOpensTerminal() { // Run a copy of MatterControl @@ -47,7 +48,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class ConfigureNotificationSettingsButtonClickedOpensNotificationWindow { - [Test, RequiresSTA, RunInApplicationDomain, Ignore("Not Finished")] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain, Ignore("Not Finished")] //DOES NOT WORK public void ClickingConfigureNotificationSettingsButtonOpensWindow() { diff --git a/Tests/MatterControl.AutomationTests/PartPreviewTests.cs b/Tests/MatterControl.AutomationTests/PartPreviewTests.cs index b47737ce9..2d9c066a7 100644 --- a/Tests/MatterControl.AutomationTests/PartPreviewTests.cs +++ b/Tests/MatterControl.AutomationTests/PartPreviewTests.cs @@ -1,18 +1,18 @@ -using MatterHackers.Agg.UI; +using System; +using System.Linq; +using System.Threading; +using MatterHackers.Agg.UI; using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using MatterHackers.MatterControl.PartPreviewWindow; using NUnit.Framework; -using System; -using System.Linq; - namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class PartPreviewTests { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void CopyButtonClickedMakesCopyOfPartOnBed() { // Run a copy of MatterControl @@ -70,7 +70,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(3)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void GroupAndUngroup() { // Run a copy of MatterControl @@ -133,7 +133,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(4)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RemoveButtonRemovesParts() { // Run a copy of MatterControl @@ -191,7 +191,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(3)); } - [Test, RequiresSTA, RunInApplicationDomain, Ignore("Not Finished")] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain, Ignore("Not Finished")] public void UndoRedoCopy() { // Run a copy of MatterControl @@ -265,7 +265,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(11)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void UndoRedoDelete() { // Run a copy of MatterControl @@ -332,7 +332,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(10)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void SaveAsToQueue() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.AutomationTests/PrintQueueTests.cs b/Tests/MatterControl.AutomationTests/PrintQueueTests.cs index 45c083933..ced63c2d2 100644 --- a/Tests/MatterControl.AutomationTests/PrintQueueTests.cs +++ b/Tests/MatterControl.AutomationTests/PrintQueueTests.cs @@ -27,20 +27,21 @@ of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. */ +using System; +using System.IO; +using System.Threading; using MatterHackers.Agg.UI; using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using MatterHackers.MatterControl.PrintQueue; using NUnit.Framework; -using System; -using System.IO; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), Category("MatterControl.Automation"), RunInApplicationDomain] public class BuyButtonTests { - [Test, RequiresSTA, RunInApplicationDomain, Ignore("Not Finished")] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain, Ignore("Not Finished")] public void ClickOnBuyButton() { // Run a copy of MatterControl @@ -73,7 +74,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class ClickingCreateButtonOpensPluginWindow { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] //Test Works public void ClickCreateButton() { @@ -113,7 +114,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class ExportButtonTest { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] //Test Works public void ClickOnExportButton() { @@ -152,7 +153,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain, Ignore("Not Finished")] public class ExportButtonDisabledNoQueueItems { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ExportButtonIsDisabledWithNoItemsInQueue() { // Run a copy of MatterControl @@ -179,7 +180,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class QueueItemThumnailWidget { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void QueueThumbnailWidgetOpensPartPreview() { // Run a copy of MatterControl @@ -214,7 +215,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class ClickCopyButtonMakesACopyOfPrintItemInQueue { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void CopyButtonMakesACopyOfPartInTheQueue() { // Run a copy of MatterControl @@ -259,7 +260,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddSingleItemToQueueAddsItem { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void AddSingleItemToQueue() { // Run a copy of MatterControl @@ -309,7 +310,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class AddButtonAddsMuiltipleItemsToQueue { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void AddMuiltipleItemsToQueue() { // Run a copy of MatterControl @@ -364,7 +365,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class RemoveButtonClickedRemovesSingleItem { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RemoveButtonRemovesSingleItem() { //Run a copy of MatterControl @@ -408,7 +409,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class EditButtonClickedTurnsOnEditMode { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void EditButtonTurnsOnEditMode() { //Run a copy of MatterControl @@ -463,7 +464,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class DoneButtonClickedTurnsOffEditMode { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void DoneButtonTurnsOffEditMode() { //Run a copy of MatterControl @@ -527,7 +528,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class RemoveButtonClickedRemovesMultipleItems { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RemoveButtonRemovesMultipleItems() { //Run a copy of MatterControl @@ -578,7 +579,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class ExportToZipMenuItemClickedExportsQueueToZip { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ExportToZipMenuItemClicked() { // Run a copy of MatterControl @@ -673,7 +674,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class SendMenuItemClickedWhileNotLoggedIn { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void SendMenuItemCLickedNoSignIn() { // Run a copy of MatterControl @@ -717,7 +718,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class RemoveAllMenuItemClicked { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RemoveAllMenuItemClickedRemovesAll() { // Run a copy of MatterControl @@ -787,7 +788,7 @@ namespace MatterHackers.MatterControl.Tests.Automation public class CreatePartSheetMenuItemClickedCreatesPartSheet { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ClickCreatePartSheetButton() { // Run a copy of MatterControl @@ -851,7 +852,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class QueueRowItemRemoveViewButtons { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ClickQueueRoWItemViewAndRemove() { // Run a copy of MatterControl @@ -908,7 +909,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class QueueAddButtonAddsZipToQueue { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void QueueAddButtonAddsZipFile() { @@ -974,7 +975,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class QueueAddButtonAddsAMFFileToQueue { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void QueueAddButtonAddsAMF() { Action testToRun = (AutomationTesterHarness resultsHarness) => @@ -1038,7 +1039,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class QueueAddButtonAddsSTLFileToQueue { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void QueueAddButtonAddsSTL() { Action testToRun = (AutomationTesterHarness resultsHarness) => @@ -1099,7 +1100,7 @@ namespace MatterHackers.MatterControl.Tests.Automation [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class QueueAddButtonAddsGcodeFileToQueue { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void QueueAddButtonAddsGcodeFile() { diff --git a/Tests/MatterControl.AutomationTests/PrinterDropDownTests.cs b/Tests/MatterControl.AutomationTests/PrinterDropDownTests.cs index 051ef7b94..9a4391e6b 100644 --- a/Tests/MatterControl.AutomationTests/PrinterDropDownTests.cs +++ b/Tests/MatterControl.AutomationTests/PrinterDropDownTests.cs @@ -1,21 +1,17 @@ using System; -using System.Collections.Generic; -using System.Linq; +using System.Threading; using MatterHackers.Agg.UI; -using NUnit.Framework; -using MatterHackers.GuiAutomation; -using System.Text; -using System.Threading.Tasks; using MatterHackers.Agg.UI.Tests; +using MatterHackers.GuiAutomation; using MatterHackers.MatterControl.SlicerConfiguration; +using NUnit.Framework; namespace MatterHackers.MatterControl.Tests.Automation { - [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class PrinterNameChangePersists { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void PrinterNameStaysChanged() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.AutomationTests/SliceSetingsTests.cs b/Tests/MatterControl.AutomationTests/SliceSetingsTests.cs index 222727cda..9d12a050e 100644 --- a/Tests/MatterControl.AutomationTests/SliceSetingsTests.cs +++ b/Tests/MatterControl.AutomationTests/SliceSetingsTests.cs @@ -1,18 +1,19 @@ -using MatterHackers.Agg.PlatformAbstract; +using System; +using System.IO; +using System.Linq; +using System.Threading; +using MatterHackers.Agg.PlatformAbstract; using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using MatterHackers.MatterControl.SlicerConfiguration; using NUnit.Framework; -using System; -using System.IO; -using System.Linq; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class SliceSetingsTests { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void RaftEnabledPassedToSliceEngine() { // Run a copy of MatterControl @@ -58,7 +59,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(1)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void PauseOnLayerDoesPauseOnPrint() { Action testToRun = (AutomationTesterHarness resultsHarness) => @@ -84,7 +85,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(1)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void ClearingCheckBoxClearsUserOverride() { // Run a copy of MatterControl @@ -119,7 +120,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(21)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void DeleteProfileWorksForGuest() { // Run a copy of MatterControl @@ -175,7 +176,7 @@ namespace MatterHackers.MatterControl.Tests.Automation } //Stress Test check & uncheck 1000x - [Test, RequiresSTA, RunInApplicationDomain, Ignore("Not Finished")] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain, Ignore("Not Finished")] public void HasHeatedBedCheckUncheck() { // Run a copy of MatterControl @@ -215,7 +216,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.IsTrue(testHarness.AllTestsPassed(1008)); } - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void HasHeatedBedCheckedHidesBedTemperatureOptions() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.AutomationTests/SqLiteLibraryProvider.cs b/Tests/MatterControl.AutomationTests/SqLiteLibraryProvider.cs index 0c2cfd2e3..8fb02a01f 100644 --- a/Tests/MatterControl.AutomationTests/SqLiteLibraryProvider.cs +++ b/Tests/MatterControl.AutomationTests/SqLiteLibraryProvider.cs @@ -1,16 +1,17 @@ -using MatterHackers.Agg.UI; +using System; +using System.Threading; +using MatterHackers.Agg.UI; using MatterHackers.Agg.UI.Tests; using MatterHackers.GuiAutomation; using MatterHackers.MatterControl.PartPreviewWindow; using NUnit.Framework; -using System; namespace MatterHackers.MatterControl.Tests.Automation { [TestFixture, Category("MatterControl.UI.Automation"), RunInApplicationDomain] public class SqLiteLibraryProviderTests { - [Test, RequiresSTA, RunInApplicationDomain] + [Test, Apartment(ApartmentState.STA), RunInApplicationDomain] public void LibraryQueueViewRefreshesOnAddItem() { // Run a copy of MatterControl diff --git a/Tests/MatterControl.Tests/MatterControl/MatterControlUiFeatures.cs b/Tests/MatterControl.Tests/MatterControl/MatterControlUiFeatures.cs index 9332034f9..b355e571f 100644 --- a/Tests/MatterControl.Tests/MatterControl/MatterControlUiFeatures.cs +++ b/Tests/MatterControl.Tests/MatterControl/MatterControlUiFeatures.cs @@ -27,9 +27,13 @@ of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. */ +using System; +using System.IO; +using System.Reflection; using MatterHackers.Agg; using MatterHackers.Agg.Image; using MatterHackers.Agg.UI; +using MatterHackers.MatterControl.Tests.Automation; using NUnit.Framework; namespace MatterHackers.MatterControl.UI @@ -45,6 +49,8 @@ namespace MatterHackers.MatterControl.UI [Test] public void TopToBottomContainerAppliesExpectedMarginToToggleView() { + TestContext.CurrentContext.SetCompatibleWorkingDirectory(); + int marginSize = 40; int dimensions = 300; diff --git a/Tests/MatterControl.Tests/MatterControl/MatterControlUtilities.cs b/Tests/MatterControl.Tests/MatterControl/MatterControlUtilities.cs index 7cd058be4..c7f2efa85 100644 --- a/Tests/MatterControl.Tests/MatterControl/MatterControlUtilities.cs +++ b/Tests/MatterControl.Tests/MatterControl/MatterControlUtilities.cs @@ -418,7 +418,16 @@ namespace MatterHackers.MatterControl.Tests.Automation return Path.GetFullPath(Path.Combine(allPathSteps.ToArray())); } - } + + /// + /// Set the working directory to the location of the executing assembly. This is essentially the Nunit2 behavior + /// + /// + public static void SetCompatibleWorkingDirectory(this TestContext context) + { + Environment.CurrentDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + } +} /// /// Represents a queue template folder on disk (located at Tests/TestData/QueueItems) that should be synced into the default