public void TestModifiersNextToAPipe()
 {
     SWAT_Editor.CommandExtractor test = new SWAT_Editor.CommandExtractor(BrowserType.InternetExplorer);
     //Test for @
     string cleanCommnad = test.cleanCommand("|PressKeys|Expression|id:txtAreaOne|@|textarea|");
     bool result = cleanCommnad.Contains("@");
     Assert.IsTrue(result);
     //Test for @@
     cleanCommnad = test.cleanCommand("|PressKeys|Expression|id:txtAreaOne|@@|textarea|");
     result = cleanCommnad.Contains("@@");
     Assert.IsTrue(result);
     //Test for @@@
     cleanCommnad = test.cleanCommand("|PressKeys|Expression|id:txtAreaOne|@@@|textarea|");
     result = cleanCommnad.Contains("@@@");
     Assert.IsTrue(result);
     //Test for ?
     cleanCommnad = test.cleanCommand("|PressKeys|Expression|id:txtAreaOne|?|textarea|");
     result = cleanCommnad.Contains("?");
     Assert.IsTrue(result);
     //Test for ??
     cleanCommnad = test.cleanCommand("|PressKeys|Expression|id:txtAreaOne|??|textarea|");
     result = cleanCommnad.Contains("??");
     Assert.IsTrue(result);
     //Test for ?!
     cleanCommnad = test.cleanCommand("|PressKeys|Expression|id:txtAreaOne|?!|textarea|");
     result = cleanCommnad.Contains("?!");
     Assert.IsTrue(result);
     //Test for ??!
     cleanCommnad = test.cleanCommand("|PressKeys|Expression|id:txtAreaOne|??!|textarea|");
     result = cleanCommnad.Contains("??!");
     Assert.IsTrue(result);
     //Test for <>
     cleanCommnad = test.cleanCommand("|PressKeys|Expression|id:txtAreaOne|<>|textarea|");
     result = cleanCommnad.Contains("<>");
     Assert.IsTrue(result);
 }
        public void CloseBrowsersBeforeTestStartTest(bool closeAll)
        {
            if (!(_browserType == BrowserType.Safari))
            {
                // Save the value to reset it later
                bool reset = SWAT.WantCloseBrowsersBeforeTestStart.CloseBrowsersBeforeTestStart;

                // Get name of the process of the browser
                string browserName = GetBrowserName();

                // Boolean used for the assertions
                bool areAllClosed;

                // Open multiple windows to close
                _browser.OpenBrowser();
                _browser.NavigateBrowser("www.google.com");
                _browser.OpenBrowser();
                _browser.NavigateBrowser("www.w3schools.com");

                // Set the option to close or not when the test starts
                SWAT.WantCloseBrowsersBeforeTestStart.CloseBrowsersBeforeTestStart = closeAll;
                SWAT.UserConfigHandler.Save();

                // Command extractor's constructor should not close any open browsers
                SWAT_Editor.CommandExtractor extractor = new SWAT_Editor.CommandExtractor(_browserType);
                
                // Check if there are any browsers open
                areAllClosed = (Process.GetProcessesByName(browserName).Length == 0);

                try
                {
                    if (closeAll)
                    {
                        // Assert that all the web browsers have been closed
                        Assert.IsTrue(areAllClosed, "CloseBrowsersBeforeTestStart failed: " +
                                        "closed all windows when the user setting was turned off.");
                    }
                    else
                    {
                        // Assert that all the web browsers have not been closed
                        Assert.IsFalse(areAllClosed, "CloseBrowsersBeforeTestStart failed: " +
                            "did not close all windows.");
                    }
                }
                finally
                {
                    // Clean up
                    _browser = new WebBrowser(_browserType);
                    _browser.KillAllOpenBrowsers();
                    this.OpenSwatTestPage();
                }
                // Reset the value
                SWAT.WantCloseBrowsersBeforeTestStart.CloseBrowsersBeforeTestStart = reset;
                SWAT.UserConfigHandler.Save();
            }
            else if (_browserType == BrowserType.Safari)
            {
                // Save the value to reset it later
                bool reset = SWAT.WantCloseBrowsersBeforeTestStart.CloseBrowsersBeforeTestStart;

                // Boolean used for the assertions
                bool isGoogleClosed = false;
                bool isW3Closed = false;

                // Open multiple windows to close
                _browser.OpenBrowser();
                _browser.NavigateBrowser("www.google.com");
                _browser.OpenBrowser();
                _browser.NavigateBrowser("www.w3schools.com");

                // Set the option not to close when the test starts
                SWAT.WantCloseBrowsersBeforeTestStart.CloseBrowsersBeforeTestStart = closeAll;
                SWAT.UserConfigHandler.Save();

                // Command extractor's constructor should not close any open browsers
                SWAT_Editor.CommandExtractor extractor = new SWAT_Editor.CommandExtractor(_browserType);
                
                // Check if there are any browsers open
                try
                {
                    _browser.AssertBrowserExists("Google");
                }
                catch (BrowserExistException)
                {
                    isGoogleClosed = true;
                }
                try
                {
                    _browser.AssertBrowserExists("W3");
                }
                catch (BrowserExistException)
                {
                    isW3Closed = true;
                }

                if (closeAll)
                {
                    // Assert that all the web browsers have been closed
                    Assert.IsTrue(isGoogleClosed && isW3Closed, "CloseBrowsersBeforeTestStart failed: " +
                                "closed all windows when the user setting was turned off.");
                }
                else
                {
                    // Assert that all the web browsers have not been closed
                    Assert.IsFalse(isGoogleClosed || isW3Closed, "CloseBrowsersBeforeTestStart failed: " +
                        "did not close all windows.");
                }
                
                //_browser = new WebBrowser(_browserType);

                // Needed for other tests since we closed open web browsers
                this.OpenSwatTestPage();

                // Reset the value
                SWAT.WantCloseBrowsersBeforeTestStart.CloseBrowsersBeforeTestStart = reset;
                SWAT.UserConfigHandler.Save();
            }

        }