From 14b9fcf0213ed693752925ac769edc45ddad60d2 Mon Sep 17 00:00:00 2001 From: Dirk Rombauts Date: Wed, 11 May 2016 12:34:12 +0200 Subject: [PATCH 1/7] Fix build process (#341) * Add test script to build definition * Deliberately fail the test * The build did not fail, so add a check for errorlevel * Fix the call to NUnit3 * Now a unit test should fail * finetune .gitignore * Fix unit test --- .gitignore | 2 ++ build.bat | 3 +++ test.fsx | 17 ++++++++++------- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index e8e57ec7e..ec8d3ece4 100644 --- a/.gitignore +++ b/.gitignore @@ -82,9 +82,11 @@ src/Pickles/PrecompiledWeb/ # FAKE stuff packages/FAKE/ packages/Chocolatey/ +packages/NUnit.ConsoleRunner/ # Fody !src/Pickles/packages/Fody*/build/* src/Pickles/.vs/config/applicationhost.config src/Pickles/Pickles/PortabilityAnalysis.html src/Pickles/.vs/config/applicationhost.config +TestResult.xml diff --git a/build.bat b/build.bat index 868a7eeac..757a8bd0f 100644 --- a/build.bat +++ b/build.bat @@ -5,9 +5,12 @@ cls "packages\nuget\NuGet.exe" "Install" "FAKE" "-OutputDirectory" "packages" "-ExcludeVersion" "packages\nuget\NuGet.exe" "Install" "Chocolatey" "-OutputDirectory" "packages" "-ExcludeVersion" +"packages\nuget\NuGet.exe" "Install" "NUnit.ConsoleRunner" "-OutputDirectory" "packages" "-ExcludeVersion" "packages\nuget\NuGet.exe" "Restore" "src\Pickles\Pickles.sln" "packages\FAKE\tools\Fake.exe" build.fsx --envvar version %picklesVersion% +"packages\FAKE\tools\Fake.exe" test.fsx --envvar version %picklesVersion% +if errorlevel 1 goto handleerror1orhigher "packages\FAKE\tools\Fake.exe" nuget.fsx --envvar version %picklesVersion% "packages\FAKE\tools\Fake.exe" chocolatey.fsx --envvar version %picklesVersion% diff --git a/test.fsx b/test.fsx index a6f36e697..c91033623 100644 --- a/test.fsx +++ b/test.fsx @@ -1,6 +1,7 @@ // include Fake lib #r @"packages\FAKE\tools\FakeLib.dll" open Fake +open Fake.Testing // Properties @@ -8,18 +9,20 @@ let testDir = "./test/" Target "Test" (fun _ -> !! (testDir + "PicklesDoc.Pickles.Test.dll") - |> NUnit (fun p -> + |> NUnit3 (fun p -> {p with - DisableShadowCopy = true; - OutputFile = testDir + "TestResults.xml" }) + ShadowCopy = false; + OutputDir = testDir + "PicklesDoc.Pickles.Test.TestResults.xml"; + ToolPath = "packages/NUnit.ConsoleRunner/tools/nunit3-console.exe" }) ) Target "Test.TestFrameworks" (fun _ -> - !! (testDir + "PicklesDoc.Pickles.TestFrameworks.UnitTests") - |> NUnit (fun p -> + !! (testDir + "PicklesDoc.Pickles.TestFrameworks.UnitTests.dll") + |> NUnit3 (fun p -> {p with - DisableShadowCopy = true; - OutputFile = testDir + "TestFrameworks.TestResults.xml" }) + ShadowCopy = false; + OutputDir = testDir + "PicklesDoc.Pickles.TestFrameworks.UnitTests.TestResults.xml"; + ToolPath = "packages/NUnit.ConsoleRunner/tools/nunit3-console.exe" }) ) "Test" ==> "Test.TestFrameworks" From 174c62a6f975889239b478fd1fa075d67ffecadc Mon Sep 17 00:00:00 2001 From: Dirk Rombauts Date: Wed, 11 May 2016 17:28:12 +0200 Subject: [PATCH 2/7] Add test harness (#342) --- .gitignore | 4 + CONTRIBUTING.md | 34 +- CreateTestresults.cmd | 41 + README.md | 2 +- test-harness/AutomationLayer/AdditionSteps.cs | 49 + test-harness/AutomationLayer/App.config | 9 + .../AutomationLayer/AutomationLayer.csproj | 71 + .../MinimalFeatures/MinimalSteps.cs | 27 + .../Properties/AssemblyInfo.cs | 36 + .../AutomationLayer/ScenarioOutlineSteps.cs | 47 + test-harness/AutomationLayer/packages.config | 5 + .../Cucumber/features/Addition.feature | 46 + .../features/FailingBackground.feature | 24 + .../features/Minimal Features/Failing.feature | 10 + .../Minimal Features/Inconclusive.feature | 7 + .../features/Minimal Features/Passing.feature | 4 + .../features/NotAutomatedAtAll.feature | 19 + .../features/ScenarioOutlines.feature | 78 + .../ScenariosWithSpecialCharacters.feature | 33 + .../step_definitions/AdditionSteps.rb | 30 + .../features/step_definitions/MinimalSteps.rb | 11 + .../step_definitions/ScenarioOutlineSteps.rb | 23 + test-harness/Cucumber/features/support/env.rb | 1 + .../CucumberJS/features/Addition.feature | 46 + .../features/FailingBackground.feature | 24 + .../features/Minimal Features/Failing.feature | 10 + .../Minimal Features/Inconclusive.feature | 7 + .../features/Minimal Features/Passing.feature | 4 + .../features/NotAutomatedAtAll.feature | 19 + .../features/ScenarioOutlines.feature | 78 + .../ScenariosWithSpecialCharacters.feature | 33 + .../features/stepdefinitions/AdditionSteps.js | 39 + .../features/stepdefinitions/MinimalSteps.js | 21 + .../stepdefinitions/ScenarioOutlineSteps.js | 36 + .../CucumberJS/script/model/calculator.js | 26 + test-harness/MsTest/Addition.feature | 46 + test-harness/MsTest/Addition.feature.cs | 229 ++ test-harness/MsTest/App.config | 13 + test-harness/MsTest/FailingBackground.feature | 24 + .../MsTest/FailingBackground.feature.cs | 152 + .../MsTest/Minimal Features/Failing.feature | 10 + .../Minimal Features/Failing.feature.cs | 115 + .../Minimal Features/Inconclusive.feature | 7 + .../Minimal Features/Inconclusive.feature.cs | 101 + .../MsTest/Minimal Features/Passing.feature | 4 + .../Minimal Features/Passing.feature.cs | 87 + test-harness/MsTest/MsTest.csproj | 172 ++ test-harness/MsTest/NotAutomatedAtAll.feature | 19 + .../MsTest/NotAutomatedAtAll.feature.cs | 141 + test-harness/MsTest/OrdinaryUnitTest.cs | 20 + .../MsTest/Properties/AssemblyInfo.cs | 36 + test-harness/MsTest/ScenarioOutlines.feature | 78 + .../MsTest/ScenarioOutlines.feature.cs | 309 ++ .../ScenariosWithSpecialCharacters.feature | 33 + .../ScenariosWithSpecialCharacters.feature.cs | 211 ++ test-harness/MsTest/packages.config | 4 + test-harness/SpecRun/Addition.feature | 46 + test-harness/SpecRun/Addition.feature.cs | 208 ++ test-harness/SpecRun/App.config | 16 + .../SpecRun/CustomReportTemplate.cshtml | 49 + test-harness/SpecRun/Default.srprofile | 29 + .../SpecRun/FailingBackground.feature | 24 + .../SpecRun/FailingBackground.feature.cs | 136 + .../SpecRun/Minimal Features/Failing.feature | 10 + .../Minimal Features/Failing.feature.cs | 109 + .../Minimal Features/Inconclusive.feature | 7 + .../Minimal Features/Inconclusive.feature.cs | 97 + .../SpecRun/Minimal Features/Passing.feature | 4 + .../Minimal Features/Passing.feature.cs | 85 + .../SpecRun/NotAutomatedAtAll.feature | 19 + .../SpecRun/NotAutomatedAtAll.feature.cs | 135 + .../SpecRun/Properties/AssemblyInfo.cs | 36 + test-harness/SpecRun/ScenarioOutlines.feature | 78 + .../SpecRun/ScenarioOutlines.feature.cs | 248 ++ .../ScenariosWithSpecialCharacters.feature | 33 + .../ScenariosWithSpecialCharacters.feature.cs | 178 ++ test-harness/SpecRun/SpecRun.csproj | 164 ++ test-harness/SpecRun/SpecRunTestProfile.xsd | 194 ++ test-harness/SpecRun/packages.config | 6 + test-harness/SpecRun/runtests.cmd | 17 + test-harness/TestHarness.sln | 63 + test-harness/TestHarness.sln.GhostDoc.xml | 56 + test-harness/TestSettings.testsettings | 9 + test-harness/nunit/Addition.feature | 46 + test-harness/nunit/Addition.feature.cs | 198 ++ test-harness/nunit/App.config | 13 + test-harness/nunit/FailingBackground.feature | 24 + .../nunit/FailingBackground.feature.cs | 125 + .../nunit/Minimal Features/Failing.feature | 10 + .../nunit/Minimal Features/Failing.feature.cs | 108 + .../Minimal Features/Inconclusive.feature | 7 + .../Minimal Features/Inconclusive.feature.cs | 95 + .../nunit/Minimal Features/Passing.feature | 4 + .../nunit/Minimal Features/Passing.feature.cs | 82 + test-harness/nunit/NotAutomatedAtAll.feature | 19 + .../nunit/NotAutomatedAtAll.feature.cs | 134 + test-harness/nunit/Properties/AssemblyInfo.cs | 36 + test-harness/nunit/ScenarioOutlines.feature | 78 + .../nunit/ScenarioOutlines.feature.cs | 164 ++ .../ScenariosWithSpecialCharacters.feature | 33 + .../ScenariosWithSpecialCharacters.feature.cs | 138 + test-harness/nunit/nunit.csproj | 146 + test-harness/nunit/packages.config | 7 + test-harness/nunit3/Addition.feature | 46 + test-harness/nunit3/Addition.feature.cs | 198 ++ test-harness/nunit3/App.config | 13 + test-harness/nunit3/FailingBackground.feature | 24 + .../nunit3/FailingBackground.feature.cs | 125 + .../nunit3/Minimal Features/Failing.feature | 10 + .../Minimal Features/Failing.feature.cs | 108 + .../Minimal Features/Inconclusive.feature | 7 + .../Minimal Features/Inconclusive.feature.cs | 95 + .../nunit3/Minimal Features/Passing.feature | 4 + .../Minimal Features/Passing.feature.cs | 82 + test-harness/nunit3/NotAutomatedAtAll.feature | 11 + .../nunit3/NotAutomatedAtAll.feature.cs | 91 + .../nunit3/Properties/AssemblyInfo.cs | 36 + test-harness/nunit3/ScenarioOutlines.feature | 78 + .../nunit3/ScenarioOutlines.feature.cs | 164 ++ .../ScenariosWithSpecialCharacters.feature | 33 + .../ScenariosWithSpecialCharacters.feature.cs | 138 + test-harness/nunit3/nunit3.csproj | 146 + test-harness/nunit3/packages.config | 7 + .../packagesNonNuget/xunit.runner/HTML.xslt | 126 + .../xunit.runner/NUnitXml.xslt | 121 + .../packagesNonNuget/xunit.runner/license.txt | 13 + .../xunit.runner/xunit.console.clr4.exe | Bin 0 -> 26112 bytes .../xunit.console.clr4.exe.config | 21 + .../xunit.runner/xunit.console.clr4.x86.exe | Bin 0 -> 26112 bytes .../xunit.console.clr4.x86.exe.config | 21 + .../xunit.runner/xunit.console.exe | Bin 0 -> 25600 bytes .../xunit.runner/xunit.console.exe.config | 21 + .../xunit.runner/xunit.console.x86.exe | Bin 0 -> 25600 bytes .../xunit.runner/xunit.console.x86.exe.config | 21 + .../packagesNonNuget/xunit.runner/xunit.dll | Bin 0 -> 69632 bytes .../xunit.runner/xunit.dll.tdnet | 5 + .../xunit.runner/xunit.extensions.dll | Bin 0 -> 24064 bytes .../xunit.runner/xunit.extensions.xml | 811 +++++ .../xunit.runner/xunit.gui.clr4.exe | Bin 0 -> 485888 bytes .../xunit.runner/xunit.gui.clr4.x86.exe | Bin 0 -> 485888 bytes .../xunit.runner/xunit.gui.exe | Bin 0 -> 485888 bytes .../xunit.runner/xunit.gui.x86.exe | Bin 0 -> 485888 bytes .../xunit.runner/xunit.runner.msbuild.dll | Bin 0 -> 25088 bytes .../xunit.runner/xunit.runner.tdnet.dll | Bin 0 -> 8704 bytes .../xunit.runner/xunit.runner.utility.dll | Bin 0 -> 47104 bytes .../xunit.runner/xunit.runner.utility.xml | 1212 ++++++++ .../packagesNonNuget/xunit.runner/xunit.xml | 2611 +++++++++++++++++ test-harness/xunit/Addition.feature | 46 + test-harness/xunit/Addition.feature.cs | 223 ++ test-harness/xunit/App.config | 13 + test-harness/xunit/FailingBackground.feature | 24 + .../xunit/FailingBackground.feature.cs | 151 + .../xunit/Minimal Features/Failing.feature | 10 + .../xunit/Minimal Features/Failing.feature.cs | 135 + .../Minimal Features/Inconclusive.feature | 7 + .../Minimal Features/Inconclusive.feature.cs | 121 + .../xunit/Minimal Features/Passing.feature | 4 + .../xunit/Minimal Features/Passing.feature.cs | 107 + test-harness/xunit/NotAutomatedAtAll.feature | 19 + .../xunit/NotAutomatedAtAll.feature.cs | 161 + test-harness/xunit/Properties/AssemblyInfo.cs | 36 + test-harness/xunit/ScenarioOutlines.feature | 78 + .../xunit/ScenarioOutlines.feature.cs | 194 ++ .../ScenariosWithSpecialCharacters.feature | 33 + .../ScenariosWithSpecialCharacters.feature.cs | 165 ++ test-harness/xunit/packages.config | 7 + test-harness/xunit/xunit.csproj | 150 + test-harness/xunit2/Addition.feature | 46 + test-harness/xunit2/Addition.feature.cs | 223 ++ test-harness/xunit2/FailingBackground.feature | 24 + .../xunit2/FailingBackground.feature.cs | 151 + .../xunit2/Minimal Features/Failing.feature | 10 + .../Minimal Features/Failing.feature.cs | 135 + .../Minimal Features/Inconclusive.feature | 7 + .../Minimal Features/Inconclusive.feature.cs | 121 + .../xunit2/Minimal Features/Passing.feature | 4 + .../Minimal Features/Passing.feature.cs | 107 + test-harness/xunit2/NotAutomatedAtAll.feature | 19 + .../xunit2/NotAutomatedAtAll.feature.cs | 161 + .../xunit2/Properties/AssemblyInfo.cs | 36 + test-harness/xunit2/ScenarioOutlines.feature | 78 + .../xunit2/ScenarioOutlines.feature.cs | 194 ++ .../ScenariosWithSpecialCharacters.feature | 33 + .../ScenariosWithSpecialCharacters.feature.cs | 165 ++ test-harness/xunit2/XunitCompatibility.cs | 32 + test-harness/xunit2/app.config | 13 + test-harness/xunit2/packages.config | 12 + test-harness/xunit2/xunit2.csproj | 168 ++ 188 files changed, 16106 insertions(+), 4 deletions(-) create mode 100644 CreateTestresults.cmd create mode 100644 test-harness/AutomationLayer/AdditionSteps.cs create mode 100644 test-harness/AutomationLayer/App.config create mode 100644 test-harness/AutomationLayer/AutomationLayer.csproj create mode 100644 test-harness/AutomationLayer/MinimalFeatures/MinimalSteps.cs create mode 100644 test-harness/AutomationLayer/Properties/AssemblyInfo.cs create mode 100644 test-harness/AutomationLayer/ScenarioOutlineSteps.cs create mode 100644 test-harness/AutomationLayer/packages.config create mode 100644 test-harness/Cucumber/features/Addition.feature create mode 100644 test-harness/Cucumber/features/FailingBackground.feature create mode 100644 test-harness/Cucumber/features/Minimal Features/Failing.feature create mode 100644 test-harness/Cucumber/features/Minimal Features/Inconclusive.feature create mode 100644 test-harness/Cucumber/features/Minimal Features/Passing.feature create mode 100644 test-harness/Cucumber/features/NotAutomatedAtAll.feature create mode 100644 test-harness/Cucumber/features/ScenarioOutlines.feature create mode 100644 test-harness/Cucumber/features/ScenariosWithSpecialCharacters.feature create mode 100644 test-harness/Cucumber/features/step_definitions/AdditionSteps.rb create mode 100644 test-harness/Cucumber/features/step_definitions/MinimalSteps.rb create mode 100644 test-harness/Cucumber/features/step_definitions/ScenarioOutlineSteps.rb create mode 100644 test-harness/Cucumber/features/support/env.rb create mode 100644 test-harness/CucumberJS/features/Addition.feature create mode 100644 test-harness/CucumberJS/features/FailingBackground.feature create mode 100644 test-harness/CucumberJS/features/Minimal Features/Failing.feature create mode 100644 test-harness/CucumberJS/features/Minimal Features/Inconclusive.feature create mode 100644 test-harness/CucumberJS/features/Minimal Features/Passing.feature create mode 100644 test-harness/CucumberJS/features/NotAutomatedAtAll.feature create mode 100644 test-harness/CucumberJS/features/ScenarioOutlines.feature create mode 100644 test-harness/CucumberJS/features/ScenariosWithSpecialCharacters.feature create mode 100644 test-harness/CucumberJS/features/stepdefinitions/AdditionSteps.js create mode 100644 test-harness/CucumberJS/features/stepdefinitions/MinimalSteps.js create mode 100644 test-harness/CucumberJS/features/stepdefinitions/ScenarioOutlineSteps.js create mode 100644 test-harness/CucumberJS/script/model/calculator.js create mode 100644 test-harness/MsTest/Addition.feature create mode 100644 test-harness/MsTest/Addition.feature.cs create mode 100644 test-harness/MsTest/App.config create mode 100644 test-harness/MsTest/FailingBackground.feature create mode 100644 test-harness/MsTest/FailingBackground.feature.cs create mode 100644 test-harness/MsTest/Minimal Features/Failing.feature create mode 100644 test-harness/MsTest/Minimal Features/Failing.feature.cs create mode 100644 test-harness/MsTest/Minimal Features/Inconclusive.feature create mode 100644 test-harness/MsTest/Minimal Features/Inconclusive.feature.cs create mode 100644 test-harness/MsTest/Minimal Features/Passing.feature create mode 100644 test-harness/MsTest/Minimal Features/Passing.feature.cs create mode 100644 test-harness/MsTest/MsTest.csproj create mode 100644 test-harness/MsTest/NotAutomatedAtAll.feature create mode 100644 test-harness/MsTest/NotAutomatedAtAll.feature.cs create mode 100644 test-harness/MsTest/OrdinaryUnitTest.cs create mode 100644 test-harness/MsTest/Properties/AssemblyInfo.cs create mode 100644 test-harness/MsTest/ScenarioOutlines.feature create mode 100644 test-harness/MsTest/ScenarioOutlines.feature.cs create mode 100644 test-harness/MsTest/ScenariosWithSpecialCharacters.feature create mode 100644 test-harness/MsTest/ScenariosWithSpecialCharacters.feature.cs create mode 100644 test-harness/MsTest/packages.config create mode 100644 test-harness/SpecRun/Addition.feature create mode 100644 test-harness/SpecRun/Addition.feature.cs create mode 100644 test-harness/SpecRun/App.config create mode 100644 test-harness/SpecRun/CustomReportTemplate.cshtml create mode 100644 test-harness/SpecRun/Default.srprofile create mode 100644 test-harness/SpecRun/FailingBackground.feature create mode 100644 test-harness/SpecRun/FailingBackground.feature.cs create mode 100644 test-harness/SpecRun/Minimal Features/Failing.feature create mode 100644 test-harness/SpecRun/Minimal Features/Failing.feature.cs create mode 100644 test-harness/SpecRun/Minimal Features/Inconclusive.feature create mode 100644 test-harness/SpecRun/Minimal Features/Inconclusive.feature.cs create mode 100644 test-harness/SpecRun/Minimal Features/Passing.feature create mode 100644 test-harness/SpecRun/Minimal Features/Passing.feature.cs create mode 100644 test-harness/SpecRun/NotAutomatedAtAll.feature create mode 100644 test-harness/SpecRun/NotAutomatedAtAll.feature.cs create mode 100644 test-harness/SpecRun/Properties/AssemblyInfo.cs create mode 100644 test-harness/SpecRun/ScenarioOutlines.feature create mode 100644 test-harness/SpecRun/ScenarioOutlines.feature.cs create mode 100644 test-harness/SpecRun/ScenariosWithSpecialCharacters.feature create mode 100644 test-harness/SpecRun/ScenariosWithSpecialCharacters.feature.cs create mode 100644 test-harness/SpecRun/SpecRun.csproj create mode 100644 test-harness/SpecRun/SpecRunTestProfile.xsd create mode 100644 test-harness/SpecRun/packages.config create mode 100644 test-harness/SpecRun/runtests.cmd create mode 100644 test-harness/TestHarness.sln create mode 100644 test-harness/TestHarness.sln.GhostDoc.xml create mode 100644 test-harness/TestSettings.testsettings create mode 100644 test-harness/nunit/Addition.feature create mode 100644 test-harness/nunit/Addition.feature.cs create mode 100644 test-harness/nunit/App.config create mode 100644 test-harness/nunit/FailingBackground.feature create mode 100644 test-harness/nunit/FailingBackground.feature.cs create mode 100644 test-harness/nunit/Minimal Features/Failing.feature create mode 100644 test-harness/nunit/Minimal Features/Failing.feature.cs create mode 100644 test-harness/nunit/Minimal Features/Inconclusive.feature create mode 100644 test-harness/nunit/Minimal Features/Inconclusive.feature.cs create mode 100644 test-harness/nunit/Minimal Features/Passing.feature create mode 100644 test-harness/nunit/Minimal Features/Passing.feature.cs create mode 100644 test-harness/nunit/NotAutomatedAtAll.feature create mode 100644 test-harness/nunit/NotAutomatedAtAll.feature.cs create mode 100644 test-harness/nunit/Properties/AssemblyInfo.cs create mode 100644 test-harness/nunit/ScenarioOutlines.feature create mode 100644 test-harness/nunit/ScenarioOutlines.feature.cs create mode 100644 test-harness/nunit/ScenariosWithSpecialCharacters.feature create mode 100644 test-harness/nunit/ScenariosWithSpecialCharacters.feature.cs create mode 100644 test-harness/nunit/nunit.csproj create mode 100644 test-harness/nunit/packages.config create mode 100644 test-harness/nunit3/Addition.feature create mode 100644 test-harness/nunit3/Addition.feature.cs create mode 100644 test-harness/nunit3/App.config create mode 100644 test-harness/nunit3/FailingBackground.feature create mode 100644 test-harness/nunit3/FailingBackground.feature.cs create mode 100644 test-harness/nunit3/Minimal Features/Failing.feature create mode 100644 test-harness/nunit3/Minimal Features/Failing.feature.cs create mode 100644 test-harness/nunit3/Minimal Features/Inconclusive.feature create mode 100644 test-harness/nunit3/Minimal Features/Inconclusive.feature.cs create mode 100644 test-harness/nunit3/Minimal Features/Passing.feature create mode 100644 test-harness/nunit3/Minimal Features/Passing.feature.cs create mode 100644 test-harness/nunit3/NotAutomatedAtAll.feature create mode 100644 test-harness/nunit3/NotAutomatedAtAll.feature.cs create mode 100644 test-harness/nunit3/Properties/AssemblyInfo.cs create mode 100644 test-harness/nunit3/ScenarioOutlines.feature create mode 100644 test-harness/nunit3/ScenarioOutlines.feature.cs create mode 100644 test-harness/nunit3/ScenariosWithSpecialCharacters.feature create mode 100644 test-harness/nunit3/ScenariosWithSpecialCharacters.feature.cs create mode 100644 test-harness/nunit3/nunit3.csproj create mode 100644 test-harness/nunit3/packages.config create mode 100644 test-harness/packagesNonNuget/xunit.runner/HTML.xslt create mode 100644 test-harness/packagesNonNuget/xunit.runner/NUnitXml.xslt create mode 100644 test-harness/packagesNonNuget/xunit.runner/license.txt create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.exe create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.exe.config create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.x86.exe create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.x86.exe.config create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.console.exe create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.console.exe.config create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.console.x86.exe create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.console.x86.exe.config create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.dll create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.dll.tdnet create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.extensions.dll create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.extensions.xml create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.gui.clr4.exe create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.gui.clr4.x86.exe create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.gui.exe create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.gui.x86.exe create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.runner.msbuild.dll create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.runner.tdnet.dll create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.runner.utility.dll create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.runner.utility.xml create mode 100644 test-harness/packagesNonNuget/xunit.runner/xunit.xml create mode 100644 test-harness/xunit/Addition.feature create mode 100644 test-harness/xunit/Addition.feature.cs create mode 100644 test-harness/xunit/App.config create mode 100644 test-harness/xunit/FailingBackground.feature create mode 100644 test-harness/xunit/FailingBackground.feature.cs create mode 100644 test-harness/xunit/Minimal Features/Failing.feature create mode 100644 test-harness/xunit/Minimal Features/Failing.feature.cs create mode 100644 test-harness/xunit/Minimal Features/Inconclusive.feature create mode 100644 test-harness/xunit/Minimal Features/Inconclusive.feature.cs create mode 100644 test-harness/xunit/Minimal Features/Passing.feature create mode 100644 test-harness/xunit/Minimal Features/Passing.feature.cs create mode 100644 test-harness/xunit/NotAutomatedAtAll.feature create mode 100644 test-harness/xunit/NotAutomatedAtAll.feature.cs create mode 100644 test-harness/xunit/Properties/AssemblyInfo.cs create mode 100644 test-harness/xunit/ScenarioOutlines.feature create mode 100644 test-harness/xunit/ScenarioOutlines.feature.cs create mode 100644 test-harness/xunit/ScenariosWithSpecialCharacters.feature create mode 100644 test-harness/xunit/ScenariosWithSpecialCharacters.feature.cs create mode 100644 test-harness/xunit/packages.config create mode 100644 test-harness/xunit/xunit.csproj create mode 100644 test-harness/xunit2/Addition.feature create mode 100644 test-harness/xunit2/Addition.feature.cs create mode 100644 test-harness/xunit2/FailingBackground.feature create mode 100644 test-harness/xunit2/FailingBackground.feature.cs create mode 100644 test-harness/xunit2/Minimal Features/Failing.feature create mode 100644 test-harness/xunit2/Minimal Features/Failing.feature.cs create mode 100644 test-harness/xunit2/Minimal Features/Inconclusive.feature create mode 100644 test-harness/xunit2/Minimal Features/Inconclusive.feature.cs create mode 100644 test-harness/xunit2/Minimal Features/Passing.feature create mode 100644 test-harness/xunit2/Minimal Features/Passing.feature.cs create mode 100644 test-harness/xunit2/NotAutomatedAtAll.feature create mode 100644 test-harness/xunit2/NotAutomatedAtAll.feature.cs create mode 100644 test-harness/xunit2/Properties/AssemblyInfo.cs create mode 100644 test-harness/xunit2/ScenarioOutlines.feature create mode 100644 test-harness/xunit2/ScenarioOutlines.feature.cs create mode 100644 test-harness/xunit2/ScenariosWithSpecialCharacters.feature create mode 100644 test-harness/xunit2/ScenariosWithSpecialCharacters.feature.cs create mode 100644 test-harness/xunit2/XunitCompatibility.cs create mode 100644 test-harness/xunit2/app.config create mode 100644 test-harness/xunit2/packages.config create mode 100644 test-harness/xunit2/xunit2.csproj diff --git a/.gitignore b/.gitignore index ec8d3ece4..89048f442 100644 --- a/.gitignore +++ b/.gitignore @@ -90,3 +90,7 @@ src/Pickles/.vs/config/applicationhost.config src/Pickles/Pickles/PortabilityAnalysis.html src/Pickles/.vs/config/applicationhost.config TestResult.xml + +# test harness +test-harness/packages/ +node_modules/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b53844806..6dc764fca 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,18 +12,46 @@ Pickles is a volunteer effort. We encourage you to pitch in! ### To Contribute to the Test Results Providers -If you find a bug in a Test Result Provider and want to contribute towards fixing it, start of by adding a scenario or feature file that shows off the bug to the test harness solution in the [pickles-testresults repository](https://github.com/picklesdoc/pickles-testresults). Add the scenario to the projects of each test result provider: it is quite likely that the same bug will occur across several test result providers. Don't forget the Cucumber and CucumberJS providers: it's easy to overlook them because they are not in the visual studio solution. +If you find a bug in a Test Result Provider and want to contribute towards fixing it, start of by adding a scenario or feature file that shows off the bug to the test harness solution in the `test-harness` directory.. Add the scenario to the projects of each test result provider: it is quite likely that the same bug will occur across several test result providers. Don't forget the Cucumber and CucumberJS providers: it's easy to overlook them because they are not in the visual studio solution. Implement the automation layer in .NET, Ruby and JS if you are able. If you create your scenarios so that they use only steps from the other feature files, then you will most likely not need this step. -Use the `CreateTestresults.cmd` script to create test result files and to deploy them to the source code of Pickles. This step depends on you having checked out the `pickles` and `pickles-testresults` repositories in the same parent directory. +Use the `CreateTestresults.cmd` script to create test result files and to deploy them to the source code of Pickles. Please remember to build the `TestHarness.sln` solution first! Extend the set of unit tests for the unit test providers. Your best bet is to add test scenarios to the [Standard Test Suite](https://github.com/picklesdoc/pickles/blob/develop/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuite.cs). Now comes the boring part: for each class that derives from `StandardTestSuite`, add methods in that class that call the test scenarios that you added in `StandardTestSuite`. -You will now have several failing tests. You can now go and fix them :-) +You will now have several failing tests. You can now go and fix them :-) Once you're done, send a pull request. +#### Setting up the Test Harness + +the `test-harness` directory contains the scenarios from which test results are derived to test the parsing of test results in Pickles + +##### .NET Code + +The .NET code is found in `./TestHarness/TestHarness.sln` solution. You will need [Visual Studio 2015](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) in order to open the solution; the free Community version is fine. Remember to restore the NuGet packages before you compile. + +##### Cucumber/Ruby Code + +In order to generate the thest output of the Cucumber features, you need to install the following software: + +- [Ruby](http://rubyinstaller.org/downloads): use the stable 2.2.x version +- Install Cucumber by opening an admin-enabled command line window in the directory where you cloned this repository, and running these gem commands: + - `gem install cucumber` + - `gem install rspec` + + +##### CucumberJS/JS Code + +In order to generate the test output of the CucumberJS features, you need to install the following software: + +- [Node.js](https://nodejs.org/en/download/): the LTE version is good enough. You may have to restart your computer. You can optionally verify the installation of Node.js by running these two commands from a command line: + - `node -v` + - `npm -v` +- Install CucumberJS by opening an admin-enabled command line window in the directory where you cloned this repository, and running the `npm install --save-dev cucumber` command. + + ## To Contribute Documentation - Fork the `doc` repository diff --git a/CreateTestresults.cmd b/CreateTestresults.cmd new file mode 100644 index 000000000..714dfe4e9 --- /dev/null +++ b/CreateTestresults.cmd @@ -0,0 +1,41 @@ +@echo off +@pushd %~dp0 + +ECHO Remember to build the solution first! + +"%~dp0\test-harness\packages\NUnit.Runners.2.6.4\tools\nunit-console.exe" "%~dp0\test-harness\nunit\bin\Debug\nunitHarness.dll" /result="%~dp0\results-example-nunit.xml" + +"%~dp0\test-harness\packages\NUnit.Console.3.0.0\tools\nunit3-console.exe" "%~dp0\test-harness\nunit3\bin\Debug\nunit3Harness.dll" /result="%~dp0\results-example-nunit3.xml" + +"%~dp0\test-harness\packages\SpecRun.Runner.1.2.0\tools\specrun.exe" run default.srprofile "/baseFolder:%~dp0\test-harness\SpecRun\bin\Debug" /log:specrun.log /report:"%~dp0\results-example-specrun.html" + +"%~dp0\test-harness\packagesNonNuget\xunit.runner\xunit.console.clr4.exe" "%~dp0\test-harness\xunit\bin\Debug\xunitHarness.dll" /xml "%~dp0\results-example-xunit.xml" + +"%~dp0\test-harness\packages\xunit.runner.console.2.1.0\tools\xunit.console.exe" "%~dp0\test-harness\xunit2\bin\Debug\xunit2Harness.dll" -xml "%~dp0\results-example-xunit2.xml" -parallel none + +del "%~dp0\results-example-mstest.trx" +"%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe" /testcontainer:"%~dp0\test-harness\mstest\bin\Debug\mstestHarness.dll" /resultsfile:"%~dp0\results-example-mstest.trx" /testsettings:"%~dp0\test-harness\TestSettings.testsettings" + +cd "%~dp0\test-harness\Cucumber" +call cucumber --format json_pretty --out "%~dp0\results-example-json.json" --tags ~@ignore +cd "%~dp0" + +cd "%~dp0\test-harness\CucumberJS" +call ..\..\node_modules\.bin\cucumber-js --format json:"..\..\results-example-cucumberjs-json.json" --tags ~@ignore +cd "%~dp0" + +rmdir /s /q "%~dp0\TestResults\" +"%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "%~dp0\test-harness\mstest\bin\Debug\mstestHarness.dll" /logger:trx +FOR /R "%~dp0\TestResults\" %%G IN (*.trx) DO move "%%G" "%~dp0\results-example-vstest.trx" + +move "%~dp0\results-example-nunit.xml" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\NUnit\NUnit2\" +move "%~dp0\results-example-nunit3.xml" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\NUnit\NUnit3\" +move "%~dp0\results-example-xunit.xml" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\XUnit\XUnit1\" +move "%~dp0\results-example-xunit2.xml" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\XUnit\XUnit2\" +move "%~dp0\results-example-specrun.html" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\SpecRun\" +move "%~dp0\results-example-json.json" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\CucumberJSON\" +move "%~dp0\results-example-mstest.trx" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\MsTest\" +move "%~dp0\results-example-cucumberjs-json.json" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\CucumberJSON\" +move "%~dp0\results-example-vstest.trx" "%~dp0\src\Pickles\Pickles.TestFrameworks.UnitTests\VsTest\" + +@popd diff --git a/README.md b/README.md index 30c972c8f..ea8f7534e 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Supported Test Runner Integrations Contributing ------------ -It's easy to contribute to Pickles, just setup an account on github and fork the project. When you have some code to contribute, send a pull request! There are plenty of ideas for contributions on the wiki and in the issues list. +Pickles welcomes contributions from the community! Please refer to [Contributing.md](https://github.com/picklesdoc/pickles/blob/develop/CONTRIBUTING.md) for more information on how to contribute and how to set up your environment. License ------- diff --git a/test-harness/AutomationLayer/AdditionSteps.cs b/test-harness/AutomationLayer/AdditionSteps.cs new file mode 100644 index 000000000..fdd3b41e4 --- /dev/null +++ b/test-harness/AutomationLayer/AdditionSteps.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using Shouldly; +using TechTalk.SpecFlow; + +namespace AutomationLayer +{ + [Binding] + public class AdditionSteps + { + private List numbersList; + + private int result; + + [Given(@"the calculator has clean memory")] + public void GivenTheCalculatorHasCleanMemory() + { + this.numbersList = new List(); + this.result = 0; + } + + [Given(@"the background step fails")] + public void GivenTheBackgroundStepFails() + { + 1.ShouldBe(2); + } + + [Given(@"I have entered (.*) into the calculator")] + public void GivenIHaveEnteredIntoTheCalculator(Decimal p0) + { + this.numbersList.Add((int)p0); + } + + [When(@"I press add")] + public void WhenIPressAdd() + { + foreach (var i in this.numbersList) + { + this.result += i; + } + } + + [Then(@"the result should be (.*) on the screen")] + public void ThenTheResultShouldBeOnTheScreen(int p0) + { + this.result.ShouldBe(p0); + } + } +} diff --git a/test-harness/AutomationLayer/App.config b/test-harness/AutomationLayer/App.config new file mode 100644 index 000000000..4f03aecb9 --- /dev/null +++ b/test-harness/AutomationLayer/App.config @@ -0,0 +1,9 @@ + + + +
+ + + + + diff --git a/test-harness/AutomationLayer/AutomationLayer.csproj b/test-harness/AutomationLayer/AutomationLayer.csproj new file mode 100644 index 000000000..e44463a7c --- /dev/null +++ b/test-harness/AutomationLayer/AutomationLayer.csproj @@ -0,0 +1,71 @@ + + + + + Debug + AnyCPU + {073862DE-D599-4941-9716-03206CF1CFA2} + Library + Properties + AutomationLayer + AutomationLayer + v4.5 + 512 + ..\ + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + False + ..\packages\Shouldly.2.1.1\lib\net40\Shouldly.dll + + + + + + + + + + ..\packages\SpecFlow.1.9.0\lib\net35\TechTalk.SpecFlow.dll + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test-harness/AutomationLayer/MinimalFeatures/MinimalSteps.cs b/test-harness/AutomationLayer/MinimalFeatures/MinimalSteps.cs new file mode 100644 index 000000000..2a19c595d --- /dev/null +++ b/test-harness/AutomationLayer/MinimalFeatures/MinimalSteps.cs @@ -0,0 +1,27 @@ +using System; +using Shouldly; +using TechTalk.SpecFlow; + +namespace AutomationLayer.MinimalFeatures +{ + [Binding] + public class MinimalSteps + { + [Then(@"passing step")] + public void ThenPassingStep() + { + } + + [Then(@"inconclusive step")] + public void ThenInconclusiveStep() + { + ScenarioContext.Current.Pending(); + } + + [Then(@"failing step")] + public void ThenFailingStep() + { + true.ShouldBe(false); + } + } +} diff --git a/test-harness/AutomationLayer/Properties/AssemblyInfo.cs b/test-harness/AutomationLayer/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..72c946d96 --- /dev/null +++ b/test-harness/AutomationLayer/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AutomationLayer")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("AIM Software")] +[assembly: AssemblyProduct("AutomationLayer")] +[assembly: AssemblyCopyright("Copyright © AIM Software 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f91ae381-e0a7-4360-85ea-ff5ee05745a7")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test-harness/AutomationLayer/ScenarioOutlineSteps.cs b/test-harness/AutomationLayer/ScenarioOutlineSteps.cs new file mode 100644 index 000000000..8dfb2d274 --- /dev/null +++ b/test-harness/AutomationLayer/ScenarioOutlineSteps.cs @@ -0,0 +1,47 @@ +using System; + +using Shouldly; + +using TechTalk.SpecFlow; + +namespace AutomationLayer +{ + [Binding] + public class ScenarioOutlineSteps + { + [Then(@"the scenario will '(.*)'")] + public void ThenTheScenarioWill(string result) + { + if (result.ToUpperInvariant().StartsWith("PASS")) + { + // nothing to be done + } + else if (result.ToUpperInvariant().StartsWith("FAIL")) + { + true.ShouldBe(false); + } + else + { + ScenarioContext.Current.Pending(); + } + } + + [When(@"I have special characters for regexes in the value, for example a '(.*)'")] + public void WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex(string regex) + { + // nothing to be done + } + + [When(@"I have backslashes in the value, for example a '(.*)'")] + public void WhenIHaveBackslashesInTheValueForExampleAFilePath(string filePath) + { + // nothing to be done + } + + [When(@"I have parenthesis in the value, for example an '(.*)'")] + public void WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField(string description) + { + // nothing to be done - test case requires pass + } + } +} diff --git a/test-harness/AutomationLayer/packages.config b/test-harness/AutomationLayer/packages.config new file mode 100644 index 000000000..a0b524124 --- /dev/null +++ b/test-harness/AutomationLayer/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/test-harness/Cucumber/features/Addition.feature b/test-harness/Cucumber/features/Addition.feature new file mode 100644 index 000000000..b1aee1f37 --- /dev/null +++ b/test-harness/Cucumber/features/Addition.feature @@ -0,0 +1,46 @@ +Feature: Addition + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +Background: + Given the calculator has clean memory + +@tag2 +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | + +@tag1 +Scenario: Add two numbers + Given I have entered 1 into the calculator + And I have entered 2 into the calculator + When I press add + Then the result should be 3 on the screen + +@tag1 +Scenario: Fail to add two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +@ignore +Scenario: Ignored adding two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +Scenario: Not automated adding two numbers + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/Cucumber/features/FailingBackground.feature b/test-harness/Cucumber/features/FailingBackground.feature new file mode 100644 index 000000000..99c245fdc --- /dev/null +++ b/test-harness/Cucumber/features/FailingBackground.feature @@ -0,0 +1,24 @@ +Feature: Failing Background +This feature has a failing background. + +Background: + Given the background step fails + And the calculator has clean memory + +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | diff --git a/test-harness/Cucumber/features/Minimal Features/Failing.feature b/test-harness/Cucumber/features/Minimal Features/Failing.feature new file mode 100644 index 000000000..cfea2ed25 --- /dev/null +++ b/test-harness/Cucumber/features/Minimal Features/Failing.feature @@ -0,0 +1,10 @@ +Feature: Failing + +Scenario: Failing Feature Passing Scenario + Then passing step + +Scenario: Failing Feature Inconclusive Scenario + Then inconclusive step + +Scenario: Failing Feature Failing Scenario + Then failing step diff --git a/test-harness/Cucumber/features/Minimal Features/Inconclusive.feature b/test-harness/Cucumber/features/Minimal Features/Inconclusive.feature new file mode 100644 index 000000000..ee594c98b --- /dev/null +++ b/test-harness/Cucumber/features/Minimal Features/Inconclusive.feature @@ -0,0 +1,7 @@ +Feature: Inconclusive + +Scenario: Inconclusive Feature Passing Scenario + Then passing step + +Scenario: Inconclusive Feature Inconclusive Scenario + Then inconclusive step diff --git a/test-harness/Cucumber/features/Minimal Features/Passing.feature b/test-harness/Cucumber/features/Minimal Features/Passing.feature new file mode 100644 index 000000000..0aa8f7625 --- /dev/null +++ b/test-harness/Cucumber/features/Minimal Features/Passing.feature @@ -0,0 +1,4 @@ +Feature: Passing + +Scenario: Passing Feature Passing Scenario + Then passing step diff --git a/test-harness/Cucumber/features/NotAutomatedAtAll.feature b/test-harness/Cucumber/features/NotAutomatedAtAll.feature new file mode 100644 index 000000000..2e0911aa6 --- /dev/null +++ b/test-harness/Cucumber/features/NotAutomatedAtAll.feature @@ -0,0 +1,19 @@ +Feature: Not Automated At All + +Background: + Given unimplemented step + +Scenario: Not automated scenario 1 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 2 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 3 + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/Cucumber/features/ScenarioOutlines.feature b/test-harness/Cucumber/features/ScenarioOutlines.feature new file mode 100644 index 000000000..01c86bf39 --- /dev/null +++ b/test-harness/Cucumber/features/ScenarioOutlines.feature @@ -0,0 +1,78 @@ +Feature: Scenario Outlines + Here we demonstrate how we deal with scenario outlines + +Scenario Outline: This is a scenario outline where all scenarios pass + + This means the entire scenario outline passes. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | pass_3 | + + +Scenario Outline: This is a scenario outline where one scenario is inconclusive + + This means the entire scenario outline is inconclusive. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | inconclusive_1 | + + +Scenario Outline: This is a scenario outline where one scenario fails + + This means the entire scenario outline fails. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | fail_1 | + + +Scenario Outline: And we can go totally bonkers with multiple example sections. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + + Examples: + | result | + | inconclusive_1 | + | inconclusive_2 | + + Examples: + | result | + | fail_1 | + | fail_2 | + + +Scenario Outline: Deal correctly with backslashes in the examples + + When I have backslashes in the value, for example a '' + + Examples: + | file path | + | c:\Temp\ | + + +Scenario Outline: Deal correctly with parenthesis in the examples + + When I have parenthesis in the value, for example an '' + + Examples: + | overly descriptive field | + | This is a description (and more) | diff --git a/test-harness/Cucumber/features/ScenariosWithSpecialCharacters.feature b/test-harness/Cucumber/features/ScenariosWithSpecialCharacters.feature new file mode 100644 index 000000000..408724653 --- /dev/null +++ b/test-harness/Cucumber/features/ScenariosWithSpecialCharacters.feature @@ -0,0 +1,33 @@ +Feature: Scenarios With Special Characters + Here we demonstrate usage of special characters in scenario names + +Background: + Given the calculator has clean memory + +Scenario: This is a scenario with parentheses, hyphen and comma (10-20, 30-40) + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + + +Scenario Outline: This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) + Then the scenario will '' + + Examples: + | result | + | pass_1 | + +Scenario Outline: This scenario contains examples with Regex-special characters + When I have special characters for regexes in the value, for example a '' + Then the scenario will 'pass_1' + + Examples: + | regex | + | ** | + | ++ | + | .* | + | [] | + | {} | + | () | + | ^.*(?BAR)\s[^0-9]{3,4}A+$ | \ No newline at end of file diff --git a/test-harness/Cucumber/features/step_definitions/AdditionSteps.rb b/test-harness/Cucumber/features/step_definitions/AdditionSteps.rb new file mode 100644 index 000000000..6de34b066 --- /dev/null +++ b/test-harness/Cucumber/features/step_definitions/AdditionSteps.rb @@ -0,0 +1,30 @@ +Given(/^the calculator has clean memory$/) do + @result = 0 + @numbersList = [] +end + +Given(/^I have entered (\d+) into the calculator$/) do |arg1| + @numbersList << arg1.to_i +end + +Given(/^I have entered (\d+)\.(\d+) into the calculator$/) do |arg1, arg2| + expect("this is a hacky way of making the scenario with a non-integer number").to eql("fail") +end + +When(/^I press add$/) do + @numbersList.each do |number| + @result = @result + number + end +end + +Then(/^the result should be (\d+) on the screen$/) do |arg1| + expect(@result).to eql(arg1.to_i) +end + +Then(/^the result should be (\d+)\.(\d+) on the screen$/) do |arg1, arg2| + expect("this is a hacky way of making the scenario with a non-integer number").to eql("fail") +end + +Given(/^the background step fails$/) do + expect("true").to eql("false") +end diff --git a/test-harness/Cucumber/features/step_definitions/MinimalSteps.rb b/test-harness/Cucumber/features/step_definitions/MinimalSteps.rb new file mode 100644 index 000000000..7bdee88bd --- /dev/null +++ b/test-harness/Cucumber/features/step_definitions/MinimalSteps.rb @@ -0,0 +1,11 @@ +Then(/^passing step$/) do + # Nothing to be done here +end + +Then(/^inconclusive step$/) do + pending # We want pending here +end + +Then(/^failing step$/) do + expect("true").to eql("false") +end diff --git a/test-harness/Cucumber/features/step_definitions/ScenarioOutlineSteps.rb b/test-harness/Cucumber/features/step_definitions/ScenarioOutlineSteps.rb new file mode 100644 index 000000000..3cf37dfa1 --- /dev/null +++ b/test-harness/Cucumber/features/step_definitions/ScenarioOutlineSteps.rb @@ -0,0 +1,23 @@ +Then(/^the scenario will 'pass_(\d+)'$/) do |arg1| + # Nothing to be done here +end + +Then(/^the scenario will 'inconclusive_(\d+)'$/) do |arg1| + pending # We want pending here +end + +Then(/^the scenario will 'fail_(\d+)'$/) do |arg1| + expect("true").to eql("false") +end + +When(/^I have backslashes in the value, for example a 'c:\\Temp\\'$/) do + # Nothing to be done here +end + +When(/^I have parenthesis in the value, for example an '(.*)'$/) do |arg1| + #Nothing to be done here +end + +When(/^I have special characters for regexes in the value, for example a '(.*)'$/) do |arg1| + #Nothing to be done here +end \ No newline at end of file diff --git a/test-harness/Cucumber/features/support/env.rb b/test-harness/Cucumber/features/support/env.rb new file mode 100644 index 000000000..ac66ee5f3 --- /dev/null +++ b/test-harness/Cucumber/features/support/env.rb @@ -0,0 +1 @@ +require 'rspec/expectations' diff --git a/test-harness/CucumberJS/features/Addition.feature b/test-harness/CucumberJS/features/Addition.feature new file mode 100644 index 000000000..b1aee1f37 --- /dev/null +++ b/test-harness/CucumberJS/features/Addition.feature @@ -0,0 +1,46 @@ +Feature: Addition + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +Background: + Given the calculator has clean memory + +@tag2 +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | + +@tag1 +Scenario: Add two numbers + Given I have entered 1 into the calculator + And I have entered 2 into the calculator + When I press add + Then the result should be 3 on the screen + +@tag1 +Scenario: Fail to add two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +@ignore +Scenario: Ignored adding two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +Scenario: Not automated adding two numbers + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/CucumberJS/features/FailingBackground.feature b/test-harness/CucumberJS/features/FailingBackground.feature new file mode 100644 index 000000000..99c245fdc --- /dev/null +++ b/test-harness/CucumberJS/features/FailingBackground.feature @@ -0,0 +1,24 @@ +Feature: Failing Background +This feature has a failing background. + +Background: + Given the background step fails + And the calculator has clean memory + +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | diff --git a/test-harness/CucumberJS/features/Minimal Features/Failing.feature b/test-harness/CucumberJS/features/Minimal Features/Failing.feature new file mode 100644 index 000000000..cfea2ed25 --- /dev/null +++ b/test-harness/CucumberJS/features/Minimal Features/Failing.feature @@ -0,0 +1,10 @@ +Feature: Failing + +Scenario: Failing Feature Passing Scenario + Then passing step + +Scenario: Failing Feature Inconclusive Scenario + Then inconclusive step + +Scenario: Failing Feature Failing Scenario + Then failing step diff --git a/test-harness/CucumberJS/features/Minimal Features/Inconclusive.feature b/test-harness/CucumberJS/features/Minimal Features/Inconclusive.feature new file mode 100644 index 000000000..ee594c98b --- /dev/null +++ b/test-harness/CucumberJS/features/Minimal Features/Inconclusive.feature @@ -0,0 +1,7 @@ +Feature: Inconclusive + +Scenario: Inconclusive Feature Passing Scenario + Then passing step + +Scenario: Inconclusive Feature Inconclusive Scenario + Then inconclusive step diff --git a/test-harness/CucumberJS/features/Minimal Features/Passing.feature b/test-harness/CucumberJS/features/Minimal Features/Passing.feature new file mode 100644 index 000000000..0aa8f7625 --- /dev/null +++ b/test-harness/CucumberJS/features/Minimal Features/Passing.feature @@ -0,0 +1,4 @@ +Feature: Passing + +Scenario: Passing Feature Passing Scenario + Then passing step diff --git a/test-harness/CucumberJS/features/NotAutomatedAtAll.feature b/test-harness/CucumberJS/features/NotAutomatedAtAll.feature new file mode 100644 index 000000000..2e0911aa6 --- /dev/null +++ b/test-harness/CucumberJS/features/NotAutomatedAtAll.feature @@ -0,0 +1,19 @@ +Feature: Not Automated At All + +Background: + Given unimplemented step + +Scenario: Not automated scenario 1 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 2 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 3 + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/CucumberJS/features/ScenarioOutlines.feature b/test-harness/CucumberJS/features/ScenarioOutlines.feature new file mode 100644 index 000000000..01c86bf39 --- /dev/null +++ b/test-harness/CucumberJS/features/ScenarioOutlines.feature @@ -0,0 +1,78 @@ +Feature: Scenario Outlines + Here we demonstrate how we deal with scenario outlines + +Scenario Outline: This is a scenario outline where all scenarios pass + + This means the entire scenario outline passes. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | pass_3 | + + +Scenario Outline: This is a scenario outline where one scenario is inconclusive + + This means the entire scenario outline is inconclusive. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | inconclusive_1 | + + +Scenario Outline: This is a scenario outline where one scenario fails + + This means the entire scenario outline fails. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | fail_1 | + + +Scenario Outline: And we can go totally bonkers with multiple example sections. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + + Examples: + | result | + | inconclusive_1 | + | inconclusive_2 | + + Examples: + | result | + | fail_1 | + | fail_2 | + + +Scenario Outline: Deal correctly with backslashes in the examples + + When I have backslashes in the value, for example a '' + + Examples: + | file path | + | c:\Temp\ | + + +Scenario Outline: Deal correctly with parenthesis in the examples + + When I have parenthesis in the value, for example an '' + + Examples: + | overly descriptive field | + | This is a description (and more) | diff --git a/test-harness/CucumberJS/features/ScenariosWithSpecialCharacters.feature b/test-harness/CucumberJS/features/ScenariosWithSpecialCharacters.feature new file mode 100644 index 000000000..408724653 --- /dev/null +++ b/test-harness/CucumberJS/features/ScenariosWithSpecialCharacters.feature @@ -0,0 +1,33 @@ +Feature: Scenarios With Special Characters + Here we demonstrate usage of special characters in scenario names + +Background: + Given the calculator has clean memory + +Scenario: This is a scenario with parentheses, hyphen and comma (10-20, 30-40) + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + + +Scenario Outline: This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) + Then the scenario will '' + + Examples: + | result | + | pass_1 | + +Scenario Outline: This scenario contains examples with Regex-special characters + When I have special characters for regexes in the value, for example a '' + Then the scenario will 'pass_1' + + Examples: + | regex | + | ** | + | ++ | + | .* | + | [] | + | {} | + | () | + | ^.*(?BAR)\s[^0-9]{3,4}A+$ | \ No newline at end of file diff --git a/test-harness/CucumberJS/features/stepdefinitions/AdditionSteps.js b/test-harness/CucumberJS/features/stepdefinitions/AdditionSteps.js new file mode 100644 index 000000000..c9c5c15c3 --- /dev/null +++ b/test-harness/CucumberJS/features/stepdefinitions/AdditionSteps.js @@ -0,0 +1,39 @@ +'use strict'; + +var Calculator = require(process.cwd() + '/script/model/calculator'); +var assert = require('assert'); + +module.exports = function() { + + var myCalculator; + + this.Given(/^the calculator has clean memory$/, function (callback) { + myCalculator = Calculator.create(); + callback(); + }); + + this.Given(/^I have entered (.*) into the calculator$/, function (firstNumber, callback) { + myCalculator.enter(firstNumber); + callback(); + }); + + this.Given(/^I have entered (\d+)\.(\d+) into the calculator$/, function (firstNumber, secondNumber, callback) { + assert.equal("this is a hacky way of making the scenario with a non-integer number", "fail"); + callback(); + }); + + this.When(/^I press add$/, function (callback) { + myCalculator.add(); + callback(); + }); + + this.Then(/^the result should be (.*) on the screen$/, function (arg1, callback) { + assert.equal(myCalculator.result, parseInt(arg1)); + callback(); + }); + + this.Given(/^the background step fails$/, function (callback) { + assert.equal("true", "false"); + callback(); + }); +} diff --git a/test-harness/CucumberJS/features/stepdefinitions/MinimalSteps.js b/test-harness/CucumberJS/features/stepdefinitions/MinimalSteps.js new file mode 100644 index 000000000..d31ee1bdc --- /dev/null +++ b/test-harness/CucumberJS/features/stepdefinitions/MinimalSteps.js @@ -0,0 +1,21 @@ +'use strict'; + +var assert = require('assert'); + +module.exports = function() { + + this.Then(/^passing step$/, function (callback) { + // nothing to be done here + callback(); + }); + + this.Then(/^inconclusive step$/, function (callback) { + // we want pending here + callback(null, 'pending'); + }); + + this.Then(/^failing step$/, function (callback) { + assert.equal("true", "false"); + callback(); + }); +}; diff --git a/test-harness/CucumberJS/features/stepdefinitions/ScenarioOutlineSteps.js b/test-harness/CucumberJS/features/stepdefinitions/ScenarioOutlineSteps.js new file mode 100644 index 000000000..afb48b9db --- /dev/null +++ b/test-harness/CucumberJS/features/stepdefinitions/ScenarioOutlineSteps.js @@ -0,0 +1,36 @@ +'use strict'; + +var assert = require('assert'); + +module.exports = function() { + + this.Then(/^the scenario will 'pass_(\d+)'$/, function (result, callback) { + // nothing to be done here + callback(); + }); + + this.Then(/^the scenario will 'inconclusive_(\d+)'$/, function (result, callback) { + // we want pending here + callback(null, 'pending'); + }); + + this.Then(/^the scenario will 'fail_(\d+)'$/, function (result, callback) { + assert.equal("true", "false"); + callback(); + }); + + this.When(/^I have backslashes in the value, for example a '(.*)'$/, function (filePath, callback) { + // nothing to be done here + callback(); + }); + + this.When(/^I have parenthesis in the value, for example an '(.*)'$/, function (description, callback) { + // nothing to be done here + callback(); + }); + + this.When(/^I have special characters for regexes in the value, for example a '(.*)'$/, function (description, callback) { + // nothing to be done here + callback(); + }); +}; diff --git a/test-harness/CucumberJS/script/model/calculator.js b/test-harness/CucumberJS/script/model/calculator.js new file mode 100644 index 000000000..060abaaca --- /dev/null +++ b/test-harness/CucumberJS/script/model/calculator.js @@ -0,0 +1,26 @@ +'use strict'; + +var calculator = { + enter: function(item) { + this.list.push(parseInt(item)); + }, + add: function() { + var index; + for (index = 0; index < this.list.length; index++) { + this.result = this.result + this.list[index]; + } + }, +}; + +module.exports = { + create: function() { + return Object.create(calculator, { + 'list': { + value: [], + writable: false, + enumerable: true + }, + 'result': { value: 0, writable: true } + }); + } +}; diff --git a/test-harness/MsTest/Addition.feature b/test-harness/MsTest/Addition.feature new file mode 100644 index 000000000..238e261e9 --- /dev/null +++ b/test-harness/MsTest/Addition.feature @@ -0,0 +1,46 @@ +Feature: Addition + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +Background: + Given the calculator has clean memory + +@tag2 +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | + +@tag1 +Scenario: Add two numbers + Given I have entered 1 into the calculator + And I have entered 2 into the calculator + When I press add + Then the result should be 3 on the screen + +@tag1 +Scenario: Fail to add two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +@ignore +Scenario: Ignored adding two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +Scenario: Not automated adding two numbers + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/MsTest/Addition.feature.cs b/test-harness/MsTest/Addition.feature.cs new file mode 100644 index 000000000..b5aed87e7 --- /dev/null +++ b/test-harness/MsTest/Addition.feature.cs @@ -0,0 +1,229 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.MsTest +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()] + public partial class AdditionFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Addition.feature" +#line hidden + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()] + public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext) + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Addition", "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be told the sum of t" + + "wo numbers", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupAttribute()] + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute()] + public virtual void TestInitialize() + { + if (((TechTalk.SpecFlow.FeatureContext.Current != null) + && (TechTalk.SpecFlow.FeatureContext.Current.FeatureInfo.Title != "Addition"))) + { + Pickles.TestHarness.MsTest.AdditionFeature.FeatureSetup(null); + } + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 6 +#line 7 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + string[] @__tags = new string[] { + "tag2"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", @__tags); +#line 10 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 11 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 12 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 13 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 14 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 15 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Adding several numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Addition")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute("tag2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "60")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:first number", "60")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:second number", "70")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:third number", "130")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "260")] + public virtual void AddingSeveralNumbers_60() + { + this.AddingSeveralNumbers("60", "70", "130", "260", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Adding several numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Addition")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute("tag2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "40")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:first number", "40")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:second number", "50")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:third number", "90")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "180")] + public virtual void AddingSeveralNumbers_40() + { + this.AddingSeveralNumbers("40", "50", "90", "180", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Add two numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Addition")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute("tag1")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] { + "tag1"}); +#line 23 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 24 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 25 + testRunner.And("I have entered 2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 26 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 27 + testRunner.Then("the result should be 3 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Fail to add two numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Addition")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCategoryAttribute("tag1")] + public virtual void FailToAddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fail to add two numbers", new string[] { + "tag1"}); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 31 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 32 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 33 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 34 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Ignored adding two numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Addition")] + [Microsoft.VisualStudio.TestTools.UnitTesting.IgnoreAttribute()] + public virtual void IgnoredAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Ignored adding two numbers", new string[] { + "ignore"}); +#line 37 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 38 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 39 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 40 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 41 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Not automated adding two numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Addition")] + public virtual void NotAutomatedAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated adding two numbers", ((string[])(null))); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 44 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 45 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 46 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/MsTest/App.config b/test-harness/MsTest/App.config new file mode 100644 index 000000000..a44d679c3 --- /dev/null +++ b/test-harness/MsTest/App.config @@ -0,0 +1,13 @@ + + + +
+ + + + + + + + + diff --git a/test-harness/MsTest/FailingBackground.feature b/test-harness/MsTest/FailingBackground.feature new file mode 100644 index 000000000..83a70483a --- /dev/null +++ b/test-harness/MsTest/FailingBackground.feature @@ -0,0 +1,24 @@ +Feature: Failing Background +This feature has a failing background. + +Background: + Given the background step fails + And the calculator has clean memory + +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | diff --git a/test-harness/MsTest/FailingBackground.feature.cs b/test-harness/MsTest/FailingBackground.feature.cs new file mode 100644 index 000000000..b8dd97c5a --- /dev/null +++ b/test-harness/MsTest/FailingBackground.feature.cs @@ -0,0 +1,152 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.MsTest +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()] + public partial class FailingBackgroundFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "FailingBackground.feature" +#line hidden + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()] + public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext) + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing Background", "This feature has a failing background.", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupAttribute()] + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute()] + public virtual void TestInitialize() + { + if (((TechTalk.SpecFlow.FeatureContext.Current != null) + && (TechTalk.SpecFlow.FeatureContext.Current.FeatureInfo.Title != "Failing Background"))) + { + Pickles.TestHarness.MsTest.FailingBackgroundFeature.FeatureSetup(null); + } + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the background step fails", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 6 + testRunner.And("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Add two numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Failing Background")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", ((string[])(null))); +#line 8 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 9 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 10 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 11 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 12 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 16 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 17 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 18 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Adding several numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Failing Background")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "60")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:first number", "60")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:second number", "70")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:third number", "130")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "260")] + public virtual void AddingSeveralNumbers_60() + { + this.AddingSeveralNumbers("60", "70", "130", "260", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Adding several numbers")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Failing Background")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "40")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:first number", "40")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:second number", "50")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:third number", "90")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "180")] + public virtual void AddingSeveralNumbers_40() + { + this.AddingSeveralNumbers("40", "50", "90", "180", ((string[])(null))); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/MsTest/Minimal Features/Failing.feature b/test-harness/MsTest/Minimal Features/Failing.feature new file mode 100644 index 000000000..d7c5b7f53 --- /dev/null +++ b/test-harness/MsTest/Minimal Features/Failing.feature @@ -0,0 +1,10 @@ +Feature: Failing + +Scenario: Failing Feature Passing Scenario + Then passing step + +Scenario: Failing Feature Inconclusive Scenario + Then inconclusive step + +Scenario: Failing Feature Failing Scenario + Then failing step \ No newline at end of file diff --git a/test-harness/MsTest/Minimal Features/Failing.feature.cs b/test-harness/MsTest/Minimal Features/Failing.feature.cs new file mode 100644 index 000000000..2184a702a --- /dev/null +++ b/test-harness/MsTest/Minimal Features/Failing.feature.cs @@ -0,0 +1,115 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.MsTest.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()] + public partial class FailingFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Failing.feature" +#line hidden + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()] + public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext) + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupAttribute()] + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute()] + public virtual void TestInitialize() + { + if (((TechTalk.SpecFlow.FeatureContext.Current != null) + && (TechTalk.SpecFlow.FeatureContext.Current.FeatureInfo.Title != "Failing"))) + { + Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FeatureSetup(null); + } + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Failing Feature Passing Scenario")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Failing")] + public virtual void FailingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Failing Feature Inconclusive Scenario")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Failing")] + public virtual void FailingFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Failing Feature Failing Scenario")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Failing")] + public virtual void FailingFeatureFailingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Failing Scenario", ((string[])(null))); +#line 9 +this.ScenarioSetup(scenarioInfo); +#line 10 + testRunner.Then("failing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/MsTest/Minimal Features/Inconclusive.feature b/test-harness/MsTest/Minimal Features/Inconclusive.feature new file mode 100644 index 000000000..7ce63f2d5 --- /dev/null +++ b/test-harness/MsTest/Minimal Features/Inconclusive.feature @@ -0,0 +1,7 @@ +Feature: Inconclusive + +Scenario: Inconclusive Feature Passing Scenario + Then passing step + +Scenario: Inconclusive Feature Inconclusive Scenario + Then inconclusive step \ No newline at end of file diff --git a/test-harness/MsTest/Minimal Features/Inconclusive.feature.cs b/test-harness/MsTest/Minimal Features/Inconclusive.feature.cs new file mode 100644 index 000000000..5d211b93b --- /dev/null +++ b/test-harness/MsTest/Minimal Features/Inconclusive.feature.cs @@ -0,0 +1,101 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.MsTest.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()] + public partial class InconclusiveFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Inconclusive.feature" +#line hidden + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()] + public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext) + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Inconclusive", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupAttribute()] + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute()] + public virtual void TestInitialize() + { + if (((TechTalk.SpecFlow.FeatureContext.Current != null) + && (TechTalk.SpecFlow.FeatureContext.Current.FeatureInfo.Title != "Inconclusive"))) + { + Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.FeatureSetup(null); + } + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Inconclusive Feature Passing Scenario")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Inconclusive")] + public virtual void InconclusiveFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Inconclusive Feature Inconclusive Scenario")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Inconclusive")] + public virtual void InconclusiveFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/MsTest/Minimal Features/Passing.feature b/test-harness/MsTest/Minimal Features/Passing.feature new file mode 100644 index 000000000..14bf35e22 --- /dev/null +++ b/test-harness/MsTest/Minimal Features/Passing.feature @@ -0,0 +1,4 @@ +Feature: Passing + +Scenario: Passing Feature Passing Scenario + Then passing step diff --git a/test-harness/MsTest/Minimal Features/Passing.feature.cs b/test-harness/MsTest/Minimal Features/Passing.feature.cs new file mode 100644 index 000000000..c1bcb807e --- /dev/null +++ b/test-harness/MsTest/Minimal Features/Passing.feature.cs @@ -0,0 +1,87 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.MsTest.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()] + public partial class PassingFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Passing.feature" +#line hidden + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()] + public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext) + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Passing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupAttribute()] + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute()] + public virtual void TestInitialize() + { + if (((TechTalk.SpecFlow.FeatureContext.Current != null) + && (TechTalk.SpecFlow.FeatureContext.Current.FeatureInfo.Title != "Passing"))) + { + Pickles.TestHarness.MsTest.MinimalFeatures.PassingFeature.FeatureSetup(null); + } + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Passing Feature Passing Scenario")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Passing")] + public virtual void PassingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Passing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/MsTest/MsTest.csproj b/test-harness/MsTest/MsTest.csproj new file mode 100644 index 000000000..c2d14aadb --- /dev/null +++ b/test-harness/MsTest/MsTest.csproj @@ -0,0 +1,172 @@ + + + + Debug + AnyCPU + {0DBA6FCA-5D66-4187-932D-64B55D67E287} + Library + Properties + Pickles.TestHarness.MsTest + MsTestHarness + v4.5 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + ..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + ..\packages\SpecFlow.1.9.0\lib\net35\TechTalk.SpecFlow.dll + + + + + + + + + + + + + + + + + Addition.feature + True + True + + + True + True + FailingBackground.feature + + + True + True + Failing.feature + + + True + True + Inconclusive.feature + + + NotAutomatedAtAll.feature + True + True + + + True + True + Passing.feature + + + + ScenarioOutlines.feature + True + True + + + + True + True + ScenariosWithSpecialCharacters.feature + + + + + SpecFlowSingleFileGenerator + Addition.feature.cs + + + + SpecFlowSingleFileGenerator + FailingBackground.feature.cs + + + SpecFlowSingleFileGenerator + Failing.feature.cs + + + SpecFlowSingleFileGenerator + Inconclusive.feature.cs + + + SpecFlowSingleFileGenerator + NotAutomatedAtAll.feature.cs + + + Designer + + + SpecFlowSingleFileGenerator + Passing.feature.cs + + + SpecFlowSingleFileGenerator + ScenarioOutlines.feature.cs + + + SpecFlowSingleFileGenerator + ScenariosWithSpecialCharacters.feature.cs + + + + + {073862de-d599-4941-9716-03206cf1cfa2} + AutomationLayer + + + + + + + False + + + False + + + False + + + False + + + + + + + + \ No newline at end of file diff --git a/test-harness/MsTest/NotAutomatedAtAll.feature b/test-harness/MsTest/NotAutomatedAtAll.feature new file mode 100644 index 000000000..3bbfcb669 --- /dev/null +++ b/test-harness/MsTest/NotAutomatedAtAll.feature @@ -0,0 +1,19 @@ +Feature: Not Automated At All + +Background: + Given unimplemented step + +Scenario: Not automated scenario 1 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 2 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 3 + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/MsTest/NotAutomatedAtAll.feature.cs b/test-harness/MsTest/NotAutomatedAtAll.feature.cs new file mode 100644 index 000000000..1822045fa --- /dev/null +++ b/test-harness/MsTest/NotAutomatedAtAll.feature.cs @@ -0,0 +1,141 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.MsTest +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()] + public partial class NotAutomatedAtAllFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "NotAutomatedAtAll.feature" +#line hidden + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()] + public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext) + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Not Automated At All", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupAttribute()] + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute()] + public virtual void TestInitialize() + { + if (((TechTalk.SpecFlow.FeatureContext.Current != null) + && (TechTalk.SpecFlow.FeatureContext.Current.FeatureInfo.Title != "Not Automated At All"))) + { + Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.FeatureSetup(null); + } + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 3 +#line 4 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Not automated scenario 1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Not Automated At All")] + public virtual void NotAutomatedScenario1() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 1", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 7 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 8 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 9 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Not automated scenario 2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Not Automated At All")] + public virtual void NotAutomatedScenario2() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 2", ((string[])(null))); +#line 11 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 12 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 13 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 14 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Not automated scenario 3")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Not Automated At All")] + public virtual void NotAutomatedScenario3() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 3", ((string[])(null))); +#line 16 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 17 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 18 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/MsTest/OrdinaryUnitTest.cs b/test-harness/MsTest/OrdinaryUnitTest.cs new file mode 100644 index 000000000..21af4d8b1 --- /dev/null +++ b/test-harness/MsTest/OrdinaryUnitTest.cs @@ -0,0 +1,20 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Pickles.TestHarness.MsTest +{ + /// + /// The ordinary unit test. + /// + [TestClass] + public class OrdinaryUnitTest + { + /// + /// The test method that tests something related to Addition feature. + /// + [TestMethod] + [TestProperty("FeatureTitle", "Addition")] + public void TestMethod() + { + } + } +} diff --git a/test-harness/MsTest/Properties/AssemblyInfo.cs b/test-harness/MsTest/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..d800f8ed2 --- /dev/null +++ b/test-harness/MsTest/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MsTest")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MsTest")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e72eb554-9284-4846-ad46-49bc14fc43ce")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test-harness/MsTest/ScenarioOutlines.feature b/test-harness/MsTest/ScenarioOutlines.feature new file mode 100644 index 000000000..d6cfb9d48 --- /dev/null +++ b/test-harness/MsTest/ScenarioOutlines.feature @@ -0,0 +1,78 @@ +Feature: Scenario Outlines + Here we demonstrate how we deal with scenario outlines + +Scenario Outline: This is a scenario outline where all scenarios pass + + This means the entire scenario outline passes. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | pass_3 | + + +Scenario Outline: This is a scenario outline where one scenario is inconclusive + + This means the entire scenario outline is inconclusive. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | inconclusive_1 | + + +Scenario Outline: This is a scenario outline where one scenario fails + + This means the entire scenario outline fails. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | fail_1 | + + +Scenario Outline: And we can go totally bonkers with multiple example sections. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + + Examples: + | result | + | inconclusive_1 | + | inconclusive_2 | + + Examples: + | result | + | fail_1 | + | fail_2 | + + +Scenario Outline: Deal correctly with backslashes in the examples + + When I have backslashes in the value, for example a '' + + Examples: + | file path | + | c:\Temp\ | + + +Scenario Outline: Deal correctly with parenthesis in the examples + + When I have parenthesis in the value, for example an '' + + Examples: + | overly descriptive field | + | This is a description (and more) | \ No newline at end of file diff --git a/test-harness/MsTest/ScenarioOutlines.feature.cs b/test-harness/MsTest/ScenarioOutlines.feature.cs new file mode 100644 index 000000000..678e9186d --- /dev/null +++ b/test-harness/MsTest/ScenarioOutlines.feature.cs @@ -0,0 +1,309 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.MsTest +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()] + public partial class ScenarioOutlinesFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenarioOutlines.feature" +#line hidden + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()] + public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext) + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenario Outlines", "Here we demonstrate how we deal with scenario outlines", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupAttribute()] + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute()] + public virtual void TestInitialize() + { + if (((TechTalk.SpecFlow.FeatureContext.Current != null) + && (TechTalk.SpecFlow.FeatureContext.Current.FeatureInfo.Title != "Scenario Outlines"))) + { + Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.FeatureSetup(null); + } + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where all scenarios pass", exampleTags); +#line 4 +this.ScenarioSetup(scenarioInfo); +#line 8 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where all scenarios pass")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_1")] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass_Pass_1() + { + this.ThisIsAScenarioOutlineWhereAllScenariosPass("pass_1", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where all scenarios pass")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_2")] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass_Pass_2() + { + this.ThisIsAScenarioOutlineWhereAllScenariosPass("pass_2", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where all scenarios pass")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_3")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_3")] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass_Pass_3() + { + this.ThisIsAScenarioOutlineWhereAllScenariosPass("pass_3", ((string[])(null))); + } + + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario is inconclusive", exampleTags); +#line 17 +this.ScenarioSetup(scenarioInfo); +#line 21 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where one scenario is inconclusive")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_1")] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Pass_1() + { + this.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive("pass_1", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where one scenario is inconclusive")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_2")] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Pass_2() + { + this.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive("pass_2", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where one scenario is inconclusive")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "inconclusive_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "inconclusive_1")] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() + { + this.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive("inconclusive_1", ((string[])(null))); + } + + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario fails", exampleTags); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 34 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where one scenario fails")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_1")] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails_Pass_1() + { + this.ThisIsAScenarioOutlineWhereOneScenarioFails("pass_1", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where one scenario fails")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_2")] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails_Pass_2() + { + this.ThisIsAScenarioOutlineWhereOneScenarioFails("pass_2", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline where one scenario fails")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "fail_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "fail_1")] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() + { + this.ThisIsAScenarioOutlineWhereOneScenarioFails("fail_1", ((string[])(null))); + } + + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections_(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("And we can go totally bonkers with multiple example sections.", exampleTags); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 45 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("And we can go totally bonkers with multiple example sections.")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_1")] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet0_Pass_1() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("pass_1", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("And we can go totally bonkers with multiple example sections.")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_2")] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet0_Pass_2() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("pass_2", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("And we can go totally bonkers with multiple example sections.")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "inconclusive_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "inconclusive_1")] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("inconclusive_1", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("And we can go totally bonkers with multiple example sections.")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "inconclusive_2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "inconclusive_2")] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("inconclusive_2", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("And we can go totally bonkers with multiple example sections.")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "fail_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "fail_1")] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("fail_1", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("And we can go totally bonkers with multiple example sections.")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "fail_2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "fail_2")] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("fail_2", ((string[])(null))); + } + + public virtual void DealCorrectlyWithBackslashesInTheExamples(string filePath, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with backslashes in the examples", exampleTags); +#line 63 +this.ScenarioSetup(scenarioInfo); +#line 65 + testRunner.When(string.Format("I have backslashes in the value, for example a \'{0}\'", filePath), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Deal correctly with backslashes in the examples")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "c:\\Temp\\")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:file path", "c:\\Temp\\")] + public virtual void DealCorrectlyWithBackslashesInTheExamples_CTemp() + { + this.DealCorrectlyWithBackslashesInTheExamples("c:\\Temp\\", ((string[])(null))); + } + + public virtual void DealCorrectlyWithParenthesisInTheExamples(string overlyDescriptiveField, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with parenthesis in the examples", exampleTags); +#line 72 +this.ScenarioSetup(scenarioInfo); +#line 74 + testRunner.When(string.Format("I have parenthesis in the value, for example an \'{0}\'", overlyDescriptiveField), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Deal correctly with parenthesis in the examples")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "This is a description (and more)")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:overly descriptive field", "This is a description (and more)")] + public virtual void DealCorrectlyWithParenthesisInTheExamples_ThisIsADescriptionAndMore() + { + this.DealCorrectlyWithParenthesisInTheExamples("This is a description (and more)", ((string[])(null))); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/MsTest/ScenariosWithSpecialCharacters.feature b/test-harness/MsTest/ScenariosWithSpecialCharacters.feature new file mode 100644 index 000000000..eec8f83ed --- /dev/null +++ b/test-harness/MsTest/ScenariosWithSpecialCharacters.feature @@ -0,0 +1,33 @@ +Feature: Scenarios With Special Characters + Here we demonstrate usage of special characters in scenario names + +Background: + Given the calculator has clean memory + +Scenario: This is a scenario with parentheses, hyphen and comma (10-20, 30-40) + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + + +Scenario Outline: This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) + Then the scenario will '' + + Examples: + | result | + | pass_1 | + +Scenario Outline: This scenario contains examples with Regex-special characters + When I have special characters for regexes in the value, for example a '' + Then the scenario will 'PASS' + + Examples: + | regex | + | ** | + | ++ | + | .* | + | [] | + | {} | + | () | + | ^.*(?BAR)\s[^0-9]{3,4}A+$ | diff --git a/test-harness/MsTest/ScenariosWithSpecialCharacters.feature.cs b/test-harness/MsTest/ScenariosWithSpecialCharacters.feature.cs new file mode 100644 index 000000000..943ea099e --- /dev/null +++ b/test-harness/MsTest/ScenariosWithSpecialCharacters.feature.cs @@ -0,0 +1,211 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.MsTest +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute()] + public partial class ScenariosWithSpecialCharactersFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenariosWithSpecialCharacters.feature" +#line hidden + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassInitializeAttribute()] + public static void FeatureSetup(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext) + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenarios With Special Characters", "Here we demonstrate usage of special characters in scenario names", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.ClassCleanupAttribute()] + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestInitializeAttribute()] + public virtual void TestInitialize() + { + if (((TechTalk.SpecFlow.FeatureContext.Current != null) + && (TechTalk.SpecFlow.FeatureContext.Current.FeatureInfo.Title != "Scenarios With Special Characters"))) + { + Pickles.TestHarness.MsTest.ScenariosWithSpecialCharactersFeature.FeatureSetup(null); + } + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestCleanupAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + public virtual void ThisIsAScenarioWithParenthesesHyphenAndComma10_2030_40() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)", ((string[])(null))); +#line 7 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 8 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 9 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 10 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 11 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + public virtual void ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "pass_1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:result", "pass_1")] + public virtual void ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40_Pass_1() + { + this.ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40("pass_1", ((string[])(null))); + } + + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters(string regex, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This scenario contains examples with Regex-special characters", exampleTags); +#line 21 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 22 + testRunner.When(string.Format("I have special characters for regexes in the value, for example a \'{0}\'", regex), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 23 + testRunner.Then("the scenario will \'PASS\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "Variant 0")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:regex", "**")] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant0() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("**", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "Variant 1")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:regex", "++")] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant1() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("++", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "Variant 2")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:regex", ".*")] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant2() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters(".*", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "Variant 3")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:regex", "[]")] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant3() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("[]", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "Variant 4")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:regex", "{}")] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant4() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("{}", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "Variant 5")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:regex", "()")] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant5() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("()", ((string[])(null))); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "Variant 6")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:regex", "^.*(?BAR)\\s[^0-9]{3,4}A+$")] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant6() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("^.*(?BAR)\\s[^0-9]{3,4}A+$", ((string[])(null))); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/MsTest/packages.config b/test-harness/MsTest/packages.config new file mode 100644 index 000000000..c6658054d --- /dev/null +++ b/test-harness/MsTest/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/test-harness/SpecRun/Addition.feature b/test-harness/SpecRun/Addition.feature new file mode 100644 index 000000000..238e261e9 --- /dev/null +++ b/test-harness/SpecRun/Addition.feature @@ -0,0 +1,46 @@ +Feature: Addition + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +Background: + Given the calculator has clean memory + +@tag2 +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | + +@tag1 +Scenario: Add two numbers + Given I have entered 1 into the calculator + And I have entered 2 into the calculator + When I press add + Then the result should be 3 on the screen + +@tag1 +Scenario: Fail to add two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +@ignore +Scenario: Ignored adding two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +Scenario: Not automated adding two numbers + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/SpecRun/Addition.feature.cs b/test-harness/SpecRun/Addition.feature.cs new file mode 100644 index 000000000..7b3669e78 --- /dev/null +++ b/test-harness/SpecRun/Addition.feature.cs @@ -0,0 +1,208 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18052 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace SpecRun +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [TechTalk.SpecRun.FeatureAttribute("Addition", Description="In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be told the sum of t" + + "wo numbers")] + public partial class AdditionFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Addition.feature" +#line hidden + + [TechTalk.SpecRun.FeatureInitialize()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Addition", "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be told the sum of t" + + "wo numbers", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [TechTalk.SpecRun.FeatureCleanup()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + [TechTalk.SpecRun.ScenarioCleanup()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 6 +#line 7 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + string[] @__tags = new string[] { + "tag2"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", @__tags); +#line 10 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 11 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 12 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 13 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 14 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 15 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Adding several numbers, 60", new string[] { + "tag2"})] + public virtual void AddingSeveralNumbers_60() + { + this.AddingSeveralNumbers("60", "70", "130", "260", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("Adding several numbers, 40", new string[] { + "tag2"})] + public virtual void AddingSeveralNumbers_40() + { + this.AddingSeveralNumbers("40", "50", "90", "180", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("Add two numbers", new string[] { + "tag1"})] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] { + "tag1"}); +#line 23 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 24 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 25 + testRunner.And("I have entered 2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 26 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 27 + testRunner.Then("the result should be 3 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Fail to add two numbers", new string[] { + "tag1"})] + public virtual void FailToAddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fail to add two numbers", new string[] { + "tag1"}); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 31 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 32 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 33 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 34 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Ignored adding two numbers")] + [TechTalk.SpecRun.IgnoreAttribute()] + public virtual void IgnoredAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Ignored adding two numbers", new string[] { + "ignore"}); +#line 37 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 38 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 39 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 40 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 41 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Not automated adding two numbers")] + public virtual void NotAutomatedAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated adding two numbers", ((string[])(null))); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 44 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 45 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 46 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.TestRunCleanup()] + public virtual void TestRunCleanup() + { +TechTalk.SpecFlow.TestRunnerManager.GetTestRunner().OnTestRunEnd(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/SpecRun/App.config b/test-harness/SpecRun/App.config new file mode 100644 index 000000000..521cc9e30 --- /dev/null +++ b/test-harness/SpecRun/App.config @@ -0,0 +1,16 @@ + + + +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/test-harness/SpecRun/CustomReportTemplate.cshtml b/test-harness/SpecRun/CustomReportTemplate.cshtml new file mode 100644 index 000000000..69ae56f5a --- /dev/null +++ b/test-harness/SpecRun/CustomReportTemplate.cshtml @@ -0,0 +1,49 @@ + +@using System.Linq +@using System.Globalization +@using TechTalk.SpecRun.Framework +@using TechTalk.SpecRun.Framework.Results +@using TechTalk.SpecRun.Framework.TestSuiteStructure + +@helper GetResultForPickles(TestNode testNode) +{ + var summary = GetSummary(testNode); + + if (summary.Succeeded > 0) + {Passed} + else if (summary.TotalFailure > 0) + {Failed} + else if (summary.Ignored > 0) + {Ignored} + else if (summary.Pending > 0) + {Pending} + else + {Inconclusive} +} + + + + + + + + + \ No newline at end of file diff --git a/test-harness/SpecRun/Default.srprofile b/test-harness/SpecRun/Default.srprofile new file mode 100644 index 000000000..463a1f910 --- /dev/null +++ b/test-harness/SpecRun/Default.srprofile @@ -0,0 +1,29 @@ + + + + + + + SpecRun.dll + + + + + + + + diff --git a/test-harness/SpecRun/FailingBackground.feature b/test-harness/SpecRun/FailingBackground.feature new file mode 100644 index 000000000..83a70483a --- /dev/null +++ b/test-harness/SpecRun/FailingBackground.feature @@ -0,0 +1,24 @@ +Feature: Failing Background +This feature has a failing background. + +Background: + Given the background step fails + And the calculator has clean memory + +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | diff --git a/test-harness/SpecRun/FailingBackground.feature.cs b/test-harness/SpecRun/FailingBackground.feature.cs new file mode 100644 index 000000000..dacc7da88 --- /dev/null +++ b/test-harness/SpecRun/FailingBackground.feature.cs @@ -0,0 +1,136 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace SpecRun +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [TechTalk.SpecRun.FeatureAttribute("Failing Background", Description="This feature has a failing background.", SourceFile="FailingBackground.feature", SourceLine=0)] + public partial class FailingBackgroundFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "FailingBackground.feature" +#line hidden + + [TechTalk.SpecRun.FeatureInitialize()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing Background", "This feature has a failing background.", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [TechTalk.SpecRun.FeatureCleanup()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + [TechTalk.SpecRun.ScenarioCleanup()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the background step fails", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 6 + testRunner.And("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + + [TechTalk.SpecRun.ScenarioAttribute("Add two numbers", SourceLine=7)] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", ((string[])(null))); +#line 8 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 9 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 10 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 11 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 12 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 16 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 17 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 18 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Adding several numbers, 60", SourceLine=22)] + public virtual void AddingSeveralNumbers_60() + { + this.AddingSeveralNumbers("60", "70", "130", "260", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("Adding several numbers, 40", SourceLine=23)] + public virtual void AddingSeveralNumbers_40() + { + this.AddingSeveralNumbers("40", "50", "90", "180", ((string[])(null))); + } + + [TechTalk.SpecRun.TestRunCleanup()] + public virtual void TestRunCleanup() + { +TechTalk.SpecFlow.TestRunnerManager.GetTestRunner().OnTestRunEnd(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/SpecRun/Minimal Features/Failing.feature b/test-harness/SpecRun/Minimal Features/Failing.feature new file mode 100644 index 000000000..d7c5b7f53 --- /dev/null +++ b/test-harness/SpecRun/Minimal Features/Failing.feature @@ -0,0 +1,10 @@ +Feature: Failing + +Scenario: Failing Feature Passing Scenario + Then passing step + +Scenario: Failing Feature Inconclusive Scenario + Then inconclusive step + +Scenario: Failing Feature Failing Scenario + Then failing step \ No newline at end of file diff --git a/test-harness/SpecRun/Minimal Features/Failing.feature.cs b/test-harness/SpecRun/Minimal Features/Failing.feature.cs new file mode 100644 index 000000000..917b07d45 --- /dev/null +++ b/test-harness/SpecRun/Minimal Features/Failing.feature.cs @@ -0,0 +1,109 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18052 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace SpecRun.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [TechTalk.SpecRun.FeatureAttribute("Failing")] + public partial class FailingFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Failing.feature" +#line hidden + + [TechTalk.SpecRun.FeatureInitialize()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [TechTalk.SpecRun.FeatureCleanup()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + [TechTalk.SpecRun.ScenarioCleanup()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Failing Feature Passing Scenario")] + public virtual void FailingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Failing Feature Inconclusive Scenario")] + public virtual void FailingFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Failing Feature Failing Scenario")] + public virtual void FailingFeatureFailingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Failing Scenario", ((string[])(null))); +#line 9 +this.ScenarioSetup(scenarioInfo); +#line 10 + testRunner.Then("failing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.TestRunCleanup()] + public virtual void TestRunCleanup() + { +TechTalk.SpecFlow.TestRunnerManager.GetTestRunner().OnTestRunEnd(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/SpecRun/Minimal Features/Inconclusive.feature b/test-harness/SpecRun/Minimal Features/Inconclusive.feature new file mode 100644 index 000000000..7ce63f2d5 --- /dev/null +++ b/test-harness/SpecRun/Minimal Features/Inconclusive.feature @@ -0,0 +1,7 @@ +Feature: Inconclusive + +Scenario: Inconclusive Feature Passing Scenario + Then passing step + +Scenario: Inconclusive Feature Inconclusive Scenario + Then inconclusive step \ No newline at end of file diff --git a/test-harness/SpecRun/Minimal Features/Inconclusive.feature.cs b/test-harness/SpecRun/Minimal Features/Inconclusive.feature.cs new file mode 100644 index 000000000..17b47e12e --- /dev/null +++ b/test-harness/SpecRun/Minimal Features/Inconclusive.feature.cs @@ -0,0 +1,97 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18052 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace SpecRun.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [TechTalk.SpecRun.FeatureAttribute("Inconclusive")] + public partial class InconclusiveFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Inconclusive.feature" +#line hidden + + [TechTalk.SpecRun.FeatureInitialize()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Inconclusive", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [TechTalk.SpecRun.FeatureCleanup()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + [TechTalk.SpecRun.ScenarioCleanup()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Inconclusive Feature Passing Scenario")] + public virtual void InconclusiveFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Inconclusive Feature Inconclusive Scenario")] + public virtual void InconclusiveFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.TestRunCleanup()] + public virtual void TestRunCleanup() + { +TechTalk.SpecFlow.TestRunnerManager.GetTestRunner().OnTestRunEnd(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/SpecRun/Minimal Features/Passing.feature b/test-harness/SpecRun/Minimal Features/Passing.feature new file mode 100644 index 000000000..14bf35e22 --- /dev/null +++ b/test-harness/SpecRun/Minimal Features/Passing.feature @@ -0,0 +1,4 @@ +Feature: Passing + +Scenario: Passing Feature Passing Scenario + Then passing step diff --git a/test-harness/SpecRun/Minimal Features/Passing.feature.cs b/test-harness/SpecRun/Minimal Features/Passing.feature.cs new file mode 100644 index 000000000..1526b08ba --- /dev/null +++ b/test-harness/SpecRun/Minimal Features/Passing.feature.cs @@ -0,0 +1,85 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18052 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace SpecRun.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [TechTalk.SpecRun.FeatureAttribute("Passing")] + public partial class PassingFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Passing.feature" +#line hidden + + [TechTalk.SpecRun.FeatureInitialize()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Passing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [TechTalk.SpecRun.FeatureCleanup()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + [TechTalk.SpecRun.ScenarioCleanup()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Passing Feature Passing Scenario")] + public virtual void PassingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Passing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.TestRunCleanup()] + public virtual void TestRunCleanup() + { +TechTalk.SpecFlow.TestRunnerManager.GetTestRunner().OnTestRunEnd(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/SpecRun/NotAutomatedAtAll.feature b/test-harness/SpecRun/NotAutomatedAtAll.feature new file mode 100644 index 000000000..3bbfcb669 --- /dev/null +++ b/test-harness/SpecRun/NotAutomatedAtAll.feature @@ -0,0 +1,19 @@ +Feature: Not Automated At All + +Background: + Given unimplemented step + +Scenario: Not automated scenario 1 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 2 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 3 + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/SpecRun/NotAutomatedAtAll.feature.cs b/test-harness/SpecRun/NotAutomatedAtAll.feature.cs new file mode 100644 index 000000000..623e4f0e5 --- /dev/null +++ b/test-harness/SpecRun/NotAutomatedAtAll.feature.cs @@ -0,0 +1,135 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18052 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace SpecRun +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [TechTalk.SpecRun.FeatureAttribute("Not Automated At All")] + public partial class NotAutomatedAtAllFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "NotAutomatedAtAll.feature" +#line hidden + + [TechTalk.SpecRun.FeatureInitialize()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Not Automated At All", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [TechTalk.SpecRun.FeatureCleanup()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + [TechTalk.SpecRun.ScenarioCleanup()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 3 +#line 4 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [TechTalk.SpecRun.ScenarioAttribute("Not automated scenario 1")] + public virtual void NotAutomatedScenario1() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 1", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 7 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 8 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 9 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Not automated scenario 2")] + public virtual void NotAutomatedScenario2() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 2", ((string[])(null))); +#line 11 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 12 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 13 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 14 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Not automated scenario 3")] + public virtual void NotAutomatedScenario3() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 3", ((string[])(null))); +#line 16 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 17 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 18 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.TestRunCleanup()] + public virtual void TestRunCleanup() + { +TechTalk.SpecFlow.TestRunnerManager.GetTestRunner().OnTestRunEnd(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/SpecRun/Properties/AssemblyInfo.cs b/test-harness/SpecRun/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..b64ebba26 --- /dev/null +++ b/test-harness/SpecRun/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SpecRun")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("AIM Software")] +[assembly: AssemblyProduct("SpecRun")] +[assembly: AssemblyCopyright("Copyright © AIM Software 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("ca37f04b-0bfb-452b-aba0-8b183088ac45")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test-harness/SpecRun/ScenarioOutlines.feature b/test-harness/SpecRun/ScenarioOutlines.feature new file mode 100644 index 000000000..d6cfb9d48 --- /dev/null +++ b/test-harness/SpecRun/ScenarioOutlines.feature @@ -0,0 +1,78 @@ +Feature: Scenario Outlines + Here we demonstrate how we deal with scenario outlines + +Scenario Outline: This is a scenario outline where all scenarios pass + + This means the entire scenario outline passes. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | pass_3 | + + +Scenario Outline: This is a scenario outline where one scenario is inconclusive + + This means the entire scenario outline is inconclusive. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | inconclusive_1 | + + +Scenario Outline: This is a scenario outline where one scenario fails + + This means the entire scenario outline fails. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | fail_1 | + + +Scenario Outline: And we can go totally bonkers with multiple example sections. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + + Examples: + | result | + | inconclusive_1 | + | inconclusive_2 | + + Examples: + | result | + | fail_1 | + | fail_2 | + + +Scenario Outline: Deal correctly with backslashes in the examples + + When I have backslashes in the value, for example a '' + + Examples: + | file path | + | c:\Temp\ | + + +Scenario Outline: Deal correctly with parenthesis in the examples + + When I have parenthesis in the value, for example an '' + + Examples: + | overly descriptive field | + | This is a description (and more) | \ No newline at end of file diff --git a/test-harness/SpecRun/ScenarioOutlines.feature.cs b/test-harness/SpecRun/ScenarioOutlines.feature.cs new file mode 100644 index 000000000..912b6d381 --- /dev/null +++ b/test-harness/SpecRun/ScenarioOutlines.feature.cs @@ -0,0 +1,248 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace SpecRun +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [TechTalk.SpecRun.FeatureAttribute("Scenario Outlines", Description="Here we demonstrate how we deal with scenario outlines", SourceFile="ScenarioOutlines.feature", SourceLine=0)] + public partial class ScenarioOutlinesFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenarioOutlines.feature" +#line hidden + + [TechTalk.SpecRun.FeatureInitialize()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenario Outlines", "Here we demonstrate how we deal with scenario outlines", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [TechTalk.SpecRun.FeatureCleanup()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + [TechTalk.SpecRun.ScenarioCleanup()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where all scenarios pass", exampleTags); +#line 4 +this.ScenarioSetup(scenarioInfo); +#line 8 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where all scenarios pass, pass_1", Description="\nThis means the entire scenario outline passes.", SourceLine=11)] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass_Pass_1() + { + this.ThisIsAScenarioOutlineWhereAllScenariosPass("pass_1", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where all scenarios pass, pass_2", Description="\nThis means the entire scenario outline passes.", SourceLine=12)] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass_Pass_2() + { + this.ThisIsAScenarioOutlineWhereAllScenariosPass("pass_2", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where all scenarios pass, pass_3", Description="\nThis means the entire scenario outline passes.", SourceLine=13)] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass_Pass_3() + { + this.ThisIsAScenarioOutlineWhereAllScenariosPass("pass_3", ((string[])(null))); + } + + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario is inconclusive", exampleTags); +#line 17 +this.ScenarioSetup(scenarioInfo); +#line 21 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where one scenario is inconclusive, pass_1", Description="\nThis means the entire scenario outline is inconclusive.", SourceLine=24)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Pass_1() + { + this.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive("pass_1", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where one scenario is inconclusive, pass_2", Description="\nThis means the entire scenario outline is inconclusive.", SourceLine=25)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Pass_2() + { + this.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive("pass_2", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where one scenario is inconclusive, inconclusive_1", Description="\nThis means the entire scenario outline is inconclusive.", SourceLine=26)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() + { + this.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive("inconclusive_1", ((string[])(null))); + } + + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario fails", exampleTags); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 34 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where one scenario fails, pass_1", Description="\nThis means the entire scenario outline fails.", SourceLine=37)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails_Pass_1() + { + this.ThisIsAScenarioOutlineWhereOneScenarioFails("pass_1", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where one scenario fails, pass_2", Description="\nThis means the entire scenario outline fails.", SourceLine=38)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails_Pass_2() + { + this.ThisIsAScenarioOutlineWhereOneScenarioFails("pass_2", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline where one scenario fails, fail_1", Description="\nThis means the entire scenario outline fails.", SourceLine=39)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() + { + this.ThisIsAScenarioOutlineWhereOneScenarioFails("fail_1", ((string[])(null))); + } + + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections_(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("And we can go totally bonkers with multiple example sections.", exampleTags); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 45 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("And we can go totally bonkers with multiple example sections., Examples 1, pass_1" + + "", SourceLine=48)] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet0_Pass_1() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("pass_1", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("And we can go totally bonkers with multiple example sections., Examples 1, pass_2" + + "", SourceLine=49)] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet0_Pass_2() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("pass_2", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("And we can go totally bonkers with multiple example sections., Examples 2, inconc" + + "lusive_1", SourceLine=53)] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("inconclusive_1", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("And we can go totally bonkers with multiple example sections., Examples 2, inconc" + + "lusive_2", SourceLine=54)] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("inconclusive_2", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("And we can go totally bonkers with multiple example sections., Examples 3, fail_1" + + "", SourceLine=58)] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("fail_1", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("And we can go totally bonkers with multiple example sections., Examples 3, fail_2" + + "", SourceLine=59)] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() + { + this.AndWeCanGoTotallyBonkersWithMultipleExampleSections_("fail_2", ((string[])(null))); + } + + public virtual void DealCorrectlyWithBackslashesInTheExamples(string filePath, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with backslashes in the examples", exampleTags); +#line 63 +this.ScenarioSetup(scenarioInfo); +#line 65 + testRunner.When(string.Format("I have backslashes in the value, for example a \'{0}\'", filePath), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Deal correctly with backslashes in the examples, c:\\Temp\\", SourceLine=68)] + public virtual void DealCorrectlyWithBackslashesInTheExamples_CTemp() + { + this.DealCorrectlyWithBackslashesInTheExamples("c:\\Temp\\", ((string[])(null))); + } + + public virtual void DealCorrectlyWithParenthesisInTheExamples(string overlyDescriptiveField, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with parenthesis in the examples", exampleTags); +#line 72 +this.ScenarioSetup(scenarioInfo); +#line 74 + testRunner.When(string.Format("I have parenthesis in the value, for example an \'{0}\'", overlyDescriptiveField), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Deal correctly with parenthesis in the examples, This is a description (and more)" + + "", SourceLine=77)] + public virtual void DealCorrectlyWithParenthesisInTheExamples_ThisIsADescriptionAndMore() + { + this.DealCorrectlyWithParenthesisInTheExamples("This is a description (and more)", ((string[])(null))); + } + + [TechTalk.SpecRun.TestRunCleanup()] + public virtual void TestRunCleanup() + { +TechTalk.SpecFlow.TestRunnerManager.GetTestRunner().OnTestRunEnd(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/SpecRun/ScenariosWithSpecialCharacters.feature b/test-harness/SpecRun/ScenariosWithSpecialCharacters.feature new file mode 100644 index 000000000..522ffd274 --- /dev/null +++ b/test-harness/SpecRun/ScenariosWithSpecialCharacters.feature @@ -0,0 +1,33 @@ +Feature: Scenarios With Special Characters + Here we demonstrate usage of special characters in scenario names + +Background: + Given the calculator has clean memory + +Scenario: This is a scenario with parentheses, hyphen and comma (10-20, 30-40) + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + + +Scenario Outline: This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) + Then the scenario will '' + + Examples: + | result | + | pass_1 | + +Scenario Outline: This scenario contains examples with Regex-special characters + When I have special characters for regexes in the value, for example a '' + Then the scenario will 'PASS' + + Examples: + | regex | + | ** | + | ++ | + | .* | + | [] | + | {} | + | () | + | ^.*(?BAR)\s[^0-9]{3,4}A+$ | \ No newline at end of file diff --git a/test-harness/SpecRun/ScenariosWithSpecialCharacters.feature.cs b/test-harness/SpecRun/ScenariosWithSpecialCharacters.feature.cs new file mode 100644 index 000000000..ceb9ab4f9 --- /dev/null +++ b/test-harness/SpecRun/ScenariosWithSpecialCharacters.feature.cs @@ -0,0 +1,178 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace SpecRun +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [TechTalk.SpecRun.FeatureAttribute("Scenarios With Special Characters", Description="Here we demonstrate usage of special characters in scenario names", SourceFile="ScenariosWithSpecialCharacters.feature", SourceLine=0)] + public partial class ScenariosWithSpecialCharactersFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenariosWithSpecialCharacters.feature" +#line hidden + + [TechTalk.SpecRun.FeatureInitialize()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenarios With Special Characters", "Here we demonstrate usage of special characters in scenario names", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [TechTalk.SpecRun.FeatureCleanup()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + [TechTalk.SpecRun.ScenarioCleanup()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)", SourceLine=6)] + public virtual void ThisIsAScenarioWithParenthesesHyphenAndComma10_2030_40() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)", ((string[])(null))); +#line 7 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 8 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 9 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 10 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 11 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + public virtual void ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40), pas" + + "s_1", SourceLine=18)] + public virtual void ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40_Pass_1() + { + this.ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40("pass_1", ((string[])(null))); + } + + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters(string regex, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This scenario contains examples with Regex-special characters", exampleTags); +#line 21 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 22 + testRunner.When(string.Format("I have special characters for regexes in the value, for example a \'{0}\'", regex), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 23 + testRunner.Then("the scenario will \'PASS\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("This scenario contains examples with Regex-special characters, Variant 0", SourceLine=26)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant0() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("**", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This scenario contains examples with Regex-special characters, Variant 1", SourceLine=27)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant1() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("++", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This scenario contains examples with Regex-special characters, Variant 2", SourceLine=28)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant2() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters(".*", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This scenario contains examples with Regex-special characters, Variant 3", SourceLine=29)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant3() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("[]", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This scenario contains examples with Regex-special characters, Variant 4", SourceLine=30)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant4() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("{}", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This scenario contains examples with Regex-special characters, Variant 5", SourceLine=31)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant5() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("()", ((string[])(null))); + } + + [TechTalk.SpecRun.ScenarioAttribute("This scenario contains examples with Regex-special characters, Variant 6", SourceLine=32)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters_Variant6() + { + this.ThisScenarioContainsExamplesWithRegex_SpecialCharacters("^.*(?BAR)\\s[^0-9]{3,4}A+$", ((string[])(null))); + } + + [TechTalk.SpecRun.TestRunCleanup()] + public virtual void TestRunCleanup() + { +TechTalk.SpecFlow.TestRunnerManager.GetTestRunner().OnTestRunEnd(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/SpecRun/SpecRun.csproj b/test-harness/SpecRun/SpecRun.csproj new file mode 100644 index 000000000..35f76b21d --- /dev/null +++ b/test-harness/SpecRun/SpecRun.csproj @@ -0,0 +1,164 @@ + + + + + Debug + AnyCPU + {15DD6AA3-525E-4F4A-BC68-07542ECC4159} + Library + Properties + SpecRun + SpecRun + v4.5 + 512 + + ..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + False + ..\packages\SpecRun.SpecFlow.1.2.0\lib\net35\SpecRun.SpecFlowPlugin.dll + + + + + + + + + + ..\packages\SpecFlow.1.9.0\lib\net35\TechTalk.SpecFlow.dll + + + False + ..\packages\SpecRun.SpecFlow.1.2.0\lib\net35\TechTalk.SpecRun.dll + + + + + Addition.feature + True + True + + + FailingBackground.feature + True + True + + + Failing.feature + True + True + + + Inconclusive.feature + True + True + + + Passing.feature + True + True + + + NotAutomatedAtAll.feature + True + True + + + + ScenarioOutlines.feature + True + True + + + True + True + ScenariosWithSpecialCharacters.feature + + + + + SpecFlowSingleFileGenerator + Addition.feature.cs + + + + PreserveNewest + Designer + + + SpecFlowSingleFileGenerator + FailingBackground.feature.cs + + + SpecFlowSingleFileGenerator + Failing.feature.cs + + + SpecFlowSingleFileGenerator + Inconclusive.feature.cs + + + SpecFlowSingleFileGenerator + Passing.feature.cs + + + SpecFlowSingleFileGenerator + NotAutomatedAtAll.feature.cs + + + + PreserveNewest + + + + SpecFlowSingleFileGenerator + ScenarioOutlines.feature.cs + + + SpecFlowSingleFileGenerator + ScenariosWithSpecialCharacters.feature.cs + + + Designer + + + + + {073862de-d599-4941-9716-03206cf1cfa2} + AutomationLayer + + + + + + + + \ No newline at end of file diff --git a/test-harness/SpecRun/SpecRunTestProfile.xsd b/test-harness/SpecRun/SpecRunTestProfile.xsd new file mode 100644 index 000000000..8b4fdb2d4 --- /dev/null +++ b/test-harness/SpecRun/SpecRunTestProfile.xsd @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test-harness/SpecRun/packages.config b/test-harness/SpecRun/packages.config new file mode 100644 index 000000000..10cb35333 --- /dev/null +++ b/test-harness/SpecRun/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/test-harness/SpecRun/runtests.cmd b/test-harness/SpecRun/runtests.cmd new file mode 100644 index 000000000..716cb0425 --- /dev/null +++ b/test-harness/SpecRun/runtests.cmd @@ -0,0 +1,17 @@ +@pushd %~dp0 + +%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe "SpecRun.csproj" + +@if ERRORLEVEL 1 goto end + +@cd ..\packages\SpecRun.Runner.*\tools + +@set profile=%1 +@if "%profile%" == "" set profile=Default + +SpecRun.exe run %profile%.srprofile "/baseFolder:%~dp0\bin\Debug" /log:specrun.log %2 %3 %4 %5 + +:end + +@popd + diff --git a/test-harness/TestHarness.sln b/test-harness/TestHarness.sln new file mode 100644 index 000000000..e99a84a17 --- /dev/null +++ b/test-harness/TestHarness.sln @@ -0,0 +1,63 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsTest", "MsTest\MsTest.csproj", "{0DBA6FCA-5D66-4187-932D-64B55D67E287}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit", "nunit\nunit.csproj", "{C13BF896-768D-47BC-86A0-99BC53CC54E6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xunit", "xunit\xunit.csproj", "{F4AB7229-9022-4FFC-86EC-570ADF2A682C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutomationLayer", "AutomationLayer\AutomationLayer.csproj", "{073862DE-D599-4941-9716-03206CF1CFA2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpecRun", "SpecRun\SpecRun.csproj", "{15DD6AA3-525E-4F4A-BC68-07542ECC4159}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5249183C-E96B-490B-A2C4-90D003A60CB3}" + ProjectSection(SolutionItems) = preProject + TestSettings.testsettings = TestSettings.testsettings + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit3", "nunit3\nunit3.csproj", "{C5E91AEE-8234-443A-A327-6A6581E49D4B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xunit2", "xunit2\xunit2.csproj", "{E5B28DB5-295E-4E33-A9E3-D84A49265BAF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0DBA6FCA-5D66-4187-932D-64B55D67E287}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0DBA6FCA-5D66-4187-932D-64B55D67E287}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0DBA6FCA-5D66-4187-932D-64B55D67E287}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0DBA6FCA-5D66-4187-932D-64B55D67E287}.Release|Any CPU.Build.0 = Release|Any CPU + {C13BF896-768D-47BC-86A0-99BC53CC54E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C13BF896-768D-47BC-86A0-99BC53CC54E6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C13BF896-768D-47BC-86A0-99BC53CC54E6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C13BF896-768D-47BC-86A0-99BC53CC54E6}.Release|Any CPU.Build.0 = Release|Any CPU + {F4AB7229-9022-4FFC-86EC-570ADF2A682C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F4AB7229-9022-4FFC-86EC-570ADF2A682C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F4AB7229-9022-4FFC-86EC-570ADF2A682C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F4AB7229-9022-4FFC-86EC-570ADF2A682C}.Release|Any CPU.Build.0 = Release|Any CPU + {073862DE-D599-4941-9716-03206CF1CFA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {073862DE-D599-4941-9716-03206CF1CFA2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {073862DE-D599-4941-9716-03206CF1CFA2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {073862DE-D599-4941-9716-03206CF1CFA2}.Release|Any CPU.Build.0 = Release|Any CPU + {15DD6AA3-525E-4F4A-BC68-07542ECC4159}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {15DD6AA3-525E-4F4A-BC68-07542ECC4159}.Debug|Any CPU.Build.0 = Debug|Any CPU + {15DD6AA3-525E-4F4A-BC68-07542ECC4159}.Release|Any CPU.ActiveCfg = Release|Any CPU + {15DD6AA3-525E-4F4A-BC68-07542ECC4159}.Release|Any CPU.Build.0 = Release|Any CPU + {C5E91AEE-8234-443A-A327-6A6581E49D4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C5E91AEE-8234-443A-A327-6A6581E49D4B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C5E91AEE-8234-443A-A327-6A6581E49D4B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C5E91AEE-8234-443A-A327-6A6581E49D4B}.Release|Any CPU.Build.0 = Release|Any CPU + {E5B28DB5-295E-4E33-A9E3-D84A49265BAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E5B28DB5-295E-4E33-A9E3-D84A49265BAF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E5B28DB5-295E-4E33-A9E3-D84A49265BAF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E5B28DB5-295E-4E33-A9E3-D84A49265BAF}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/test-harness/TestHarness.sln.GhostDoc.xml b/test-harness/TestHarness.sln.GhostDoc.xml new file mode 100644 index 000000000..7380c08f1 --- /dev/null +++ b/test-harness/TestHarness.sln.GhostDoc.xml @@ -0,0 +1,56 @@ + + + *.min.js + jquery*.js + + + + + + + + + + + + .\Help + true + TestHarness + + + + true + false + false + false + + + true + false + false + false + true + true + false + + + + + + true + true + true + + true + + + + + + + + + + + + diff --git a/test-harness/TestSettings.testsettings b/test-harness/TestSettings.testsettings new file mode 100644 index 000000000..1c25c1c1d --- /dev/null +++ b/test-harness/TestSettings.testsettings @@ -0,0 +1,9 @@ + + + These are default test settings for a local test run. + + diff --git a/test-harness/nunit/Addition.feature b/test-harness/nunit/Addition.feature new file mode 100644 index 000000000..238e261e9 --- /dev/null +++ b/test-harness/nunit/Addition.feature @@ -0,0 +1,46 @@ +Feature: Addition + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +Background: + Given the calculator has clean memory + +@tag2 +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | + +@tag1 +Scenario: Add two numbers + Given I have entered 1 into the calculator + And I have entered 2 into the calculator + When I press add + Then the result should be 3 on the screen + +@tag1 +Scenario: Fail to add two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +@ignore +Scenario: Ignored adding two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +Scenario: Not automated adding two numbers + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/nunit/Addition.feature.cs b/test-harness/nunit/Addition.feature.cs new file mode 100644 index 000000000..c6f1ae68d --- /dev/null +++ b/test-harness/nunit/Addition.feature.cs @@ -0,0 +1,198 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Addition")] + public partial class AdditionFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Addition.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Addition", "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be told the sum of t" + + "wo numbers", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 6 +#line 7 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Adding several numbers")] + [NUnit.Framework.CategoryAttribute("tag2")] + [NUnit.Framework.TestCaseAttribute("60", "70", "130", "260", null)] + [NUnit.Framework.TestCaseAttribute("40", "50", "90", "180", null)] + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + string[] @__tags = new string[] { + "tag2"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", @__tags); +#line 10 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 11 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 12 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 13 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 14 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 15 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Add two numbers")] + [NUnit.Framework.CategoryAttribute("tag1")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] { + "tag1"}); +#line 23 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 24 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 25 + testRunner.And("I have entered 2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 26 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 27 + testRunner.Then("the result should be 3 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Fail to add two numbers")] + [NUnit.Framework.CategoryAttribute("tag1")] + public virtual void FailToAddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fail to add two numbers", new string[] { + "tag1"}); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 31 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 32 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 33 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 34 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Ignored adding two numbers")] + [NUnit.Framework.IgnoreAttribute()] + public virtual void IgnoredAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Ignored adding two numbers", new string[] { + "ignore"}); +#line 37 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 38 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 39 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 40 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 41 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Not automated adding two numbers")] + public virtual void NotAutomatedAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated adding two numbers", ((string[])(null))); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 44 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 45 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 46 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit/App.config b/test-harness/nunit/App.config new file mode 100644 index 000000000..b2982b130 --- /dev/null +++ b/test-harness/nunit/App.config @@ -0,0 +1,13 @@ + + + +
+ + + + + + + + + \ No newline at end of file diff --git a/test-harness/nunit/FailingBackground.feature b/test-harness/nunit/FailingBackground.feature new file mode 100644 index 000000000..83a70483a --- /dev/null +++ b/test-harness/nunit/FailingBackground.feature @@ -0,0 +1,24 @@ +Feature: Failing Background +This feature has a failing background. + +Background: + Given the background step fails + And the calculator has clean memory + +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | diff --git a/test-harness/nunit/FailingBackground.feature.cs b/test-harness/nunit/FailingBackground.feature.cs new file mode 100644 index 000000000..22eccc05b --- /dev/null +++ b/test-harness/nunit/FailingBackground.feature.cs @@ -0,0 +1,125 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing Background")] + public partial class FailingBackgroundFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "FailingBackground.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing Background", "This feature has a failing background.", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the background step fails", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 6 + testRunner.And("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Add two numbers")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", ((string[])(null))); +#line 8 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 9 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 10 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 11 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 12 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Adding several numbers")] + [NUnit.Framework.TestCaseAttribute("60", "70", "130", "260", null)] + [NUnit.Framework.TestCaseAttribute("40", "50", "90", "180", null)] + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 16 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 17 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 18 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit/Minimal Features/Failing.feature b/test-harness/nunit/Minimal Features/Failing.feature new file mode 100644 index 000000000..d7c5b7f53 --- /dev/null +++ b/test-harness/nunit/Minimal Features/Failing.feature @@ -0,0 +1,10 @@ +Feature: Failing + +Scenario: Failing Feature Passing Scenario + Then passing step + +Scenario: Failing Feature Inconclusive Scenario + Then inconclusive step + +Scenario: Failing Feature Failing Scenario + Then failing step \ No newline at end of file diff --git a/test-harness/nunit/Minimal Features/Failing.feature.cs b/test-harness/nunit/Minimal Features/Failing.feature.cs new file mode 100644 index 000000000..f5c84a205 --- /dev/null +++ b/test-harness/nunit/Minimal Features/Failing.feature.cs @@ -0,0 +1,108 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing")] + public partial class FailingFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Failing.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing Feature Passing Scenario")] + public virtual void FailingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing Feature Inconclusive Scenario")] + public virtual void FailingFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing Feature Failing Scenario")] + public virtual void FailingFeatureFailingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Failing Scenario", ((string[])(null))); +#line 9 +this.ScenarioSetup(scenarioInfo); +#line 10 + testRunner.Then("failing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit/Minimal Features/Inconclusive.feature b/test-harness/nunit/Minimal Features/Inconclusive.feature new file mode 100644 index 000000000..40c27b402 --- /dev/null +++ b/test-harness/nunit/Minimal Features/Inconclusive.feature @@ -0,0 +1,7 @@ +Feature: Inconclusive + +Scenario: Inconclusive Feature Passing Scenario + Then passing step + +Scenario: Inconclusive Feature Inconclusive Scenario + Then inconclusive step \ No newline at end of file diff --git a/test-harness/nunit/Minimal Features/Inconclusive.feature.cs b/test-harness/nunit/Minimal Features/Inconclusive.feature.cs new file mode 100644 index 000000000..3bb3d2418 --- /dev/null +++ b/test-harness/nunit/Minimal Features/Inconclusive.feature.cs @@ -0,0 +1,95 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Inconclusive")] + public partial class InconclusiveFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Inconclusive.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Inconclusive", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Inconclusive Feature Passing Scenario")] + public virtual void InconclusiveFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Inconclusive Feature Inconclusive Scenario")] + public virtual void InconclusiveFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit/Minimal Features/Passing.feature b/test-harness/nunit/Minimal Features/Passing.feature new file mode 100644 index 000000000..14bf35e22 --- /dev/null +++ b/test-harness/nunit/Minimal Features/Passing.feature @@ -0,0 +1,4 @@ +Feature: Passing + +Scenario: Passing Feature Passing Scenario + Then passing step diff --git a/test-harness/nunit/Minimal Features/Passing.feature.cs b/test-harness/nunit/Minimal Features/Passing.feature.cs new file mode 100644 index 000000000..a7b9a62ca --- /dev/null +++ b/test-harness/nunit/Minimal Features/Passing.feature.cs @@ -0,0 +1,82 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Passing")] + public partial class PassingFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Passing.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Passing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Passing Feature Passing Scenario")] + public virtual void PassingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Passing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit/NotAutomatedAtAll.feature b/test-harness/nunit/NotAutomatedAtAll.feature new file mode 100644 index 000000000..3bbfcb669 --- /dev/null +++ b/test-harness/nunit/NotAutomatedAtAll.feature @@ -0,0 +1,19 @@ +Feature: Not Automated At All + +Background: + Given unimplemented step + +Scenario: Not automated scenario 1 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 2 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 3 + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/nunit/NotAutomatedAtAll.feature.cs b/test-harness/nunit/NotAutomatedAtAll.feature.cs new file mode 100644 index 000000000..79b27b127 --- /dev/null +++ b/test-harness/nunit/NotAutomatedAtAll.feature.cs @@ -0,0 +1,134 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Not Automated At All")] + public partial class NotAutomatedAtAllFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "NotAutomatedAtAll.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Not Automated At All", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 3 +#line 4 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Not automated scenario 1")] + public virtual void NotAutomatedScenario1() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 1", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 7 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 8 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 9 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Not automated scenario 2")] + public virtual void NotAutomatedScenario2() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 2", ((string[])(null))); +#line 11 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 12 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 13 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 14 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Not automated scenario 3")] + public virtual void NotAutomatedScenario3() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 3", ((string[])(null))); +#line 16 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 17 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 18 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit/Properties/AssemblyInfo.cs b/test-harness/nunit/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..0446e36be --- /dev/null +++ b/test-harness/nunit/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("nunit")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("nunit")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("ba66d1f7-68a4-4307-ad63-abf63686ef9d")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test-harness/nunit/ScenarioOutlines.feature b/test-harness/nunit/ScenarioOutlines.feature new file mode 100644 index 000000000..d6cfb9d48 --- /dev/null +++ b/test-harness/nunit/ScenarioOutlines.feature @@ -0,0 +1,78 @@ +Feature: Scenario Outlines + Here we demonstrate how we deal with scenario outlines + +Scenario Outline: This is a scenario outline where all scenarios pass + + This means the entire scenario outline passes. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | pass_3 | + + +Scenario Outline: This is a scenario outline where one scenario is inconclusive + + This means the entire scenario outline is inconclusive. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | inconclusive_1 | + + +Scenario Outline: This is a scenario outline where one scenario fails + + This means the entire scenario outline fails. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | fail_1 | + + +Scenario Outline: And we can go totally bonkers with multiple example sections. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + + Examples: + | result | + | inconclusive_1 | + | inconclusive_2 | + + Examples: + | result | + | fail_1 | + | fail_2 | + + +Scenario Outline: Deal correctly with backslashes in the examples + + When I have backslashes in the value, for example a '' + + Examples: + | file path | + | c:\Temp\ | + + +Scenario Outline: Deal correctly with parenthesis in the examples + + When I have parenthesis in the value, for example an '' + + Examples: + | overly descriptive field | + | This is a description (and more) | \ No newline at end of file diff --git a/test-harness/nunit/ScenarioOutlines.feature.cs b/test-harness/nunit/ScenarioOutlines.feature.cs new file mode 100644 index 000000000..634519e14 --- /dev/null +++ b/test-harness/nunit/ScenarioOutlines.feature.cs @@ -0,0 +1,164 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Scenario Outlines")] + public partial class ScenarioOutlinesFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenarioOutlines.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenario Outlines", "Here we demonstrate how we deal with scenario outlines", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario outline where all scenarios pass")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + [NUnit.Framework.TestCaseAttribute("pass_2", null)] + [NUnit.Framework.TestCaseAttribute("pass_3", null)] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where all scenarios pass", exampleTags); +#line 4 +this.ScenarioSetup(scenarioInfo); +#line 8 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario outline where one scenario is inconclusive")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + [NUnit.Framework.TestCaseAttribute("pass_2", null)] + [NUnit.Framework.TestCaseAttribute("inconclusive_1", null)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario is inconclusive", exampleTags); +#line 17 +this.ScenarioSetup(scenarioInfo); +#line 21 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario outline where one scenario fails")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + [NUnit.Framework.TestCaseAttribute("pass_2", null)] + [NUnit.Framework.TestCaseAttribute("fail_1", null)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario fails", exampleTags); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 34 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("And we can go totally bonkers with multiple example sections.")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + [NUnit.Framework.TestCaseAttribute("pass_2", null)] + [NUnit.Framework.TestCaseAttribute("inconclusive_1", null)] + [NUnit.Framework.TestCaseAttribute("inconclusive_2", null)] + [NUnit.Framework.TestCaseAttribute("fail_1", null)] + [NUnit.Framework.TestCaseAttribute("fail_2", null)] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections_(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("And we can go totally bonkers with multiple example sections.", exampleTags); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 45 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Deal correctly with backslashes in the examples")] + [NUnit.Framework.TestCaseAttribute("c:\\Temp\\", null)] + public virtual void DealCorrectlyWithBackslashesInTheExamples(string filePath, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with backslashes in the examples", exampleTags); +#line 63 +this.ScenarioSetup(scenarioInfo); +#line 65 + testRunner.When(string.Format("I have backslashes in the value, for example a \'{0}\'", filePath), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Deal correctly with parenthesis in the examples")] + [NUnit.Framework.TestCaseAttribute("This is a description (and more)", null)] + public virtual void DealCorrectlyWithParenthesisInTheExamples(string overlyDescriptiveField, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with parenthesis in the examples", exampleTags); +#line 72 +this.ScenarioSetup(scenarioInfo); +#line 74 + testRunner.When(string.Format("I have parenthesis in the value, for example an \'{0}\'", overlyDescriptiveField), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit/ScenariosWithSpecialCharacters.feature b/test-harness/nunit/ScenariosWithSpecialCharacters.feature new file mode 100644 index 000000000..522ffd274 --- /dev/null +++ b/test-harness/nunit/ScenariosWithSpecialCharacters.feature @@ -0,0 +1,33 @@ +Feature: Scenarios With Special Characters + Here we demonstrate usage of special characters in scenario names + +Background: + Given the calculator has clean memory + +Scenario: This is a scenario with parentheses, hyphen and comma (10-20, 30-40) + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + + +Scenario Outline: This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) + Then the scenario will '' + + Examples: + | result | + | pass_1 | + +Scenario Outline: This scenario contains examples with Regex-special characters + When I have special characters for regexes in the value, for example a '' + Then the scenario will 'PASS' + + Examples: + | regex | + | ** | + | ++ | + | .* | + | [] | + | {} | + | () | + | ^.*(?BAR)\s[^0-9]{3,4}A+$ | \ No newline at end of file diff --git a/test-harness/nunit/ScenariosWithSpecialCharacters.feature.cs b/test-harness/nunit/ScenariosWithSpecialCharacters.feature.cs new file mode 100644 index 000000000..7c8caaf96 --- /dev/null +++ b/test-harness/nunit/ScenariosWithSpecialCharacters.feature.cs @@ -0,0 +1,138 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Scenarios With Special Characters")] + public partial class ScenariosWithSpecialCharactersFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenariosWithSpecialCharacters.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenarios With Special Characters", "Here we demonstrate usage of special characters in scenario names", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)")] + public virtual void ThisIsAScenarioWithParenthesesHyphenAndComma10_2030_40() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)", ((string[])(null))); +#line 7 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 8 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 9 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 10 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 11 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + public virtual void ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [NUnit.Framework.TestCaseAttribute("**", null)] + [NUnit.Framework.TestCaseAttribute("++", null)] + [NUnit.Framework.TestCaseAttribute(".*", null)] + [NUnit.Framework.TestCaseAttribute("[]", null)] + [NUnit.Framework.TestCaseAttribute("{}", null)] + [NUnit.Framework.TestCaseAttribute("()", null)] + [NUnit.Framework.TestCaseAttribute("^.*(?BAR)\\s[^0-9]{3,4}A+$", null)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters(string regex, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This scenario contains examples with Regex-special characters", exampleTags); +#line 21 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 22 + testRunner.When(string.Format("I have special characters for regexes in the value, for example a \'{0}\'", regex), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 23 + testRunner.Then("the scenario will \'PASS\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit/nunit.csproj b/test-harness/nunit/nunit.csproj new file mode 100644 index 000000000..22fa5ab23 --- /dev/null +++ b/test-harness/nunit/nunit.csproj @@ -0,0 +1,146 @@ + + + + + Debug + AnyCPU + {C13BF896-768D-47BC-86A0-99BC53CC54E6} + Library + Properties + Pickles.TestHarness.nunit + nunitHarness + v4.5 + 512 + ..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\packages\NUnit.2.6.3\lib\nunit.framework.dll + + + + + + + + + + ..\packages\SpecFlow.1.9.0\lib\net35\TechTalk.SpecFlow.dll + + + + + True + True + Addition.feature + + + FailingBackground.feature + True + True + + + Failing.feature + True + True + + + Inconclusive.feature + True + True + + + Passing.feature + True + True + + + True + True + NotAutomatedAtAll.feature + + + + ScenarioOutlines.feature + True + True + + + True + True + ScenariosWithSpecialCharacters.feature + + + + + SpecFlowSingleFileGenerator + Addition.feature.cs + + + + SpecFlowSingleFileGenerator + FailingBackground.feature.cs + + + SpecFlowSingleFileGenerator + Failing.feature.cs + + + SpecFlowSingleFileGenerator + Inconclusive.feature.cs + + + SpecFlowSingleFileGenerator + Passing.feature.cs + + + SpecFlowSingleFileGenerator + NotAutomatedAtAll.feature.cs + + + + SpecFlowSingleFileGenerator + ScenarioOutlines.feature.cs + + + SpecFlowSingleFileGenerator + ScenariosWithSpecialCharacters.feature.cs + + + + + {073862de-d599-4941-9716-03206cf1cfa2} + AutomationLayer + + + + + + + + \ No newline at end of file diff --git a/test-harness/nunit/packages.config b/test-harness/nunit/packages.config new file mode 100644 index 000000000..b8534f0c7 --- /dev/null +++ b/test-harness/nunit/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/test-harness/nunit3/Addition.feature b/test-harness/nunit3/Addition.feature new file mode 100644 index 000000000..238e261e9 --- /dev/null +++ b/test-harness/nunit3/Addition.feature @@ -0,0 +1,46 @@ +Feature: Addition + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +Background: + Given the calculator has clean memory + +@tag2 +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | + +@tag1 +Scenario: Add two numbers + Given I have entered 1 into the calculator + And I have entered 2 into the calculator + When I press add + Then the result should be 3 on the screen + +@tag1 +Scenario: Fail to add two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +@ignore +Scenario: Ignored adding two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +Scenario: Not automated adding two numbers + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/nunit3/Addition.feature.cs b/test-harness/nunit3/Addition.feature.cs new file mode 100644 index 000000000..225fe90ea --- /dev/null +++ b/test-harness/nunit3/Addition.feature.cs @@ -0,0 +1,198 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit3 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Addition")] + public partial class AdditionFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Addition.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Addition", "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be told the sum of t" + + "wo numbers", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 6 +#line 7 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Adding several numbers")] + [NUnit.Framework.CategoryAttribute("tag2")] + [NUnit.Framework.TestCaseAttribute("60", "70", "130", "260", null)] + [NUnit.Framework.TestCaseAttribute("40", "50", "90", "180", null)] + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + string[] @__tags = new string[] { + "tag2"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", @__tags); +#line 10 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 11 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 12 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 13 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 14 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 15 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Add two numbers")] + [NUnit.Framework.CategoryAttribute("tag1")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] { + "tag1"}); +#line 23 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 24 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 25 + testRunner.And("I have entered 2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 26 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 27 + testRunner.Then("the result should be 3 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Fail to add two numbers")] + [NUnit.Framework.CategoryAttribute("tag1")] + public virtual void FailToAddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fail to add two numbers", new string[] { + "tag1"}); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 31 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 32 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 33 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 34 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Ignored adding two numbers")] + [NUnit.Framework.IgnoreAttribute("")] + public virtual void IgnoredAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Ignored adding two numbers", new string[] { + "ignore"}); +#line 37 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 38 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 39 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 40 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 41 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Not automated adding two numbers")] + public virtual void NotAutomatedAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated adding two numbers", ((string[])(null))); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 44 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 45 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 46 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit3/App.config b/test-harness/nunit3/App.config new file mode 100644 index 000000000..6a85a1d39 --- /dev/null +++ b/test-harness/nunit3/App.config @@ -0,0 +1,13 @@ + + + +
+ + + + + + + + + \ No newline at end of file diff --git a/test-harness/nunit3/FailingBackground.feature b/test-harness/nunit3/FailingBackground.feature new file mode 100644 index 000000000..83a70483a --- /dev/null +++ b/test-harness/nunit3/FailingBackground.feature @@ -0,0 +1,24 @@ +Feature: Failing Background +This feature has a failing background. + +Background: + Given the background step fails + And the calculator has clean memory + +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | diff --git a/test-harness/nunit3/FailingBackground.feature.cs b/test-harness/nunit3/FailingBackground.feature.cs new file mode 100644 index 000000000..74c03e4c4 --- /dev/null +++ b/test-harness/nunit3/FailingBackground.feature.cs @@ -0,0 +1,125 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit3 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing Background")] + public partial class FailingBackgroundFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "FailingBackground.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing Background", "This feature has a failing background.", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the background step fails", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 6 + testRunner.And("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Add two numbers")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", ((string[])(null))); +#line 8 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 9 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 10 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 11 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 12 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Adding several numbers")] + [NUnit.Framework.TestCaseAttribute("60", "70", "130", "260", null)] + [NUnit.Framework.TestCaseAttribute("40", "50", "90", "180", null)] + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 16 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 17 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 18 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit3/Minimal Features/Failing.feature b/test-harness/nunit3/Minimal Features/Failing.feature new file mode 100644 index 000000000..d7c5b7f53 --- /dev/null +++ b/test-harness/nunit3/Minimal Features/Failing.feature @@ -0,0 +1,10 @@ +Feature: Failing + +Scenario: Failing Feature Passing Scenario + Then passing step + +Scenario: Failing Feature Inconclusive Scenario + Then inconclusive step + +Scenario: Failing Feature Failing Scenario + Then failing step \ No newline at end of file diff --git a/test-harness/nunit3/Minimal Features/Failing.feature.cs b/test-harness/nunit3/Minimal Features/Failing.feature.cs new file mode 100644 index 000000000..197f12476 --- /dev/null +++ b/test-harness/nunit3/Minimal Features/Failing.feature.cs @@ -0,0 +1,108 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit3.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing")] + public partial class FailingFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Failing.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing Feature Passing Scenario")] + public virtual void FailingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing Feature Inconclusive Scenario")] + public virtual void FailingFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Failing Feature Failing Scenario")] + public virtual void FailingFeatureFailingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Failing Scenario", ((string[])(null))); +#line 9 +this.ScenarioSetup(scenarioInfo); +#line 10 + testRunner.Then("failing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit3/Minimal Features/Inconclusive.feature b/test-harness/nunit3/Minimal Features/Inconclusive.feature new file mode 100644 index 000000000..40c27b402 --- /dev/null +++ b/test-harness/nunit3/Minimal Features/Inconclusive.feature @@ -0,0 +1,7 @@ +Feature: Inconclusive + +Scenario: Inconclusive Feature Passing Scenario + Then passing step + +Scenario: Inconclusive Feature Inconclusive Scenario + Then inconclusive step \ No newline at end of file diff --git a/test-harness/nunit3/Minimal Features/Inconclusive.feature.cs b/test-harness/nunit3/Minimal Features/Inconclusive.feature.cs new file mode 100644 index 000000000..315c63692 --- /dev/null +++ b/test-harness/nunit3/Minimal Features/Inconclusive.feature.cs @@ -0,0 +1,95 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit3.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Inconclusive")] + public partial class InconclusiveFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Inconclusive.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Inconclusive", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Inconclusive Feature Passing Scenario")] + public virtual void InconclusiveFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Inconclusive Feature Inconclusive Scenario")] + public virtual void InconclusiveFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit3/Minimal Features/Passing.feature b/test-harness/nunit3/Minimal Features/Passing.feature new file mode 100644 index 000000000..14bf35e22 --- /dev/null +++ b/test-harness/nunit3/Minimal Features/Passing.feature @@ -0,0 +1,4 @@ +Feature: Passing + +Scenario: Passing Feature Passing Scenario + Then passing step diff --git a/test-harness/nunit3/Minimal Features/Passing.feature.cs b/test-harness/nunit3/Minimal Features/Passing.feature.cs new file mode 100644 index 000000000..4618b0150 --- /dev/null +++ b/test-harness/nunit3/Minimal Features/Passing.feature.cs @@ -0,0 +1,82 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit3.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Passing")] + public partial class PassingFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Passing.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Passing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Passing Feature Passing Scenario")] + public virtual void PassingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Passing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit3/NotAutomatedAtAll.feature b/test-harness/nunit3/NotAutomatedAtAll.feature new file mode 100644 index 000000000..fe34b832d --- /dev/null +++ b/test-harness/nunit3/NotAutomatedAtAll.feature @@ -0,0 +1,11 @@ +Feature: NotAutomatedAtAll + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +@mytag +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen diff --git a/test-harness/nunit3/NotAutomatedAtAll.feature.cs b/test-harness/nunit3/NotAutomatedAtAll.feature.cs new file mode 100644 index 000000000..e6f2083b3 --- /dev/null +++ b/test-harness/nunit3/NotAutomatedAtAll.feature.cs @@ -0,0 +1,91 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit3 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("NotAutomatedAtAll")] + public partial class NotAutomatedAtAllFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "NotAutomatedAtAll.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "NotAutomatedAtAll", "In order to avoid silly mistakes\nAs a math idiot\nI want to be told the sum of two" + + " numbers", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Add two numbers")] + [NUnit.Framework.CategoryAttribute("mytag")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] { + "mytag"}); +#line 7 +this.ScenarioSetup(scenarioInfo); +#line 8 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 9 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 10 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 11 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit3/Properties/AssemblyInfo.cs b/test-harness/nunit3/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..a1e149f02 --- /dev/null +++ b/test-harness/nunit3/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("nunit3")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("nunit3")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("c5e91aee-8234-443a-a327-6a6581e49d4b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test-harness/nunit3/ScenarioOutlines.feature b/test-harness/nunit3/ScenarioOutlines.feature new file mode 100644 index 000000000..d6cfb9d48 --- /dev/null +++ b/test-harness/nunit3/ScenarioOutlines.feature @@ -0,0 +1,78 @@ +Feature: Scenario Outlines + Here we demonstrate how we deal with scenario outlines + +Scenario Outline: This is a scenario outline where all scenarios pass + + This means the entire scenario outline passes. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | pass_3 | + + +Scenario Outline: This is a scenario outline where one scenario is inconclusive + + This means the entire scenario outline is inconclusive. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | inconclusive_1 | + + +Scenario Outline: This is a scenario outline where one scenario fails + + This means the entire scenario outline fails. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | fail_1 | + + +Scenario Outline: And we can go totally bonkers with multiple example sections. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + + Examples: + | result | + | inconclusive_1 | + | inconclusive_2 | + + Examples: + | result | + | fail_1 | + | fail_2 | + + +Scenario Outline: Deal correctly with backslashes in the examples + + When I have backslashes in the value, for example a '' + + Examples: + | file path | + | c:\Temp\ | + + +Scenario Outline: Deal correctly with parenthesis in the examples + + When I have parenthesis in the value, for example an '' + + Examples: + | overly descriptive field | + | This is a description (and more) | \ No newline at end of file diff --git a/test-harness/nunit3/ScenarioOutlines.feature.cs b/test-harness/nunit3/ScenarioOutlines.feature.cs new file mode 100644 index 000000000..dbdc3c144 --- /dev/null +++ b/test-harness/nunit3/ScenarioOutlines.feature.cs @@ -0,0 +1,164 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit3 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Scenario Outlines")] + public partial class ScenarioOutlinesFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenarioOutlines.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenario Outlines", "Here we demonstrate how we deal with scenario outlines", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario outline where all scenarios pass")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + [NUnit.Framework.TestCaseAttribute("pass_2", null)] + [NUnit.Framework.TestCaseAttribute("pass_3", null)] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where all scenarios pass", exampleTags); +#line 4 +this.ScenarioSetup(scenarioInfo); +#line 8 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario outline where one scenario is inconclusive")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + [NUnit.Framework.TestCaseAttribute("pass_2", null)] + [NUnit.Framework.TestCaseAttribute("inconclusive_1", null)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario is inconclusive", exampleTags); +#line 17 +this.ScenarioSetup(scenarioInfo); +#line 21 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario outline where one scenario fails")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + [NUnit.Framework.TestCaseAttribute("pass_2", null)] + [NUnit.Framework.TestCaseAttribute("fail_1", null)] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario fails", exampleTags); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 34 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("And we can go totally bonkers with multiple example sections.")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + [NUnit.Framework.TestCaseAttribute("pass_2", null)] + [NUnit.Framework.TestCaseAttribute("inconclusive_1", null)] + [NUnit.Framework.TestCaseAttribute("inconclusive_2", null)] + [NUnit.Framework.TestCaseAttribute("fail_1", null)] + [NUnit.Framework.TestCaseAttribute("fail_2", null)] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections_(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("And we can go totally bonkers with multiple example sections.", exampleTags); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 45 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Deal correctly with backslashes in the examples")] + [NUnit.Framework.TestCaseAttribute("c:\\Temp\\", null)] + public virtual void DealCorrectlyWithBackslashesInTheExamples(string filePath, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with backslashes in the examples", exampleTags); +#line 63 +this.ScenarioSetup(scenarioInfo); +#line 65 + testRunner.When(string.Format("I have backslashes in the value, for example a \'{0}\'", filePath), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Deal correctly with parenthesis in the examples")] + [NUnit.Framework.TestCaseAttribute("This is a description (and more)", null)] + public virtual void DealCorrectlyWithParenthesisInTheExamples(string overlyDescriptiveField, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with parenthesis in the examples", exampleTags); +#line 72 +this.ScenarioSetup(scenarioInfo); +#line 74 + testRunner.When(string.Format("I have parenthesis in the value, for example an \'{0}\'", overlyDescriptiveField), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit3/ScenariosWithSpecialCharacters.feature b/test-harness/nunit3/ScenariosWithSpecialCharacters.feature new file mode 100644 index 000000000..522ffd274 --- /dev/null +++ b/test-harness/nunit3/ScenariosWithSpecialCharacters.feature @@ -0,0 +1,33 @@ +Feature: Scenarios With Special Characters + Here we demonstrate usage of special characters in scenario names + +Background: + Given the calculator has clean memory + +Scenario: This is a scenario with parentheses, hyphen and comma (10-20, 30-40) + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + + +Scenario Outline: This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) + Then the scenario will '' + + Examples: + | result | + | pass_1 | + +Scenario Outline: This scenario contains examples with Regex-special characters + When I have special characters for regexes in the value, for example a '' + Then the scenario will 'PASS' + + Examples: + | regex | + | ** | + | ++ | + | .* | + | [] | + | {} | + | () | + | ^.*(?BAR)\s[^0-9]{3,4}A+$ | \ No newline at end of file diff --git a/test-harness/nunit3/ScenariosWithSpecialCharacters.feature.cs b/test-harness/nunit3/ScenariosWithSpecialCharacters.feature.cs new file mode 100644 index 000000000..233aa443f --- /dev/null +++ b/test-harness/nunit3/ScenariosWithSpecialCharacters.feature.cs @@ -0,0 +1,138 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.nunit3 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("Scenarios With Special Characters")] + public partial class ScenariosWithSpecialCharactersFeature + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenariosWithSpecialCharacters.feature" +#line hidden + + [NUnit.Framework.TestFixtureSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenarios With Special Characters", "Here we demonstrate usage of special characters in scenario names", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.TestFixtureTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)")] + public virtual void ThisIsAScenarioWithParenthesesHyphenAndComma10_2030_40() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)", ((string[])(null))); +#line 7 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 8 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 9 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 10 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 11 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)")] + [NUnit.Framework.TestCaseAttribute("pass_1", null)] + public virtual void ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("This scenario contains examples with Regex-special characters")] + [NUnit.Framework.TestCaseAttribute("**", null)] + [NUnit.Framework.TestCaseAttribute("++", null)] + [NUnit.Framework.TestCaseAttribute(".*", null)] + [NUnit.Framework.TestCaseAttribute("[]", null)] + [NUnit.Framework.TestCaseAttribute("{}", null)] + [NUnit.Framework.TestCaseAttribute("()", null)] + [NUnit.Framework.TestCaseAttribute("^.*(?BAR)\\s[^0-9]{3,4}A+$", null)] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters(string regex, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This scenario contains examples with Regex-special characters", exampleTags); +#line 21 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 22 + testRunner.When(string.Format("I have special characters for regexes in the value, for example a \'{0}\'", regex), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 23 + testRunner.Then("the scenario will \'PASS\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/nunit3/nunit3.csproj b/test-harness/nunit3/nunit3.csproj new file mode 100644 index 000000000..0df369388 --- /dev/null +++ b/test-harness/nunit3/nunit3.csproj @@ -0,0 +1,146 @@ + + + + + Debug + AnyCPU + {C5E91AEE-8234-443A-A327-6A6581E49D4B} + Library + Properties + Pickles.TestHarness.nunit3 + nunit3Harness + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\NUnit.3.0.0\lib\net45\nunit.framework.dll + True + + + + + + + + + + + ..\packages\SpecFlow.1.9.0\lib\net35\TechTalk.SpecFlow.dll + True + + + + + True + True + Addition.feature + + + FailingBackground.feature + True + True + + + Failing.feature + True + True + + + Inconclusive.feature + True + True + + + Passing.feature + True + True + + + True + True + NotAutomatedAtAll.feature + + + + ScenarioOutlines.feature + True + True + + + True + True + ScenariosWithSpecialCharacters.feature + + + + + SpecFlowSingleFileGenerator + Addition.feature.cs + + + + SpecFlowSingleFileGenerator + FailingBackground.feature.cs + + + SpecFlowSingleFileGenerator + Failing.feature.cs + + + SpecFlowSingleFileGenerator + Inconclusive.feature.cs + + + SpecFlowSingleFileGenerator + Passing.feature.cs + + + SpecFlowSingleFileGenerator + NotAutomatedAtAll.feature.cs + + + + SpecFlowSingleFileGenerator + ScenarioOutlines.feature.cs + + + SpecFlowSingleFileGenerator + ScenariosWithSpecialCharacters.feature.cs + + + + + {073862de-d599-4941-9716-03206cf1cfa2} + AutomationLayer + + + + + + + + \ No newline at end of file diff --git a/test-harness/nunit3/packages.config b/test-harness/nunit3/packages.config new file mode 100644 index 000000000..190bdf578 --- /dev/null +++ b/test-harness/nunit3/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/HTML.xslt b/test-harness/packagesNonNuget/xunit.runner/HTML.xslt new file mode 100644 index 000000000..2a1a4c72a --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/HTML.xslt @@ -0,0 +1,126 @@ + + + + + ]]> + + + + xUnit.net Test Results - <xsl:value-of select="@name"/> + + + + + +

Assemblies Run

+ + +

Summary

+
+ Tests run:   + Failures: , + Skipped: , + Run time: s +
+ +
+

Failed tests

+ +
+ +
+

Failed fixtures

+ +
+ +
+

Skipped tests

+ +
+
+

All tests

+
Click test class name to expand/collapse test details
+ + + +
+ + +
+
+ + +
+ altrow + s + Skipped + + +   + : +
+ +
+
+ +

Output

+
+
+
+
+ + + :
+ Stack Trace:
+
+
+ + +

+ s + + ToggleClass('class') + ToggleClass('class') + + +   +  ( tests) + +
+

+
+ display: none; + class + +
+
+ +
\ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/NUnitXml.xslt b/test-harness/packagesNonNuget/xunit.runner/NUnitXml.xslt new file mode 100644 index 000000000..4d82799f5 --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/NUnitXml.xslt @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + True + + + + + + + + + + + + + + + + + + False + True + + + + + + + + + + + + + + + + + + + + + + + + + False + True + + + + False + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/license.txt b/test-harness/packagesNonNuget/xunit.runner/license.txt new file mode 100644 index 000000000..b9e8a2b5d --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/license.txt @@ -0,0 +1,13 @@ +Copyright 2013 Outercurve Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.exe b/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.exe new file mode 100644 index 0000000000000000000000000000000000000000..25553d9fcbc215fcf714c10b188afa76ed1a0efc GIT binary patch literal 26112 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 TBkJ#=eFmHTe|`S{)4=})zayyv literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.exe.config b/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.exe.config new file mode 100644 index 000000000..1aae4c31f --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.exe.config @@ -0,0 +1,21 @@ + + + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.x86.exe b/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.x86.exe new file mode 100644 index 0000000000000000000000000000000000000000..7b0dc7afd936e2d564a6e08fbabc48e1d727a0fb GIT binary patch literal 26112 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 literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.x86.exe.config b/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.x86.exe.config new file mode 100644 index 000000000..24ca922c9 --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/xunit.console.clr4.x86.exe.config @@ -0,0 +1,21 @@ + + + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.console.exe b/test-harness/packagesNonNuget/xunit.runner/xunit.console.exe new file mode 100644 index 0000000000000000000000000000000000000000..08ede11a121b19d45c748aded008b869058a3334 GIT binary patch literal 25600 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 + + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.console.x86.exe b/test-harness/packagesNonNuget/xunit.runner/xunit.console.x86.exe new file mode 100644 index 0000000000000000000000000000000000000000..4976fa08712c04c25cc100d02c7fd3577a01d74a GIT binary patch literal 25600 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 literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.console.x86.exe.config b/test-harness/packagesNonNuget/xunit.runner/xunit.console.x86.exe.config new file mode 100644 index 000000000..89e63fa2e --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/xunit.console.x86.exe.config @@ -0,0 +1,21 @@ + + + + +
+ + + + + + + + + + \ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.dll b/test-harness/packagesNonNuget/xunit.runner/xunit.dll new file mode 100644 index 0000000000000000000000000000000000000000..c2534a82a8aa5b1401bfbe992fc8dd55228ea657 GIT binary patch literal 69632 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 literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.dll.tdnet b/test-harness/packagesNonNuget/xunit.runner/xunit.dll.tdnet new file mode 100644 index 000000000..4d8afc8ef --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/xunit.dll.tdnet @@ -0,0 +1,5 @@ + + xUnit.net {0}.{1}.{2} build {3} + xunit.runner.tdnet.dll + Xunit.Runner.TdNet.TdNetRunner + \ No newline at end of file diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.extensions.dll b/test-harness/packagesNonNuget/xunit.runner/xunit.extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..ea46cb16cf4c279cbe18404bd37f112285d9741b GIT binary patch literal 24064 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 literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.extensions.xml b/test-harness/packagesNonNuget/xunit.runner/xunit.extensions.xml new file mode 100644 index 000000000..a0718b1d6 --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/xunit.extensions.xml @@ -0,0 +1,811 @@ + + + + xunit.extensions + + + + + A wrapper for Assert which is used by . + + + + + Verifies that a collection contains a given object. + + The type of the object to be verified + The object expected to be in the collection + The collection to be inspected + Thrown when the object is not present in the collection + + + + Verifies that a collection contains a given object, using an equality comparer. + + The type of the object to be verified + The object expected to be in the collection + The collection to be inspected + The comparer used to equate objects in the collection with the expected object + Thrown when the object is not present in the collection + + + + Verifies that a string contains a given sub-string, using the current culture. + + The sub-string expected to be in the string + The string to be inspected + Thrown when the sub-string is not present inside the string + + + + Verifies that a string contains a given sub-string, using the given comparison type. + + The sub-string expected to be in the string + The string to be inspected + The type of string comparison to perform + Thrown when the sub-string is not present inside the string + + + + Verifies that a collection does not contain a given object. + + The type of the object to be compared + The object that is expected not to be in the collection + The collection to be inspected + Thrown when the object is present inside the container + + + + Verifies that a collection does not contain a given object, using an equality comparer. + + The type of the object to be compared + The object that is expected not to be in the collection + The collection to be inspected + The comparer used to equate objects in the collection with the expected object + Thrown when the object is present inside the container + + + + Verifies that a string does not contain a given sub-string, using the current culture. + + The sub-string which is expected not to be in the string + The string to be inspected + Thrown when the sub-string is present inside the string + + + + Verifies that a string does not contain a given sub-string, using the current culture. + + The sub-string which is expected not to be in the string + The string to be inspected + The type of string comparison to perform + Thrown when the sub-string is present inside the given string + + + + Verifies that a block of code does not throw any exceptions. + + A delegate to the code to be tested + + + + Verifies that a collection is empty. + + The collection to be inspected + Thrown when the collection is null + Thrown when the collection is not empty + + + + Verifies that two objects are equal, using a default comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + Thrown when the objects are not equal + + + + Verifies that two objects are equal, using a custom equatable comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + The comparer used to compare the two objects + Thrown when the objects are not equal + + + + Verifies that two values are equal, within the number of decimal + places given by . + + The expected value + The value to be compared against + The number of decimal places (valid values: 0-15) + Thrown when the values are not equal + + + + Verifies that two values are equal, within the number of decimal + places given by . + + The expected value + The value to be compared against + The number of decimal places (valid values: 0-15) + Thrown when the values are not equal + + + + Verifies that the condition is false. + + The condition to be tested + Thrown if the condition is not false + + + + Verifies that the condition is false. + + The condition to be tested + The message to show when the condition is not false + Thrown if the condition is not false + + + + Verifies that a value is within a given range. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + Thrown when the value is not in the given range + + + + Verifies that a value is within a given range, using a comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + The comparer used to evaluate the value's range + Thrown when the value is not in the given range + + + + Verifies that an object is of the given type or a derived type. + + The type the object should be + The object to be evaluated + The object, casted to type T when successful + Thrown when the object is not the given type + + + + Verifies that an object is of the given type or a derived type. + + The type the object should be + The object to be evaluated + Thrown when the object is not the given type + + + + Verifies that an object is not exactly the given type. + + The type the object should not be + The object to be evaluated + Thrown when the object is the given type + + + + Verifies that an object is not exactly the given type. + + The type the object should not be + The object to be evaluated + Thrown when the object is the given type + + + + Verifies that an object is exactly the given type (and not a derived type). + + The type the object should be + The object to be evaluated + The object, casted to type T when successful + Thrown when the object is not the given type + + + + Verifies that an object is exactly the given type (and not a derived type). + + The type the object should be + The object to be evaluated + Thrown when the object is not the given type + + + + Verifies that a collection is not empty. + + The collection to be inspected + Thrown when a null collection is passed + Thrown when the collection is empty + + + + Verifies that two objects are not equal, using a default comparer. + + The type of the objects to be compared + The expected object + The actual object + Thrown when the objects are equal + + + + Verifies that two objects are not equal, using a custom equality comparer. + + The type of the objects to be compared + The expected object + The actual object + The comparer used to examine the objects + Thrown when the objects are equal + + + + Verifies that a value is not within a given range, using the default comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + Thrown when the value is in the given range + + + + Verifies that a value is not within a given range, using a comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + The comparer used to evaluate the value's range + Thrown when the value is in the given range + + + + Verifies that an object reference is not null. + + The object to be validated + Thrown when the object is not null + + + + Verifies that two objects are not the same instance. + + The expected object instance + The actual object instance + Thrown when the objects are the same instance + + + + Verifies that an object reference is null. + + The object to be inspected + Thrown when the object reference is not null + + + + Verifies that two objects are the same instance. + + The expected object instance + The actual object instance + Thrown when the objects are not the same instance + + + + Verifies that the given collection contains only a single + element of the given type. + + The collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the given collection contains only a single + element of the given type. + + The collection type. + The collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the exact exception is thrown (and not a derived exception type). + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + Generally used to test property accessors. + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + Generally used to test property accessors. + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that an expression is true. + + The condition to be inspected + Thrown when the condition is false + + + + Verifies that an expression is true. + + The condition to be inspected + The message to be shown when the condition is false + Thrown when the condition is false + + + + A class which can be derived from for test classes, which bring an overridable version + of Assert (using the class. + + + + + Gets a class which provides assertions. + + + + + Apply this attribute to your test method to replace the + with another role. + + + + + Replaces the identity of the current thread with . + + The role's name + + + + Restores the original . + + The method under test + + + + Stores the current and replaces it with + a new role identified in constructor. + + The method under test + + + + Gets the name. + + + + + Apply this attribute to your test method to automatically create a + that is rolled back when the test is + finished. + + + + + Rolls back the transaction. + + + + + Creates the transaction. + + + + + Gets or sets the isolation level of the transaction. + Default value is .Unspecified. + + + + + Gets or sets the scope option for the transaction. + Default value is .Required. + + + + + Gets or sets the timeout of the transaction, in milliseconds. + By default, the transaction will not timeout. + + + + + Provides a data source for a data theory, with the data coming from a class + which must implement IEnumerable<object[]>. + + + + + Abstract attribute which represents a data source for a data theory. + Data source providers derive from this attribute and implement GetData + to return the data for the theory. + + + + + Returns the data to be used to test the theory. + + + The parameter is provided so that the + test data can be converted to the destination parameter type when necessary. + Generally, data should NOT be automatically converted, UNLESS the source data + format does not have rich types (for example, all numbers in Excel spreadsheets + are returned as even if they are integers). Derivers of + this class should NOT throw exceptions for mismatched types or mismatched number + of parameters; the test framework will throw these exceptions at the correct + time. + + The method that is being tested + The types of the parameters for the test method + The theory data + + + + + + + Initializes a new instance of the class. + + The class that provides the data. + + + + + + + Gets the type of the class that provides the data. + + + + + Represents an implementation of which uses an + instance of to get the data for a + decorated test method. + + + + + + + + Converts a parameter to its destination parameter type, if necessary. + + The parameter value + The destination parameter type (null if not known) + The converted parameter value + + + + Gets the data adapter to be used to retrieve the test data. + + + + + Provides a data source for a data theory, with the data coming from inline values. + + + + + Initializes a new instance of the class. + + The data values to pass to the theory + + + + Returns the data to be used to test the theory. + + The method that is being tested + The types of the parameters for the test method + The theory data, in table form + + + + Gets the data values. + + + + + Provides a data source for a data theory, with the data coming from an OLEDB connection. + + + + + Creates a new instance of . + + The OLEDB connection string to the data + The SELECT statement used to return the data for the theory + + + + Gets the connection string. + + + + + Gets the select statement. + + + + + + + + Provides a data source for a data theory, with the data coming from a public static property on the test class. + The property must return IEnumerable<object[]> with the test data. + + + + + Creates a new instance of / + + The name of the public static property on the test class that will provide the test data + + + + Returns the data to be used to test the theory. + + The method that is being tested + The types of the parameters for the test method + The theory data, in table form + + + + Gets the property name. + + + + + Gets or sets the type to retrieve the property data from. If not set, then the property will be + retrieved from the unit test class. + + + + + Provides a data source for a data theory, with the data coming a Microsoft SQL Server. + + + + + Creates a new instance of , using a trusted connection. + + The server name of the Microsoft SQL Server + The database name + The SQL SELECT statement to return the data for the data theory + + + + Creates a new instance of , using the provided username and password. + + The server name of the Microsoft SQL Server + The database name + The username for the server + The password for the server + The SQL SELECT statement to return the data for the data theory + + + + Provides a data source for a data theory, with the data coming a Microsoft Excel (.xls) spreadsheet. + + + + + Creates a new instance of . + + The filename of the XLS spreadsheet file; if the filename provided + is relative, then it is relative to the location of xunit.extensions.dll. + The SELECT statement that returns the data for the theory + + + + + + + A wrapper around the static operations on which allows time + to be frozen using the . The clock begins in the + thawed state; that is, calls to , , and + return current (non-frozen) values. + + + + + Freezes the clock with the current time. + Until is called, all calls to , , and + will return the exact same values. + + + + + Freezes the clock with the given date and time, considered to be local time. + Until is called, all calls to , , and + will return the exact same values. + + The local date and time to freeze to + + + + Freezes the clock with the given date and time, considered to be Coordinated Universal Time (UTC). + Until is called, all calls to , , and + will return the exact same values. + + The UTC date and time to freeze to + + + + Thaws the clock so that , , and + return normal values. + + + + + Gets a object that is set to the current date and time on this computer, + expressed as the local time. + + + + + Gets the current date. + + + + + Gets a object that is set to the current date and time on this computer, + expressed as the Coordinated Universal Time (UTC). + + + + + Apply this attribute to your test method to freeze the time represented by the + class. + + + + + Freeze the clock with the current date and time. + + + + + Freeze the clock with the given date, considered to be local time. + + The frozen year + The frozen month + The frozen day + + + + Freeze the clock with the given date and time, considered to be in local time. + + The frozen year + The frozen month + The frozen day + The frozen hour + The frozen minute + The frozen second + + + + Freeze the clock with the given date and time, with the given kind of time. + + The frozen year + The frozen month + The frozen day + The frozen hour + The frozen minute + The frozen second + The frozen time kind + + + + Thaws the clock. + + The method under test + + + + Freezes the clock. + + The method under test + + + + Marks a test method as being a data theory. Data theories are tests which are fed + various bits of data from a data source, mapping to parameters on the test method. + If the data source contains multiple rows, then the test method is executed + multiple times (once with each data row). + + + + + Creates instances of which represent individual intended + invocations of the test method, one per data row in the data source. + + The method under test + An enumerator through the desired test method invocations + + + + Represents a single invocation of a data theory test method. + + + + + Creates a new instance of . + + The method under test + The parameters to be passed to the test method + + + + Creates a new instance of based on a generic theory. + + The method under test + The parameters to be passed to the test method + The generic types that were used to resolved the generic method. + + + + + + + Gets the parameter values that are passed to the test method. + + + + + Apply to a test method to trace the method begin and end. + + + + + This method is called before the test method is executed. + + The method under test + + + + This method is called after the test method is executed. + + The method under test + + + diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.gui.clr4.exe b/test-harness/packagesNonNuget/xunit.runner/xunit.gui.clr4.exe new file mode 100644 index 0000000000000000000000000000000000000000..e2ab1b1975350c8ea7655ca0c3c6a8edd8d4b13e GIT binary patch literal 485888 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— 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

tuJrV2zdkq%<^U2S);Y?!poi{fr1-A)0R=Ipo zXZY5omH{L@uYM}Hzrm4o{H5War1XVR4P{Xs(18KnlaZ6RI`HM@_=XF(6C2JOI-bH^ zG@yb7AlenD<9My_$@qTR;W`)X#dms1zkjc+u>-&HCbPQfW{U77!Q^ks&0r&|*8r8& z+|-o*8KE}on^0neuF{ih7hBEEbvHgf`ks9BI_yiCa!4?%?7JTc@#X?0HX>(VQbV)9Ad%$cM&Oxt}OWZGy~@>5Vn zUA+zr5-)mZzCT|D%*ch)Z{h{XkDeUby-G7?ygVVTlK)IlqvG-Hkx##=W?u$X53v`O zl`+Mx3J?Strfqfes^)rpqsaC7r3YKCo)5%6K0c27HbtZPTIHO4d~aYg8YX@+JtEej zKiN=m;qU-Z*%9tuj7cnVQZ!lbx%q@b<}YyLica>cWB|}mFonA0HyE@pX`Yp8Sv-DR z9LV2asgz^n&+tY6NXUP|=3{yulh+`FimEyoz@%xrDB^(lCHKzOE4ZXWdbpsz)D;l& zHRt>{flukjSF4PjE+%cMZ|i+*W`rsiNSij=6hM`Ms@-;$A-&Y2Z$ppu{a%&*nZ3rk)A!UHs3U6<`fZ85z8vkucR%pk;WX8n4Fr@oBxoLr6=pV7rWKGw^wh) z_c4o~i;qvXM9XA#ILF*sOZ4PN-RVXr@|F@yDYd)*x2GfL-f{G{njwdUbRw~ZL;QC| zSi^{tKG%lmSH1z=bhgQ!D5Pt>8+rBkn?NUQO^d{Ym5u{&6(lt<^n&p!dVHPO)%+N+ zmnMydx;|BrMZI}ZYN|ow2DvepxO<|;0B9GZI5^=8ZL62(z)Ij+=h}W=cDAXL({A60 z&(EhsHQx@ZS_jWsH>ziuf{!?W+6%D61^4Wqc!mP(RkB$1QXnHaC3!IbI)OFf>LYsW z%uG2DhTa-K944484`TSunON@c+Yi4Zh#6G;_@I$f^v)1~{IwWpIDFL>*f4aPfAe#` zO;d^MY%!=l*Uwi|@#n$7sq%XleJKgN;#JK%PT1CCj1`UVfi-fr(KhPlXB}b0&(;n0 zpKV)W29qVOYs7FXfuUsle1i4^*|t%Ibf9S-JoQ>E{B|=kfJkZC;Lx5Qz<^!0egJ{^`(^C;xjNl5HnZO1-16_&$prrFEDSe~% zC0{*Wy}JH;H2mrAB*`Ary7ojsu|KiDlc5zyM>rq1)Vzxj2tByiR!~rInG5x~-RpSL z?@TwAQYbJn@gu3ahTo5uG{P@$>Pi_09v5v0K6tlPtfkWVtHFkxB4Yk?sL6-f*&$$v zRVp%C-RZxvy7*dpt#x?&1E=WxJXxfyvtgM|CFm&`Fc7S)zWd~%PFHnR598LJ3(gzw zWloAPl$?gBFpg!(V613G$W_I1z?A{{bT+0w! z@-Jg3zkB$gSDWg(4qiaLt<{Kl+?GfB*_q17yKP|B;t>_4s^kihDzGi;*#D>uN{%#O z%u<0QTbkyt17s=z;Z}v!IQ2@G;nSR_c?9R3xgVTTckNj~jX%vsS(8(WxW_N`$1R1P zGb@s!kP4@%G4;+4yWyJ-SfOda9(5ON>#=b>euwh|qod8oia(?-7ryt&tVdesOt!t< z;AyqKDtgED18L*QB`H9`n{KeanrgPw{dDA|+k%nR#5KeDc|fdB7+MKTC!a0VspJw6 z=m+FR;ATCD74`b{Y{guZPuTiom1@hqpTlOZdB^%elO2c{xTcVip1!!#pO>#w`PG9O z)Uj9J?@exhYC?+JOuYyg9CYl9Q|H#r1QRBwxcCUnjCEY(lXVO{H+H|a} z

grIv2!$kdg~r)RbI#26qdZ#cZa;QQ6RO~cD(z($~v=g%e$ zp1zMW=gzpTGxd%W{9oiUJ*gI4cD!%Q+9eE{!mf@sZD`3;vZ849-0e4T!LnFuxxep2 zvB8A30rpv%f6We~Vy?j`qmyBFk-Vh{N<^*XQm^M7LjC*ow6*4fckl8NQWyVPD{_~Q zeduZQAYR=n;^M4jzJATS8>31S0pxlv&r2AwoqWaa4{5PHdlUaYu+(H$vfr|1wCh%y zC8dbMN`kzF=pI3#R)qRlqklQxFKhiDDD@d1VUh)_M00W#BR^3r+P$n&MK~LTJ!{S# zx38`2!1Q2(LY_5Ok92j>V3{~+@Mo1w+kl##k&|QQ?d^SNF1D9(n45ynpg?!WdfbNJ z4=ifmcD%)E%(*GRq6--8KsNBDQD3ln=yXm5m^>a1rQQaHs3_ne%{1BI8rfsM5;b-6 zCgnmylya``@8NPUP^_c@6OhO12HJdK_`S?+IHX)hO0t?zhBG zSByA!ReLVIXsLHHBwS$Qxcih?|FGy#`MEh$-TAYeKT+{3O_gr znOYEBiD-DIOQrIsFTl97s8P*ugUW@EPup|***mjygFok8nDsF9TraW6>;wMS5wR1t z38j?W&$%@GG(R#|TI~$Jd%3!Pvggn0eEBwQQqG)j+jk^aloT9;C)me$Yht4V;81&H z@0m6hUzdxI_ap`_^nL-D9!QkV2B`Cs3p12Pv-6Da)pQLyPpP?+Z@i2kt&Fiu>SI*x z(O`8Ib-8v(*PJPGuyhxHxH3sxv8*mv#)5V51>F~nQC{Z}{7+mYX5@MYNf*`C#`lY# zimo@OP81KmmXxtL7-72LVKdu^=3s-30Fn4UF$cBB`P(IEqj$$=F{finz)WP_djoVr zXuhVy7FZEEbdN91u01#Z3N;j+}LvD)X_WLGuVuCSyi@m^OI8F}q!XwXla^qw1* z{{oHh2h{Qv{=|XP&YAmDKKN+YJ}_rCymV#ayRIPb~9#M89;jq^oLOr{cy~ z>&$)ex&1eFtyRwpGwrN78`CYNnWg6fA4VLg(3L54u?L=Kl+*OcX5l$KQQs;*`Sbx6M|^o=u=*S5X zSb~|k!(|TMS4?o{UeEq@yI)di@WThV;>O^kvr`%C76pWJelY1Zb)l1uu*v$=J%vMPg9c5`qHg4U^92U^G5`EK+ zt9)TFcDtf?2Y+s9X<-aPBoUHJ&%+?JM>cC4^}dEeC3G#F|C$3IY@rBV4CCU(^-FDnO16KH-nOx=@Vk%irg zHY;e>Z(xzm^I2Cm{yn4DJkGE_m-6+T(Lsf-=#LYmAHQmyfD{H;Hz)VNS)!iuYT3$% z3ofYK+}x?mYZT{l;=j1`JY-Fxy(1Ly@@+x4L*Ur084I@er#V^92_|ubk9GU)8CE;u z({HH7R@2>_*Xpi+dhzP|VUCpl)27@;GcL!o1DmPl1Q@%FNwj%HTJvterd+*&)>Y=) z+@9JvCp$B~FHIov{O$R8&3=}@L@Q!FKXMnXR6K=>Jutj=sJNDW!5_NEL)XY-#fXF+ z-!j4a#eFudstF4|efN$i+cw_s4KxCtJ)!q&cBLMh*pQ98Flw>1GBN2+Fq4mJT{mYj z`QWh|MS42lsHpc!Q}0m+euVJkQ^nVBA8`z6ZFm$mi0B56Pr4ZSPE@X4jPX78&IJQ3 z%o$jW;Mm9k7-Xrvw=rNhC=~o*inBi8qO`PWccOds2C%IG_6ZF9Bd{8YAFpuu9S`WW zE;FoWUqGOX9P@Log~yD%k4PTpHQssc3Q4|#RNJKx7fffvIKv=KkK$*z0mPV=nJO6b zCZuobRBazI2Bs_9jF;f#-29#K)M*7sH0x7u>5ViPC^KMl82SpmQRXOVY7(&Xy~EAj z4QwH6-@gM9Tx^)z*0(`GB5r&@KtPCXB~>lqrtW5esFBO?1$*1spl-)*3P)bhkbTip zb_Alj{nyM1RsZq%FmWRbPHn+f~AeIq=SNsq!@9f{8_Bq5r%njuhUU zN+?Btfw?d8xpAA|px`{}@KMR0%WdPCj+`Htbw5l_%D=o%pEktB%iH^Fb9Q}Wqe#CB zjH_|G^ZnFCBF3eaZRp)4hzirE(}H96zP`B``8K~F=dQM&4Kn2!_!zoU=)+O(a*{f1 zHCn%mm5lo-muRt!@h%||nzKdBcms{L*A6^2OnKj>Duo@4XT4|CQgSxzAAZ8Zcg^{B z0i&%#)Q$23CzLbt>)8-s*NZxoR1u74VTD5a3k3JZF|>=&FLZ zlcZS+s$yYfWfX8NFA46v$l`Y$D%D`-2UMw&=V1@11Qj(v$d%7}vOYoO3CY1eO*30s~0kHWp;1C1oHx4c?#kFg2#-hc1 z<#Ca5x%MM(?`%NebOT%=)PbnAi@G%<0+H*zJ6Hy+l<*)T^Dt6z2~AkIoeMt%JX&ZW<=yO!`?1THOl9Ydm{ws zLiMXi>}wq!(n#zwy~f13GS!98afzl26DRN#4^yT~IMp)BAR(XlW}kkc!i|Jak-d+3 z`4u&bJ%&~CCSU_#?zSR7aagW6RLc;RNvlW1X|YdWo;hK-wb$Oi*TE6mL(9m-m~?ti zjA)*B-AKIf*X+#9?+tt3y)5H}_Zu_!FcD~8OF!|*Lcc!8Io|W<2GW)U@rv+F;`c91 zor#G|2APm^swSzaUJUe)C0!CEY=1;jZ6@g=zB{u|K*8Lo#DHDCb2Um9{K^1A16Ug$ zd3s($Y{P!~>;C%P=IuTF@NT>brORVHJRc%u$v$FmEom*}|39LUv7p8VJw5l8KebfDs=T%bLmRBpODI>SzshYY!^dfa^X#`t=< z76}c4HN!bo5(C?v&*_zG|7N&EqpTA-e^!&9eAqXAgsn@oM3fKCY% z@SFre8TJKs@em_k9#X;3*qEWU%?-Wdryo~Bpz!Rz{)qD$f~7huB_VtZI{<=(q@ z@A9=+rIm2K z*6ce70vN&nr<_=q7}FjvHP^^tmex#sohwP4Ke9}axc4-$jDE6*Vx zQ*&m1L56bRHSZoRefStcRZ$@|#tQ}V+{MbbLjiNrc{JK;#B5%4qi(+C3{_tq>lwen zHow>La@MynD%MBSZ19Zm3-|KPL%e z4WP~$2y#~~u@Y$TB-q1BD+24-6fCo!zjDFJ(ZLU`F5>428jMh6j*JehU~Ic>dmS9PoEC2PJ0eGcJY^bZm+1+5BwnVotr{2@^ny)`pa&*3|`eB%S>$}HayHKLby(#N%n;- z%EEy%vYon_jo$qk@vcZU8+)MPgCa9A!$~k`p#htr*$On6X<{E6v^t-!d9{0CIB&t< z_E3Y(Dm^FTb*~Ix!cl48mLTC@UHV$gz z7ij}hMwa@JXCHoTw)Gs9m6pC}ZH>&xpctr)W{z|K3hnWukseo@wa|$2bww2tpU#R$ zyw^sPI;U+4jcVK;RDD|Q+{@Ye5uuO5H5nmAAYQ>KQ4_#y`-)tPL7wa3#9TkGOLi{Q zq?njWbmTV`At_J3Av|0|OBuO2SEs&;-Q@jYN8IF^rbGi6H3a zROywF^pBm8tee2>uVqdfa#m|IAt#nisNVW2$Ucg{CVWkVsA2ZKR3I(^#>mq5kC%=b z_`siZt(6b}#;bH**4GEWac;&%?4S6&LjK+mJbtTa;CskTr7mB4R(u0|>YUpQXC{qn zCTDZhR-Yb5?O+{}fT#vq-uG|byg^Zgei1h(mjk&%&jD1y$aXyHVd_+0`nAViac zyapO6V(hinSZ^_P0TQf1sS&|E`S$z09~u+Xm18M>+K)%c{(yxq^6Aq~?FC~)!#8t3 zD3f1dA^`mOXf)0@I0=|Mza3o1>n5JCI>*Dq^Gv7mgZ9O94Ty!q^})O+CpB(u^CKPG z-T3Bi$4=s8KX1Wm24v=aySuwDY4DJP7Q7WN)^&_D$$+&T5aW9|!wZ=ch=_1robX?J z&-lABMyfypMHO*|(4Zs6#xP(HlPn3eO%0jbl5WP8mgkxCB9I}`U0r?sV}YnhE5I_7 zmxEVa+%IfMo%^h&<2S33*CwCMe8)veGEOedH!Awn@UQUi%dE9 z@7!7Y)e3NmrIvy9H#S;hp={tV;Dv_`SJ5gg(iwku5KXx7ocrPvNIUdZt^{)Gw z7*3y{cL5=Xiz^@{tByffahN4HxNDzUEb(@%`D# ze)-78-u|(d*9l+0qnH~oduE@IROZXHmME{JWLQA6<0pe z-;giq`Pn5aO3?`uPlGkZLIFmB_Pr1w=e;YvDoFTo=eRkBX`{n^T#Do_cR$W_AwFhX4~D0p2w`NqMK(9C;!UKv301)%+pyTB$YQtz?Gk zaa#^E&rd0q(WR463l9R>u z_nao=-EK*}@6~*8ZHJ_|QoL)~lzW0;KuVtn%9f#(E~QI9w9c!BN`7|aX4#<*V!~_w zJ#Z5bpyE9nlrHB zTzko;JQPgX-!6}-i8tahT4!6Id2xK>B7#7LN0abEAfktpc?0Wwfdgfj0Xr@T=wu}a z?;9Q?L*0Rfa=nhtdgb|Ny`&oE=HR!NzcDz~4DL|S?GJ%)wL$;(@hJj)c?CYZV{vqz zau4T-hJjZc45jbAfD!c#t~r>HGlKCBRwjU=0*v7d-?^Cb4FF4uUe<)wKNVU2C)VW3ER?8kn}?pAU(Z{CKLvsrHpAk@SN3PPg&pEKRLUT=yT`J z9owPWPjQq&yAhk4C-mDAusuYJcZy14m3~K+EdPNH*N>0b@Vr0D6U(g~w2of~@(bY9 z1lOT!Ugg?_Z@FTZKt>FlN-3t2P~f<#kj{_dIT4$d^u$qAGk?`@i2O8jZCRdLQt0*u zMQ8x?}+*^C9Uosl9OQ-U&>y>AjDiiK1|05&p$0&9$|=w`UufmIRShh+MN-64#Yo99zZw`q|u;FWR8S!aMMt}$UyF@#PA{Q z6PfJ?uLoBg9$Q`5Y~W)qk5YT$dQ!C))&0=}`K9JP<#)rCl}SlnC$VsY9$FXyW4P8+zp-7RK+Ucp** zLWF|_61$A=Gof$}qrs#!B~~rnW2Z-$*4CB4bH4Bz+V39GC7Al2?Xj>QgX1w^F1iyA z;|DZQUu%51GOW6Vk;G6plU`1Xs~6S);kukfcs+w$Z14-TC>+v)&;Lhm4#~2y*KeY( zIsyrh!7FzX7{stMebrT|MfgSJbckc*vbai*Yfb+=1<2Wrm ze_`wHWWt;^OE$5BTv-rFqa)k?9%70j3-=_Wzhnx@2>#WV$91X(ZLU-g9yF0)Q^r3AquxNPZ=fu1JgJ@j{1( zNNZzgKhP0@WBVZDV;iR!M>XsKW;fwVD?Qt`Nb8jx?~ule9b*ADv&^2<+9R`jH|`U3 zrPA-ypRcZ<<0inXP`cXr%}HpWRzc`Nhcyf8hm=4> z^%ZeiUcF&F=F%=91%v=`(27G!G9;hYogW^sIqOp$1rUuKSVVl_BzQOc{*j{z$`W0 zzyy!wx2cI^j5;p$@y@zQ0L2^E0^WnC~d2*z4M6cx|gmzpBGb z&+q)=_5N7svPWmeAz`@)JRqau9o#$h<0e?TMK2&B7oI?hk7%8j;gn%~z3(a7{1aiP zgbm{K-aW8_KZJD^jP^Zm-(Gm~B)d5C z?+b=?&iH{(Ml-IA*HFk){4`^3H#E;R(9A!Q_V=Kp7R-v>hucDPqR#af&x( znZBx<^%}17z((}Nix(2|iYV52Q`&Mm*qgybwEw>I3S-)r_ZkBaNyH*cBpn!9WXjDY zK9wcCX4)|{QwTNrx#quow`bJ@Nw{(|Q?whguIKJh~FWfy{+w+ z?-P~Ho(HVxI&S9JI?r4Q)x>j9;T|l1CVjgC4$*kMVN=R$11vb8Z`86uPk}V3&D|)= zT|H}i+#lP1{9vAjh@2bq=&~TN$EA_U9=BF+D4XI?vQQ+>@WyBBynm9^y50D=XzV*3 zfwcQ)1Y3Wg*?omt0_jOE9-bgLMxCD415;m7<^{vP5Vozb<*jyIS(*~rI}ABH4z!VU z*pmKW)aoWYkAL0 zaQg{c)88^ZJv+T?e4iI&0wWXC`dT^BF5yo(%Kq`|G_9IjE7rSR(z*wu+ClOx)x(0qWW51eg7^tISSl+E>MHAGQjx*u$Yj zoC=;74%gzb+cn@4R&f3mgX1~R{#)%vcz_8ncK=gi29k3Oj;rUV6Yu6O6C*x67u)fN z{X)&;O@@vKjkcscBYgsA*PsZrFFHEdv5s^j3(>-@a=DcLH^x`wrPoTt*s!CA3H+kf zkbn~R%r~!fN0V&yZro$RZ906(0ZC1=^w0>cmSon2$PX7UmYNhAu#X+%c!iLMr-6AP z^FTOL=X$#xkt;`nLX-Y&puH!+!Rp;1E}}&+%CR#^UXo?D!lYmehD-fy8-%kz`B$6aM2cy~W7F`~PlmOrI zipaPWhE--Bn7%_93z-8~-5o^aAODKOTsX93Q|rdBDBP$wIkfq{B3O-IIUl+y_@c@# z^JUy(80~$|@X(vfPINK>@&)&U=?0mfol}Sm3@rR`-_L+jrmrmtn|V~_zRo5615eTW zsRv77(fEF}v&7-^DsQ_dAR6JT{Jf^dFLL$RFK=WOr7^~v&|C?;gK%3twM|A7yWcT< zDV=fW_nFx5#)~6+Upym}H@w77IY+O`j1rrqyT2?NWj^-ljSqI#&Y+P5D}CrRd!`Ch%7^h)Q>^GjF41L+gUW!FEIFiR|++m^mzw;((6lYt5K(BDC@8;^^V z61anC!$ssq@d9b2h&={sF4H4AW3Q^#MTU}*|534i@C z9#1FRH<4*u#J#+2qZRxY6{ESLIVmra$kBe)B#4#^|7eKgNI52-YPRmaN6wYL{}@zH zN6H|{!YSo0f0IO0x-*a8c*Q4|I5D+$X$DoU>_1o(BFyfRUOcBDbpDZAF>NIMV7ys` z*j3qt3Jk@20m*DZH2HQN8?CVYzUG%He?0w=)15FPYXMm-Hj7I^fiZ^#=h54T?zt#| z5GfNwO|lqwtY9)gi;~rRmZct@N*uU#qKz#>->pebr!W*iPjaQ7%X=73$8}@L@bS}sfWAmy%nsuFY%wEzY6LtIA8xdBaxtb&)hd3n0C88$7@HQfQ!@&}{ z3(kQWG?)}pc+0%>d~S~fC7d3ebf~M#X^k-j-k`&zV-Vjxb2K4F=)2Ge`?slkY1uR3 zsDEQ*d_49!%Tq>1Qf9s1k#gcZ@nO!gsKT1$l}2Kpz>U`A@o) z@CdPvkP)OzwKhmmDLF(QF|ao>V;zZ%>=`GU9rGm8t6nmrEvE$8%IBt~Plg?Ejo$IK zVqomMTQtCmB^FzW8aNzme(orcM=r91Kzx|I$@EK*g~W{JSb)A$QX%;Ch9aA~jLK3V zL!lv!+?L1Z#*J3-*urpfpVUDVc05TJ`cN+3(p2pWi047#Mrm{?4$Nrxl( z!Obv@{FDe1Pq5rQL~vtH6$!d;FPbB~LsyR%-mf^tDJIs->|!s4s>^WGUtyw`An<#| zjqq>%P5$hg0U!aueJsDS2Kd zCLKyZ!EHJaPx~J~n8Yoju=f3B3E6}Tej?ycQC3Z+TIwNSk0TJA5FSFn06re{pFhJN zAOHV9|3M3QdU}$8dzhfBtE)adJNWwg`uO?z`FMGGIl%W1+}+&;!T%EMRsY}lb8&Iu z_weutgTJ@&@$rWV2?@xks3=r$a4<3;AOIN{7>I)3ka2Nw$dr^6R8msXVR(4>5Y#CQ z;_?5#Q4`1;56W!{WgLU@qWt~+QO?fJsECLNR8dh8s;#XJH83!Mdi(b6AEAGs|BvrV zN=i_%v9T!V6BJwtL1kuUqT`G~dZyq6kM}=a7sv+#%B=%=&OsX^;TZ+?0wnB6k>lgz zsHUb?WO8x|(#Lwh(=0Dg`&8*W00Jjap-{J;D|$_!@qw< zzXR_=oTxwIqSL6Zu0}$iAi?7e3FUtYbt3=2SqGSRcOoMrSKtN_DmghBH90v6ZC8rY z(n6Ox7RAY#@ZSpPxac&{X`$G3&D^Q<1|2OIYvP2cq+()-LTwz6Zc6K36 zOd^rIyy&(~gmzAZc24|nKcmw?r-e?lqoWhm(b0i~`HjrZ&fbUdr22nS2WWRK7?($2 zi$)C(4@3W!p=4yDpsYzy<|Ondl>h(i`Oh@aX+qlIHCc*;(=a4j7Qp;Cf-wtxa{v2( zFjhpM9}k?Io}xxaM^RBxStvolco-+i|Dyq&M`UCcYGmXCd`6<{@C)Re$p20aKxSVB zIlbcS?D9uj#Kh#F`1#ReBo*2_725tU;qU+dzx({J;-T}3ipoZz^JN==p%k&dNr`#KfRw-+wAwp|5nI?U7j!r=_J0DJzR^ z_Y6osAl)oTKNEHPcG4f^)zJw=wzPD@ydHryC=JTt0p*E-chdjv{eOsy{tbmLJ2SH< z($zH)_3qs;$eeDJu`#+W{Gbl#e$0gT{t^$Jx4C%=5}c<|si~>x^l1oC$<2KRat)nUHk2nD(#?kFOcX0?1X52g1i8GlgxufTLqS09Y;PlDWAmXM-I2F$ zq1UaersNUW;Cpp5>g)|M{R=H`!o2piwmVcjW) z`guYdCqOx}{u&p`1K%Y=TyIopXf|qXZS^1GqSNZ`?t}jGgE{ff`964%j%saf16?Hp z?Ug?MugVW|mOnEi6P1^j2ji_0)+cn?^P%nYkz8E)e>|hxm5nVB`F3y!`E6wx!V2my zpMQB?{`wV}n)(d-z#Cm&h?|2BFy@k>ZGB+;7NEXt1$3gapwG%O7Ct7g#4(D4hQ%!QCv;a{IQIC7zVqhP$} zBj;vjke}z~P!Q0ce|?^xok3=1R6_ZEVZ0zw`(#3Sf>5zB z&rlO%A5ovi#{Mawzt78k0pr0P#l+->N=~XkO?>><@1o;pXTL!AEA$h3>=gb}zUZ=` z%LE=Lf9PMu#l@q4Uw&9;FG2Z_qN8I#C#**D@fAUvmqJ>l&=#eCeg4aLMIa|Kp{;_D zi3wGxcLM{+xBY#{q5eJ;`t$Ff^YdQ7c&hxT@Be&fXrLcikYE4Dm}Fx^%dMh+%Ja|s z(Pb(qC;>e?5nYd?tgI|>5&X*^lwSy~$AgT5{ZToTw+tO1tujdSZ_j`Gt_13k1#3VE zDkbFwvb&=l*#&!+uC`YAM2A10+mKza{(S!X?^}_t+h3uIi<%&vU?@L&%on5c`lmeq z%pYB*xVREzOib(_`ZkOqp+CzHWB&nq9|e7Y^7DHJ{a5jygmQE~(BC;Qmcmf!Y4xaA zO--ogy1M^TXl-mjm6f(Z{7@)6T27Tge&zp3o)sux-%?a;Tpa3Ic{y6we(-1cq3s=E z?SlR(L^(L1$4n)(|8q#U@*kf6{=2{YRt{yzL(6Ssc2*M#%7tuv`2yKk`vUdH=f8Mv zX{bY1mUkf8*~6jiX!(S0i+{}LKgu6nw%FJ>RAEsO67)L9Kg$ogwh!n>NRXWR7-t55*_~jxeeOA`gs?~ zB!39m5Vr!I{y*jOALValRrZHoou8i%ZC&8~XZfKnK2cH8AO~_#*4F5LeDPllHR!yd z9rHo127->#h3e_-K%vL>zX~u`(Cf={$fxGNnAZy^+cQ*fNC*n#4+`X{ z&!6Rox!?%44cPPKpd201^YMZ#wT?}nqgT9AC zzlw>yJw2p%Z-I834fAQBtw|}#WsuLCC?wGVBYCAF`oLD98)1lfZEExBR#cp#Ncvg^&-!q@v&2#eF$< zE(gn0fhR1*d*?U$4fy0Om_C9vAZBD>8VJvSIm|^l%zrsKjq4T_jU+yO@{Bke~`RB^v_{H-Uzy(-7aPyZo zar?M0v9T$be~;IT8{eJJ!D!}Qw_X3OKWsAxXW8sR{nB#}N24*pUW*Hv5d5Y`OSpT)nliTi;2 z0(=*o_dFO!Z1dcn`C|-poH>jS_E{9b*Bp?U+=jWRhWW3CzEtCRf&OIz{}@W_>w8Ze zA0H<{AcB!R(bF>t?-SU^7#8C7s`{xcPGg#(0QkoUqP=}Atidq3EUp8-T?lgCa9B4? zd*L+&#b{de}ehH*ek~VmUbAJLr224lpM;u7>$3 z0lG7ZsH+Q;- z`udllPR#4!xyOC~Q4aUP6L2n`SAa3?a6bQ%f5+nh`Me(3lVbTJDKj&hq^w*(+O+A; ze86K76Dx(a&VjYSd~Gzu>CmrRxb69TKbQGAjq|KukN06Fl)VCL7DuiN*NN-?IWKNI zGBTR1E5LG5pppMpeuDcCvL6Zb;JR>~KkB~+ZI%I_8wYFaK$hhIe8~rz`CrPf z@EG76EQP$im6erP=L0lf63D|Uq5k{O$NSLMZ20;9-%bBnIoy_~XB-K14n!>PhCR~@ zFy|l14{`tT1@gM>nVFemH*VY@g@erB$0w1reR~D0?}Pu*fZK3)ze0i^Y$FvE6aYPN zbqrw7zoiR+pVH8RIws&eVA=@y%Vg57U4^g?^{@u@IEMB3&(d>s;5wC*3SqBD6S4dc z(>O496QKLknw`;q?-S0x7T~q9+S*#IR{-3dO0=*@1sdrN^#2j`{}GJk(Z8L>b>O-V z9!w^NhK7?s=Rm}5ft+Uy&)>h->t9QOY->Bf)n53DA{mdsnE-sBOw!ZKByHYY2m7hv z-wL>_u5LQX&p#UEa$Y1nKi~C8y}-}@TYKi$p8vRm^S>0ug!2=BI^D+GR(ei&^ z3g9mV%#$AAz_zErt6*6d)>UEN8IL6_EE@EP7&pa}jE$3t1_o(>tJBEo6DJbjT{OVN z2(nHB>ld(oyQHLqgzLg}!d};dwf#ph@;@0B#?#Pea~MxE)>C8MFNRZqJ4h}d!vmca z?i-n2gmog{gZ%)8hh$uY;R-H;%i=nKF2i=`e~VZDlm7l)Sy=xqFmK*4e-8o2kHZ-u zwu4L)zMM(~y%`SVG(02X^Mmt1UmwD{c>|vOQ#$hR+WVh;2mM+MYajve+6cyD4fM)I z9B>-Wj}h>x5P*1=QNeg4v0MU=F)%O# z+Vq3A{+T@t&Knq*PVNWpJFH72*uB6h`PUbWnHt7?4bOE+NjXVJ2isO)J^z0_?A;p# zb==0X6R^|py9RSX{jYl9?d2VX+s@A~fidH@!~dgz>&VNyMY;lfEASrCf7d?j86&WB zfO#t;$;th&ZJ4!7z&dbjkMP&_46}NEY`-vT_b_L>fa|((qnIoM1HAmF`vKZ!fjRns z=?y(SZ1WIJ4x*yrz!STJp3Z}`V}}c*{h<$7o-+G>E}qrl2aqHsT}bNco{-NC`hoj9 zn@?9ag1nc2XZryA^0#vVw4r-=cm&K*Ce)2}5Lh>V1?uqvnPDMWuG0&8VSRlccosl@ z_j5jMC!wj~Me6G6Cc#fYlX9|4fPeRdd@=L&`S_%g($h2WesKSJ9pJpu0nIUh&#&us5Q{@kBW1a7hI)j7L!4@(V+ZXPcn*-qK!?BLQ$|?=={?HGD z?hs^dQLrCENR5vklbV~F=0oG7M(16A_6e?b{ba zx?NmCx>Z>4r=c8phQk)|&^BK4Ki6C0HZVMb@qUoo$61a0(c(F!&vTx_wQfVgWJF`IUyl&daiwtM@_>$@OFQvGs}g#6G(>+ z#gp!X9m<`m%3s0*kZT=1k_371e#5$}KiBo)HsJi@JviS!(9s_f6R|7_>v#%(3s?sO z`ZTb2O(XB~=B7s2Z@-5Z!229Oo(XxetwH{8_29a38?fFauzi}Je~>AX_n)dNZXe6( ze*~;o!g`>C2U9?g)CM}GSM%Z3%U06M7cKMm|sY>-nYkviUVkg#55F1&gDnq+PsPck%&A+^0~pMQ?u zcXf8cI;B7#@E*jn*B^BrIg*RzkAFOWd+`1X3BmdiER&oKxU9T@u3N=jJof!qI4r-w%ZDLpM6>pJG)59|jzpq&P= z4a=@wc+M)w0n1*swc|;jKYb#Ne*R1jxLyN;E6^_9<7E8@%uz1D=@?Q+N7sBlTt-(H z!(BY~+4^wZcIgo{n`Bcn|!@=j4=3N`f&04*UiG;Px?21pVy?ybgwj z`5-sKvh7+ZUjgl(o%nqGDv!o_@iWlT01UeVFfN*02G0-3fXQ_k7~}&D zfGTJi(Xn}56BKezX1X`szmp#SdBj{&?UWP1R> zADA}*dY&u~172m$CYsEfLAwJmZ|*?T{pmjcvv&T~GvEp6U_R90d|rk#avylU4-lrm zhY$D}z^}_N&+0JdUtr6>s{8-X_hd0m6%|>80I~;XELIo+2@4LLAZn-ru>%e+AV&DF zgt>B^P{&+-xNh7AS!99RgbT|l@FMX;n3Ge;{-aZZ(C*#4+2P0d^lWWy9Y8+daPs6y zy*+#OutQaUd+F=za{!N-0N*j6a&)``-w{e82WRIv&;ut;!TKebn3!<2m=}(pF{ke8f=#wL)x-A5O|1NfQQ1#_ck^u z7|$l)KEO|mvB$(DPHowOabi5!ZWdu1TT*%1eV~cL0B?kmN{a81pW!-i9-KEZF@5UD zkt6JI#`MphPXySG?JqH{97D>zR!*v~t0P^@E+S=T+$5(9^DBS{#Pl!bCDK7Q9gn~F zq7UcC;rMY(Ut_#Yw!wpT6GtEijT+!laT`DK95lycNOS<1k^aSt8Gx6__BYVSEK*fv6PahK zxLpsn(+|n%+Uh5OXEEJ`^~SfrJ|hvsV0|+)Gxmgp^r@{|OW|D^DJJ?3wy^;F=w_(v zD$K_x@nspTO)2m?NmD0IoFMPXcrea7aUu`ut${VlhxNMy<#NgQ_}SL2 zd4Qv8$?x#Jg+(ToH<8y5uOX}hM`~(%@7}$bKCOd*@$G$p!?OXWXP?!PG&Bk@jo%C3 zv6Z_gY$BhxRc3e)LPg&ki2UggHyMRLLNTL^!3&ArEYaT#0|W#7fwDG(hJ6T>k*%3OrdIe5m;|NR~mCA=V7 zW&wDF-&@fjbnm;u3WKIQClC_lfv>-k%k!g5L4-d0&XtFIC>N7ASDqhP0T`37o)yJH z5o8Jh*Gs+_W+U<^9tsX{@d^qduJsaV#mbdvg@7Ou5EMi!h1MV;Ap#OyvknQY6+z;g zx1ep?wjqffGDu2l2U@j58A;2?BFaO z?2t3sbnrM5v~)u9@(M^^Q3)w2DIqx}6{MoF8>y+OBMl8rq@t;f6m<-ditaw7t-TlN z>gpjwLnE|r{{ggrzcJD~V2VskOp&pv8PY#wg$`I9Lvl73k)h26WM*~{9kxD$&Y!=4 zoE)7H-SJSweD(?wbPPn|r`^yh$1p^FE)7v%ypHG{uOklU6lCn+ju_l?(UOpxNX9oC ztqRLTVtxf^OF$l45tEPBT`oh?@Qx#?49R2{p$k6#=x9(3vhxi^cK*TWSa3M942?mS z5edi!(vFdFNY*z8?ext;vi=YUUPEeuSx7ZL0~tppBfXF;v@awR=_Fi3`{J^ZQhWu{ zNGL=4@wd={gd6BcSSqrLy@nhjQ_$I%G^CPt3++iQLh{+gh$`?7q6&YEs39p-hAtC9588YF)8F_OryMVs;-Be9YOB$)UNZAgEK#IC+Ug#1>ty0RUixK4x;yAego zJ4Bh$hZZDtB8IeHM3MF$QD%KWbh!hFI%g13UmHa9xr2x!ts8M%dyi=HhtY!kA+#{> zBVxWWjCcy(BG!UI#Ch`r;<`1AXbV0g+8bXGUFjsE$Dw>0F;sp-iz}xQ|IHq>vfu;S ze(Nn-SM~|XCsZT3tQw@8-hh;|9w7rrs~0^&`b7_sQe_`nQq_Uh)VxHC?)D+Bx_-o6 zKY$o(rXUaz<6RhII|VfrH5HS` zPmds}^Mlihlke1H0b{4{VWUHa*nuRd)4 z@7Ki0o3p?&&0mt#bdY_KU-0}BU*B`xW8bTXLd0&PVBeqqHdE5kvDp5c-FM%>_uk_+ z#y-EZ177gQb^eI;j~ib|+P#|qLVx}uzB~BiJx+zC{d#}!BYE!U3VfY-Xa7@%@RN(h zB7=j&=l+A;1}1;WkG>5Y0s?LRl3^5xoxg#^p^;y+qlw7@ho3TRVdBmp-zLCkLb$^K z@u$&}J2g2n7#WV~9rDG=#GDTK5@!D+20#BiSaSYv#DUDjgmADBz}He{<{Vsb_CE9D z{8G&g7{cTw>`G~p{`2{ZRToS*z4s_*O9ANl4}!~s)sX81VH&BG&|GIwV({3q2z z1EYOupg_de4n97xlKmgl_&=3}EDr)Q=#McOl>=W^g&PKz zZZ3BD!~NWIatv%=Cw@N{|70>m-deyC&c){ag$U^5Ofr7#fzr_t2p8&oNH_5?m-|@8{z0@;cI7-1*(a zYGf{Ep3OhO_iOx3X7(P>FmB`57>nZgA;?0Q=TmibD5JUt5 z0j(2VkHjRU(GF=D#I0gpSjQ~05MrdA^{seBzE2h$v6a| z1@5v3u7ZQ&g z!>=Gmp!3xta*=sZ5;DJ%g6v|`(AoHGWR#MN_T-cyjhu3%pO%MolgiP_#5`n`bQ2v+ zDM3`h4-tEK9pVYSi#WpT5nbeS#2EerQAIT)`uOK)MZ`U{I^r%`8F?RVj;unPuhgQA zSMH)EN%s*Uy#)!RzC_!vJwxk?+R@gcCumdQbF`zf4Zdg9N#^gUQhN|e?nRVo?+{IT zAEHQ~1gwY5M$XeT9)63IDkK+EgVI3MPCuqt*?l#Yzi?{d_$`X zyMTXthX|EpNHL)bDdgWna`_LC$h}s?(=dp5n?EAPS|VCd2YeWWMGezvK|KjAY@7jp zYz+7@NIxe5|MdlNHh)2jo2L-#D-!TtBqaE-8woZHqpc4Hk-(Ea#Q*pk;^-m)|3yMx z0YS(QcrE|HAan`%D}M-X!J)_<_$;^ZIOGu-kNiTTkZ(jR3XF=wDkl^c7LI~JN*Q$} zj?7oZBqSmD$}R#wU??Lalgv})5>KXzQ4FtpmnWri)#ynL8nWw`16#T3c0vANE zd;jZ3T5q=UIdIh2A%R9l<;-6kSFGB@M zm*jQluT=|}cF*7F%7vyv1F@U*<}Lv$Dk@ryxjQ}KBs{p(P?fnSJn)`MdG1a*3KxeH zDhfV?$d?QSEe*rm&HnY|;!r{K?zv|QyeswQ(z|0b$i<<84aRd1W%tY_jW?uxe~mI? zkAoLUxJ*qMSInjknI8XMJI<6EVlw;Kl#c8Bdz0|_;*cR}`=LYN5&5tJJtsLnbZC3> zTPYxN@LW8{SS_p!}oO4?y*X=`cA$IPq=k)^HlFU6q;QAa@WV!M!e$wnL> zjZU8{`8`hFa>n+I8S9cIg0^SQ*zWj4aXd+T&zw_9)GNMm9uHoS3;Lvg0du48Bf9^zbfFpsM8(a@NuK$zbkTZ7M1%CErYn@KS z{#@)wI>{IRSfA6yfIlw|6>N0^&BC_7C=Nro z#IA3HHkjF>UE2D{z`zh0?K?0p!`41=4zZcLAwHX6B;_257CT=@e3x#Z#Q|k#U0@+v z3wU2WG#_b&V9M88P$L&Wn*M|^CRu@?YOMiPBtt@4-u^fBzccXv$P56e z_V?9>qKdQkh*MmghEZIc^ZPB@CAfl?cJr!T zbN6TmKLdk=?EEd-CC0i^K>5c#lHRga>ZeXs8{i=)F1w)g2-i$g8k5@EK-GXQLxQPR;$7*`0U6TW^~SMZVpxTDu+rr%${!voJ1spj8kX%;U?2=m zhLVkPl5~VuhBnBvDOz*Wd6~J^4-+cz-c*V`ikvG0L+k4NlwCH1FE;>VRwd?7+7bHTqR2MZt9(tN6|PYE z%y@g~*Zt!%?0$D&w}D5ZFJHvBoN5JsEzDYM6ez;NOnf z6lNxw05m?hWxihk?nrIE-SLqbI#=dDJUuRWxoS$b8@&Mk5R>}wlkwvbBKxfS(;^QJ z6rH%=HwvzX+^bRP^^}&6;HyS{E0e#MLUBBuSNaMS)@M45t!lLWXOo1b3}-T~tK zlA8NF-#!SHuzgD($i2Xj1w78ezfr^LEhk@jEack4f2ASW zK=_~pw|t9uRQiK>X~(Hks9n4@T&P%++{~9io<@tp*2WXBix!rh`&jer8JkrMxUQ>e zJ5}y^tHX&aLnBT;x5eGUke`8)P2D{mToNzQr@9@?+%!CH7PA_fr$=rC`49myCaO9c z)8({}oSbW4i0pe~-xILa_{x{5CBnS0?R$!kHO8;eVj~4*Wvw~i_eH$uM8_gs-J}7@ zHx7MqoxKUs)z%W!>doNk!;Rp!lp6MKd>_>k>Jc-~Dw_kaYT%&-Hbr1x5`htXG03sN zmV*{&oJg;@P8D~7Kk9D3q0|Hgx4W*faKwwnSg1dR>PR-|=jf`btFHiW;7OzhON7M0 zU*IPz>IjP@!tUU%rPNTxT4A~n0fq=O{!1&hv)FVLDb$<6vqn^0++ClZx+f=Zf`8G1 zXr`lk_Y%VEgDo76Wi&h3*97rb)A0MC7h+%EoNd`0A~18j$7|u+#|O&rQMr_S>12lc zDsSeVm!EoI;lZgNIPMG)2o~`9Wba>bl^2A~q;dNh4h?e$|b#XvT@}wJ~!{diB}!_X#4;xH#_hxGbp>6Sohfs})0( zZ(MpLpliO_@>*y% zyn66e$r7%uC#mZTtcr{zF21GT6EES~Wlb-5wXa#&U9K|dT!wo^>pj=)#&`FcIPf^z z*B)vA>J$2Y{KRb=14?>I?nVVRMSyWFqox6M-~%L?|IQu$kYu-PSx%b4m-#&%72s8K zDm6jXZBzlyH9z*jWz=$mq$wI%xIH~1-@Ig<6VM%PToPtlc?5mY*9D6aQaH=X4y4Gak9xc+jiy6#Jx%r?5fez_L$_g)l@ zqx?QA1++W{BmmCAiBZgLp;FNTup1QX>x*L795mc9-)!r^h6fQWgssD&5pm*evDSBp$bu;ut+lq(b7F4??YK zUIEH7+1WKk-~|+><56PEN4J$KfJ9vTx=KZv)ZMQSWcKbW9{N1wCfygoWu)oB&nPDT z@hYKeTo4UCecQTjwuxZCfp^ouE=j%^&SZJbV zq{R=^SxM10hz0Ai3)h*6aUZ3UVshA7FH&bVA=8L2E`)p0O4NVS9kE%VjDx$^5 zkupSpBpLc35sEFlDwv6(7U8@G1)z)u%?lA4gbK4W?EeoTvpKC5!Q*)|v=4(p*7XqvB3V<=R z*5hx=odq6z4#3+VP)TIHEB__gqJb|*z=IWd{{>ex^&1JkHDXfJ*g&lw(Z|iF5&hjK;Q1N z#w~Y(Y)e<^NnsXnP;`EjJ9wZ}IYT@1`B8w?nz}c|d4no%-U(V&&AQ44<#4~=(`Tj_ zaZB%^1x5*18fwO8T)qGyw5M!g%h|?3qJU4ADH3U)8Sgm9G?GVH)n(Sv7ntI_hYhF* z>Uidto@SI!#hCKAy}{r4Lcj;_Mp^8MSEj!XT~q5W5j5b0N%OVoC?8K>7U3vrB7E>@ zEp6C3_7N$*Tm6q48j@r-yVE-cp_~k6I~Q zzj3G59eb(3H8rqnVDWEWTKUL^dAPDKzF)B9GPPycu{ ziAf>x`xS93tnO&4Hb?orkPzAN{)DQ$m5V^z+p z9I~@Qvr6Zh7q}``VXM4hH~hw9%hN@}ts9@$oh{Qy${1*>ApoKz_)_|snSPzlY-}(S^`{h2 zkq3watJ1oE5mT)ITbJ%7m@j!vwz0zFqDxN?S{OFgfl!*k;$pV6cj++?W~sQC~_%axMdu`(|@ZGA^d*j>1r;U%8UR?vMZX;C+-j9IkNbK6x@+oa!pi5t@ zMaiw*W|x9YE^M@7dwLcy<4Z9{zz~kjJIzln8avMe$I^|EtPL>a+RDgA_w>v@?AH~h z%NJmbu16i;1^*t-cauPV!qy6RNKGioqiSqA+r&m=7{X64pZL(66R>!8)4e|FEw@rF zNvA&!?bE2bITmFp%YSL-ojk3~*C$hW^$4BQ_dV9ugljWoCl5-*YI^9i<73iv@)n=2 z&e>yvYTqn2M!S4z?l(PrjssA6;J`gg=NJHm0ZkvzftT^2(lJh}hx=Y!(6QjUW<-mJ*CoBw5u7I19v#W=OOPe+?jJci?cA~4NWsA%=_XuQn@hB}*nq0GZ zlov(ED5a>p@?zjNFn-&9Xia+a5uMu2X*xG!U@Xiqmff8WZ*DdBpGnuw0`I?TSI^wo zcdfXkgL(S1g^Dki(+y*0s^&YcZ5@;s?G*hj>n2h($`_uFx1v{Q2EK-}(OhbI(sQds z>Fr#a9)=v?vKJ@~KqJ)gq<2KeX;$BnwZPu!Q7me=>)0a4mJoP`$ar@prx$~=Okp7~ z7{F8{Dx7eVW9yPw1lYepOsw32BT{2r?@Rot60=3VFJ03I0CC0-(`}-*SOyMe#YF-s z0m-fnmxtZkyPGEKjL}MHC7av|FdSy9;|{Mg%dN~NQ1lB)sg9qouICA#QFfyzRK|F9 zRaFt&7UfRtXb$r(PuRgtf641De@t>BVRzGID??W&)6A7>&Ekw^wwp}g&`i<|m5sv* zlrjUw%58aaR2*EmA5xUNX{2~lTW(9JS=ThfHme#~Xb-tf zk2DHP_KzHl#RqTT{gLHJHpBu@y&FFq+xPvF_so}!zd6TNUo&Nx_z}LmEk@^V8c}7% zCeFBqky^`xCyTyi0CqH+;tIaajO>0af=3#O7lulXlqA@=jqmD4t1kifTBs3{%H@~# zv@Fc&@W9y{uTB_5un%TuGkRHUC=vz;1go7;{FU%I`pM1~>&Zag^sSGnCodT@7xhqE z>{g^u2@z9UGFGxp{M|cBb~At>+H#w%*eKPTRZ^O$FZ4plcu?a>GE8su^a|Pdrv?k?Dv2;kP)G;N$S3R+&&eEhfVH> zQ(T=Y`EtH7N-?*LQihwTE9^PZ9oq6ji1%w{Fv($csM)%3#-q>IvMIXqgdF~`qQ7o@ z#-KNnX-#EmdNsIzpMJED|G@(x;+q8pRy{Ac-gqs}qW50n8RigTaqaMuu~x$IzaTGMce#deA&4o|_m1)1b2c=|JX;1lB6@IdA4E{V&D*7dl z__4CX4E;Tw23fN0F35u&PK?g0Bz(=0?g8Ood6%BOVrIgd$&Pa+Zu3}z& z+ry6$=x(_t@tKROuP6#0s#PiQe`3XEdH<$n|1KsjCuO%Pex1q93#rCmPfh!HPx2j> z>goJ?SM3S!<(7?6*H9ems0?(~v?;3UNAL&ikRT@coUpygGAwDL#)!+;l=uCtAe!myJpkoib?mNC>}|AtUK``wmJLA2x2_VG)FVWYHcjdHtSQu)``&y@I%fVbze6xOftk@u!#Z?b^$6pLNEj7Hf z*LGW>!_h|+?zXJgMg6QXTkPjRJ) z{@R*Ap6z)j2J{HojLqUU-FFzcWzI3d?i5g28MkLu+#YuUmG?1ThjVBwpWR7vtULft zsyq|JcsfZJ@)^C%_xu<0QX}&TgRk1} z4v7dQ4xHzvvF2V{IS6bnaE7M?loD48(-R`=fh_`IX(HjnVrMssSZp%+ zIWmJr&R%NyuyLRYIEn7ruTH{leOsE;XEqhe8nLqzT`?*>lAIq=n?+i_T z*~hu)Q6T}ujS7savE_T{PLG}Eci_mP*Uura`)TT&ZMnQ^7vRQ?D{WA{A0J@;BG#fx zrJi!5k6YfodzaXMUN|j{z(|O>XDzW)qnXUFz8#J{&}&zs)i7?;(+ebT%UOd!stAjo zf=*M3o#42>y`39GvG(!1vi2(p9%nnq`R)SqjxU-(uB-;&6>Z&F<$6U?>vkFEY9hGC zCHVTP$XwG~kkTdQw9G!{x%LQh0cbW12k>SuT z(uEZXj`u3Qe5$n`G|kIA62nhVnM|N%>(W##=H0?ra-HivotL_HcDCNGlqX3R(~1Y) zDnHh*2bq|2Y(p>QC%@e^Ap&;=qVBctuL`Gooct|jMNgx+`o$9+1AbHc8>#L^1f6TF z%PRF=vWa)kqf!Z{SG&sSqNq#{QB=^e2=I?k>oDB6bTRU|bC1#0D0=6$oyoz1RfW`< z3)I*xpD#XH^7X{G@kkxuMOE0$i+b#(?%7KzZTI(m+Apr7t4MaFu2}ZG20RK6=~sRZ zubgZlz3aHKesB+Ktlu39VX7e+>rN-bkdwk3em1!>Dk1MZ&ria(P5H!mF^Z*U+oC)OFUYXL@mtD7rN(&Qi#4*O4`rAf)RRuX=$Z(^M-FTs%?o!Si{7= z1tp{Uf~J8nG5y?C35|8;jo`XCCV;lIJpS2n@p!6{JKe+l)fZN*p%R6kc73)tw$DK( zH>^JTL|c&=7EK@82m(xrv!4Y5`L=tV%b}T&hS9GMr2t>p3#mYeS8hy4H~wvjj*Y+P zy_ZEj=7%3w%Y1uvuVZHE0_W)j*IFSO>+aP$MKTSt3DES(_s{%8OvZ z?|bC_ZVF!`CCM^|qldTePxd&haqn^u)uYWK5=B&jpH_^3>S~BvcCRSsQU6Hh$SRNZ zGIchvPhQyj=UcduW(zS$_C;3nni0WW6V0eUVCe;i&`)x+(9>`z~>!wVd4~N zuv3QQPIo$$KkoIV{buXzSI`_JcF;+Gi%I0aL?bI)HE!3bJW6deW%lSS)5W*8OZWEj zFX!(g1ueKEl)Ei}G&R6+=73jncBh1Blwcyk^+l4I>B*CeCgoRf$X(OP0X7r#5XT)) z4tb-map1MYUIySEYj=*x%u#@Q&iYw;p5ScWd^AEtla0o)`3{J9G3*0*9t$;vuI}aC z8FH5e#1Am5x`{|R^(|nr?^B?0a75=j>ilv`Cdx=hdnzkst5Y&G+s^RVPKuaDxtzbi z@pwEYRW5j$!AqAw+Aq_R5-&UnNLbZ{UuJ^0adXI*%OPG9y~o&rwp`&)sqA*?GzB`y zaK9;y47BfwjO9s=>z-^ zOX?A1-=#s}p2XZSJu)rTB5nIX_+fPGdrz;v(hUs0 z$ppY5N`=dUuq68K)Hczzj4%hWg4Hlf>CzQ68*US zn)D~4q>b%ct7V80=wja2z6PIfSil4N}>vDN*9Y!=9j|pCAqEw(o$c><+={Nu3fOcOiXFn zq0xO+c{QKckF-yZ&_BB2XJ1yq#j(YWUvYvssYrR#&2=E1xt5;G^LQKW(jtXTOzuyt zFP$s&Q39G+d9f&mU#8yL`@OcN%ic`~Nq<(BUtA$8u&9&rQ+V#hUME8>X`{8_nq;Xo zC7un(a~wbzgG{EjAh_m1$)3#5IRlbgBKLGh{+nzm}jTO>JFz?bY;E zwKC&$CAl$>%mQh)UqKg^6X}f<4>B!A9u|Kyr7bK1n+((O|9XQfe$>SiVsF ziaLldLj>HPyh-MK|IKr4rF(_z1>#6JjdT2fjs0}7cSV}4x~?qivx4|ZnZeRDn~9HC zSiOd5gU>L=+c{~;DlO}NSKr~WESr8G$YC6&T)|U#Iz0$Yx$BaG8&kBg1V*8Aa#(7j z)4gPLs)^cig$-Kjax!C7T~~K&q^clzs0V)Obl2qOAy<7i>rtf(175D{Zt>hr4=L(w zJbjU3m&Ro01RM2+nW4%&%55%_BT}7dTPaT5U`X`Mdp)W_@AN7C7BX27k~AZI5rtrN z9ZQmvY048>p=auvI_%-QX?nF8KosCP>`b~XBQEC;sFsy^$AoF%Qjb%;qm%rf^a(Bt z>Mm@S&&sL39FR6=3vk-b*^R%6S=XsffoEF!(+3B^$NPioj{A8MEM$YftfVhdJ(a;l zEqQo3?`5jm`+YOaBmVAf*Dq{~CxC2L&Qn1vN^|)&(5YNE_CCT1;;G5~i$Kold6CzR zU+Qy{JM-$bHGV+faWH_qP&Gq48YHi9v~_j6B=@LIJ=whQdJpy5$^vdpr@9`~D(@rR zq52hpYDZBp(XC;Xm6hYyM?=m-B~$GQBI7rQYtOo-WC;7ua4RcOD0km}LH)E&q=m=* z(PlHNlXxo#^(+Dm6~ncI<4MbC>2tl?a-EN9ot9v5qphVM zUexHyE}j!$%S=>JIgbooQ5`YEUFf80w0wG`XuoL6eo=)8i>C&W)p0qZc1p z0>PXwKXjs{oayqu*gIS0v=glsRSf4YAL!>5)}R5>Rxt97b-xPR^H$jfPsGjRb{a;Q zvvL@LnSDb8?=1sWYur(=_Djth5@iGL zBA*P8CmoyBjrl&13+$nep)k{+kz)ahh+ww>@?V$Yj$=}WU!qKwIi zc8F|<0Ij>6SbMX0exG?|ZSqFv(MRKs_7%6XSAq>i&2`zWH}2-1GS7F`CjKlrAmjUB04U=+%scA#GiO^>MEA1aHR&&lam`h*Vph>TvIo{8VrEqQ5g1 zj@j8So8%73?WIP2SIr+DwCSreuD0ULTs2Nd#eXJSD@Akt`FF2Hr8>N0cGGCdW>M>E zWrGU8e?g_6A56Ca;&pg?IhLQk;{gC!Fs=Zl7|WibBQy_h+C1G2Fso}Q_t^4#tEeuV za+-7-c6VX+`r29YHQN^nxKgN3x-9MIH0Ip+kR{=E_sxm-hjs;Sj*XGx4SLdl#!V^7 zi4WAoCWJ(7(N%oG?iHi=R|SFGo`&BB*r#C!ncZp4N3-@XIzPiMs5#Yt?g@S2Q_Fzz zgNAUn{J(Bt+J9?ioRAh^S1#3ejGBAIe?bd_l4tp`t;Suj#eIcc(z&a+C@U^h4|ojs zoNg&+C@wdZJsM>YpyNSthpp>m233m_(6dZtT-qQ12wJUU#iS+tw z<=FUrgQUN{PicG8*Al}IpjDb%rXjWYc-nrYto>fXDwb}XW`e~SG<~d^xQjg&`G(*b#1Bj)h8hyt*T}Pcij4vS&aEcl&Z83 zQ7ANp`E8f}e6XD$&K=-pDN^4lv8d=o3fDVIrdkBLXfN&nur7-48+ZQL<(+F-z-8nO z0F=(fqBX%{(=wfh7GbJ_my$Vy@_oizCnXhp11dVFJ_{19dKZg_Z3sr0ugwj59kx?3&5Ie zrSG{dS7_oiJ!F8uu;;r7Js6G@=>K3fuHn5~2H=47R_~Ly{65)p6K0fI?E~EhN~_uS zgZwb&?%4LF>7#biyO80C={~Be(Km6yqxuz0QSp7KbDL_Z@dRREwlgNR8HgW};HKU0 zHxk{LK|fH+tLf2vB&_ymfPhNE#ka>yKbODXlJBB83q5KkhhnU%{TB*L0;+36Ol4R z(8f4{Y_@Yp)5o!j=-p}Ammiy~)tTxaI}e5ppm=);B9fl&(aeF;rdt28qVDa*XKI-` zFQ^{%IJGJTZ9G+5HMxV{F3psR#i|wW?hoB2f*!~bliaO^)iSVFYpWOnb9;$#9i7tHF+Q(u;&DiD3^r?bN17}XsAydWN(PhhgcTyGwx~7Y?m9DDy zrE1Tc33oBe8lc!lP^(c|TLZ$FhQp&wiV}}{z))vIigZng*I6owz7foM-c{2%MLal^ zX`AI?n?V!Dr`G;UGM6Z>4{{#_weVodi^wAA#=kJRPdS9Z53SGX(`tm_zT%olIB z$LCWli(^Typ96dLdy11wnaXc4G>+GPY^hjO^BhL)U}3P~%)Qd`S5V&XF`(Q345!Mm4-I!W@} zs9C>vr((DOgSfi6`0~3;oTTk~PgQN;h?rj3X^7LZC(QPgz()24nI(S2w#** zq6ct?Tz2s}esMC4$i3usA-&mku!tif;^0%}T54*xc<;Va&`Fi1%N>p>c4)cGK1tlf zrumTd{(bY8=A({w?|UmA9~MYur?nP0sO7yB?l4Xvqq&&)O}EnLf!q^e&}e~G($!BA zC)qa2vv(a|?f!Y0@5t+*9bXOP7b|t6kp|~a>vzWYP(IZ#*!s>vnp2fML=^;}m#oiU zV++wxO3{*4+o0a=@Opvjo+$?zO@UxN`nNiC72t$plYdpXKk}Vqvpurhy3|_OT=9i8 z-_}71ud8BI&EjS|pBQHHah^R^v`^%WWZb5;HEFE7DYjioUh`p+y|Q2TlHVH&un#zu znQbHjlET*YdT|V@yNgbMAtQkMy-pw_F!~^Hz5Ps=r1JtAImF7$_7tfu>U?Rr++A-i zC8!DR-gXN+MDdl|>fwR>v0eNO%qF*|?na&8!T3NfnQ$+y^}U@HCoR33tYn;0$^Jk> z%`GY7OY;PiPh2Jz#hE-+OM+yK-#QSZk8io4v==NTIGLJaGroZBC$${?<0ug7s5Re- zYpKXPm~`q8C7sTwfWSG_A{k0&kVP*WV!-zQvG-cMuNLT2p%lB1qcqoq5Br^-tXQy?~%LDx!*U&{c(GAja93&QnDY4&efrcw?Uz5CDi3upq7RiO)i2J*ShH$1lT>9NVQmulO`XHx~2b7CrKG1-$gfJ5?U-#oOkEcn5IYT!ZwmVu&|RVmP$)q zjX7aGd(dh(dGMg>WQ-yDrJuh=mjmkIatGq_HB^hNY0xQSq?l=wuYDg*(T8q?rb?j! zhqbf?y^G6$RAw{}UnNkB$86c6ZVaP_oG((cRavZ3M}{>Gx$ng1Xu&kI!R(JJ(8wJZ zZ9Aqi2jx?10o{-DSB9`Yk05MOtgiN|PjAeE%Ga)*u;qO$_dLc#JBBNf%8oznh<(s} zNnmi|yt`3f$b_)*7K48h`O_@pq@X6tU47Xp$bcakB`36k1`W@ZDsvOL8VM-=rHNMT zx?OWL13xiM+SGZBm7wXz<18QbQC-K=gw}1G05pQJ5y$;#hWko6dyY+{z<6Os=Ffy; zEV}eeltr*(Zv{-|9An%eLduV$qcsU5DJyU_a_`IDb5jfDF#849L?zFk${t$c7iHtk zD2w(}fMO11kUd)B-6+$#1JFibp&(YU{IN7BCQ=SWUJ+EH5^_~h4P+BQJ&en`2{h3< zGX*FTpuQtL#E!6xxGNoLcwvX>Ld0vUl> zG|(Eml0pY|-Z-4k`0Y6dS`lKN2LjT~2a)&vHf_houCKDY%+9V4;Y0lKlmp?DgZ)fO zgMe*y+6lmE#jcp|#b7XXj-*eMm}e~KI=}&RrfD04oCZ;6wa;B65H7s=UW=Vth&VpN z-zDsp>nA#Y`y)^T{}8^4Ihvr%7k9a-BP`VIpoc@pbey9^`d$Tj_J^_OY}a12_J*Do zo3{R;z${zA6e>Q_>q>F%_)8LuI6UOf;QeVR+`**AtKd%gI3nx|ywLT+LGN=>&@nDO zsVMpkxF~w_v%E#Os!62rW10Nv27Hgn#}!3=E+OJwEu-lAK&r--rSS6%h1)n^;h&n_ zJT+zyrBVL+TsDk{T>v|=;vtmc$6S$f3-Z0adMR?1z`SyW2`*p;9NlwV2I!UoAW^BJ zgSJ<|^plNkm%R4OPKDpsrtVrnTD^2^A5y~XxrF=8sM9YF3_u3S7rO_ItX~hUQb-h6 z=;tC)l&p!984zmd;4}BT?0Zdvb_NY{yK{9^#V*K%n&4xdA40KykoSGBcRGixnLV*t z3}xyx0L1FEfd;9-oUa0V#;3BiAD|>;uc8vjMuuv)HJX#o6uK0l_V$=|+mw&AJAyvI z&B;hBR!o&hX6@;(=;Nl%RDDIyq%>P0h3rInno301VKfoDsmPXZ)1eGVn?A4K&t||^ zVq|tSICs^$WOG!HVz0>~k^ty#Pj$cef?aGiQz%o=dbXp0f(n<{-);-Ka+I2S0!EO8 z{FS{f$$}mm&8?ZX{1v`5{;tq?RQb+Krl9}cC4c*gM#R(nsB{FTdD2Y5Q2p=yiC5Yx zNNSiuZ|XYm*1)EmE#bd(=k0qi;rV5!pHkq62Ro22O5;yC0sOR@0HqXs5Q33hL_enhA3-AUzF z#A0vM?~5aZO3@@CpxMGr*Cai;8|`P~L%{3bV=W{1GP;TFSx zA&U6s(O#HFGu}Evrxw7Op`4JrQYp&f+XONz!2y+J#~8aAQRC{?Sl+ehx@8S(#Xgv8 zz`F-;q)s}1Ddd+SnGCxw55w&!7iH&|B$Y$Q^VVo#KOixPPe zmfh}=e_>w!X(uz34Q&gpEF0}E?@T*N=IN{L2&Bxw>gs0h9JABNT#Lpnm7KM@$I^Av zQ#~TmwEw7cXAzzq>tuS?ipLD@(LGwU&ims^O%dL0xJ&1T1z91-#8@S+EuX{Gk|(l+8NOkMSf;^%yf;8 z01TuDZk6L$YjsE4FM#U-hX@`#ZHR>SyX7WC*H#Y`64c@EV(!UWR$AF%QqHCB4yO@kMBAmp?)+E|DNd5wCw zTRrlQWe_UOlO`;Ah2H1k)H%xb{r1xCyvU3UU>Ig@6$rCZyy3CTQRxpfDhCk!-Uh>M zq#Z7B4)MR3#1xxgC@COvb;q*RK^3xGwbc9QwLhNpCJJ%VgpFZ256Unc zvxzZKT)8TH_MjykS$x$?o)~Sk6@I$%?JCYN?J>()sUrun57Jisxy`2o*zR_iJoq7hESsrS~CtpTIgm)AHPspo$CjxBQ zZqW`mdW&3IP{yq#C!DZyKORv0VM>9_1+DRQgdC}&_W(__S}3F3y9L$2=>o((TXGX^z)_CZVVZrtOM>7xA@eM}y4MumgI?ns$u zK<%P))|sDVuSbJMQ>F|w`*@l6A0i~tA<)QWYd@DiaS+(^if|Gi&Y;w7Ze+@DGXx3ywLGJA^BC>BLsGJ1~E4j&k<~I&*8|{ zWXsUp3S&bYyZ6462rEs5`a5sKALz_G4`8xidu;{#t(YNkgd*_a3=3)38;}B}#kM@k zhUz04)PZBuECENe1(m?*1Vq>4<&HE)xho0Utf&Nix!6E_Rqv(+*4{jPu!icPgX?}S zdiF7F&ILwRKN=a2p4{IsqYP)(>AT6V$qbK|T3BKD0^W{0{Mrd_zk9k-v&rHo<@zNd zKy;h%sWAP#rID=JbZ&|Oo+H3FCv!6I)}-MzDnM(uFc8&hmV7zWNQ4sjVi&X$>w@ z$n_9dsLCT7Z&mTP``A}gj#SW@N)WGGqr5*J;g$xC>|ZSaz=|0jQnbQYf3dG^n(qN} z(?xUc#ibr$Ym~$*8CGe;you}^XnvAg$4p{YSK_ZZKgVQ)b|(ru7EE!xc6NDr9E-X+ zARPjoRf8uLX!j{#l3cWta3UuvG=lnE^h8z^*yh*r=*FY& zmGpVK_px=1pXKv@#N?3vr7}cFBShJHu;O0|hvcU_q25l8ghazfsK2H*8i#jy7yBY~#jplbwaSSrv=<@mMLCzJ_Rd`79^k4wC6=u@& zey!!lOYfHGW6Lc8q})jIx@PW6+aJiOU$1908N`BcXxxiQUL(`M?apf>Q4mhOVZFIr zpLWZ6^{TPH`Ip5gs}*U-7H=@RySV1Pt}!MN9x$ZMTHzrZao{1XH0k^NEOrvd*E_*k z-cb@xAVgYuJ+_}UXtH*sw`bShcXOl{%My^!g!R7b0@JQ<-$#ctKMNOOgpLMDB_Nw% zSznVAPaHpaQ5$LZ9+Ohm*W5((I^AQsU3=j4WPqm<2%6C0E$1EbMH4L0dg$Vvr0(w3 zetx@2q&`H{rRT%{hZf2#FhlR@_A{c6N*0|ybXnTQ$SPNgqsGP3Yh+f$|6~~^>ZEVeaQgy?D+O+Nb=Qv=34-VnP5LGSb&kr z?v@h{7NW@$!_9OMrDO6V?9RVJRtSf;L_z8$)SpwGdosb+Q6~T}_qX1nqqyN;x>~76 z2)54LpGxzkGDa&FX~i=5aCJanv2PRv;owG!#?5)&TFF&;2LB=?5E!Q1H-FY8tU#Fb zL%%Or&2oHWn~^)=ys|*v_xRK$;dGc6-F3E{%(Kr|Fdg$TVx0bxYN}YoQSpTAd zVD%uz=mNfCbG3+9uGJrajaLysKbSgmU6)7Wl*-LR4^t5utath2^^=c*`P6Vvw~OZX-U?Cm#p?rK#&IPe zhxBKw(^?l$~co=coJ68tKE zK6Mwn-ASRozo|@|h(BxEBZ7(?+4h>@NW0-@_-1oI5SF71qEZh%T~;l%ZJMl2@sP~` z1XDZ~PwMFd)D|}B`a7+uWg=ZOC>}EHp{*WYhDm!H;t!X(wtT%}r_|*u_I0IK!8V=v z3J3!H)HM`v=jmu~7JYnXPNyQ=@b=*F(Y`2#oM@rJ^28kU{x{}i^S1Qtu7M5~^A3l;qojG%;j3|< z(bM4PWOh#NS{@i;VLh9L`t5djUkUi?RQgYvffImLYZzVn$R>U0Az_?e*X3IUez>Lc zwl=(RC8@0tSy7XjTlMv*)h|B<<3!%EHu=G+68Oa<@trMy9k~rkfJgUl54J#QokY=b zSl!WjR9g5wdAJpyA=F8jCVFTB*Hbjqu0clz;Il?fmOQSuivrwEERigG;qPQZu91_d zubV~_TtEP(4nGHf1a8%N>0{q(OgYi41?b>_&)}9aP#tRbAKXLRUIW+{vN3fGdr-Va~FT zA1IUuG6~_+Pm&f78g=CT4z257WoPhi*L?bXyK>X$WObSA{{E!^JB>((#U45SI|up4oEE*kT#nzYtYJCWGb5yH|M-u&5nfaL%= z7$e^Qkq;6Z0qPOSE98&&z)tq0c2m?U7PNRN_~j5NnGC6Lq$IHcEg6L%6;KQ3+1G~J zCF2o+Wkf=pUY|t8Ps;X=hne*nD)CW2fXe1^0_Stl6<3JO$6thdP!&N_QHuR-ZDCL6 zE8g~e+@!}=NGtS=2y_P>n0av2d>(y1Sv%T{h~v~q>b~j~iE=Z2buB30Ei=rCFnCGD z@qmr?DnMKeb>9(qEOg6C*K0~W$S6dM)gff={FZOK9Pq~)qV)g<+_O!1Y!|~L(s%$e z1t5fgpM(9+Z;u=WDeKEIRfuAq7qlM<0XOUK88`xaJT@P15DQO=9=61P$eu>^_8=YY zWkwUg6U%^c`#>!HY3!D$y^!vgV?(Y-4i`E?m(DHV5|PDY!SZy< z6$^}r6)Z&3AG891xeS=XZBqryn^!~IV3PphWi@VjN%QF^8t|8-x`NFK9?-~@U$^=Q zoI5JbbCI*|>4`-$z<y&#x+3!UK;5`!ONXgUyx(E)UO}W0_{ywE~&8 zdh&#H*jFJ=pGr7_(j$q!;jh#{;9dFa9YzM%M_|yqxWrxA64zl)ci@(#qkeS~11D)F2AdtJd*!n!=T_fm(o<0?ysy%T1HTKMfTiSKn84m5J!BgTYg*9m)qVQb% z1&}#|^RrB<dhb;|Bt~e+6HC;S*LJaDB5#AtE1&W9 zfdic)>vxM4RCxC)64P2?dwaS z%0D0focxP3_ZR24%j&(H;iWgfd`6snq!^BZSwm6yU(-z;`F^ORs3M}vWsPY* zahk#2cvybjYp1>a0OMt%F}6#Jz|e!i7cclCP-5`bPcCyvz$kL>=jl~>0ouVA95Me9 zTv^e8^-OU*EJ8jU5dFmJz8Z<0XpOV()80|pL+L{6(%4U6q@cWkhJQBug=4u}lV=~! zpZ6Z3U0xNWqH|@{CAbaJe$IA?Ft2A@&#mU^)VtXiN*Aq4-`VPrPVhz2#Zv;t}U$kckooP=TgMy5>>=VA640C#jy@eGS-azz$x8nk;lLRE7G;RIXGA zS7ZjO@KmH8qTgKF1W*h9npe~?)ac+?{o0{2vy_V(EgdOAR_w6~z6}6HSn<4Yb5DKOAfKaLVXWot`M&f}U^f+K8RBzR9bCSXMO}EFn%>Pd zgR{=F5ZeuDDiHKGMB8__Zp^u83mosG~f^ik2R8BNcz$b;FVUxY4Zf(?}uE7OLz7^Wm z#XalAj{Tt-S!ESI{Ozgz6i*BT&Cj*#MfK0e-~Gxjn!T1(v_Ft6H?WqJyq$ASe~}GZ zMSynMy;uen=6ml4{qGODAJF59dLAfF8~WR_T*=6o4=!fE*ij6)>V)c zqqAQo^`#*@eI+s_$xxK12f6dCIw=FjeTi7sEu_#OmQV|tdGGIu5D6u zC#b;fl2Z#Oo&g;+of9EC+EK0upv*U=oZ|8iEdIXlXky!N`Qw0E*!|a>pl;FvJMu+Z zkf&bObN7C~aiuanAB9aexh0{JUlSHQ<^nh#97~)1-6+7U;LfS@BV9x*SQKukPLBD?KG^1K}?l3sgeZ~nDW)Z^fhTipNq!1 za=imu(~wEr&I>ksN3XKs$|oPK<8!o|%+5@C~3%+0dM+RS?PQ zlUEBwoeR-OOhUD4H(>QkNaoSeE>`nKz9NX z;JrkKyxNz=s~9u8QRPX~1-uw!56+1smbu7S7`I!R@e>nL2JocE>>zFH8ug|tml^EB z(xKBUeK;b|+BEv?DH=0|k;x|m@qp2f8F;#a^>)8_k3>fz!?uRYm$TA+_&e~}T56#% zzc6RqU6+NmdI8i009BX{r>}h7p6H@fueE;3Ld1?upQ)r?s#c=DKYQYIMv^pRudS&) z?%%F__3Mh`A^Ak5ceZiPwg8&nrrU+Lyz&ILAt_!wp>;<$X8qpToQ=mZus96r80$FU z(uC$JkzfR=^54I8xD+xVRaHv7m5KBCj=ud+R#r4}?Ttfb)0sESA}xciCm8%Gw_I

mcI(r5)0iCZKB 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

?NK;OwS1Kf$-;uVoTVRiqnnEnBLa{k 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

)TG#bZwj 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%0DG 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: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≤im)*f#Fp=U7|4t9CcV5m{o=~-+9rK z@!g{j#PC9^FCFng)v&A#3 z!FgI0Hi_Kz(0+|KbFg}r=0w;X)WDy=Qp@Px>Z1Xg;{8Mu9BP}PpV%TnAuwWhuo2rn3(4$E4;eF_x6%=Po@1}Bk# z@jRHl{99K7_(hocA2m+~1F_WGGC<&R-COCwLZ z=Y|*V{UL6AE@s3aaY@5y7;UUPXWjTdquR2;12-1meCRuMc+#m9obyRfO1 z#58f4&$lJDjcph)x(YJpPBV1+%uAGE@Qt1ZmAnCxpqsw>X{})7x@$YPImpmvdZ<(ukqLR-ur^16ScO#`mDC$)E;DX2z;aa zjb;8cMU&00bGu&%uTl!Fhuttv-9l}jp9i#YYvR?31>EKJ)^*~`@b*ZwK9Q2Zs!I2X zqEK4@&M~r6WW%Jd`j^HZ&h%gq^}vY%f!!?iQnQY|MhN!Pb^ohEo%KVTu={>d{p8dv z>KI)cj*Xu+ZH#kf0nakgH9(h0ml)j;04LICwDrZ-$A<3A6+CC|F1>uwezUr~@-Nl} zb-ws|6Mo5{@}iWjXsZ-T_|u?KX{6xwMubp!K`(zTsZ05uHblNI(+$-u#~_26m;{15 z8=g<5qpuWF*_ASTnZs6@Af6Pj&e^CMVAd%s=tQ>?1%N_0&~-OT{-WibbPcyww!w1t zy%DRevt|P^n{%-yj~8l}YU%;Fqf7;P%uoQ<dN+Tv)Z`%AnKkdGx%RLn$ z$j`>dDf9m#;q$}XqJRgj!(2J4SbYT1Ac5@idqgQqfmNR8sc>X{Tvh!>7W)dQ%O69w z(WJaq1%FnxIAuK^X~;~jCgn{#@)=`U6!wZz@k|*;8^v?B@c&CV>ADeBQq-Z0!T&l; zd9H`s6>X&>Usu|lHNi^%NkN=;Fs-H?kLFVsu6gH8EG>V+0X{S(1GJ(34!2kpqzI%A z)R-l4Xky4~U+{jpTcoV8)up>e8PJ%8&p8DWsg=jno$2?P_@l|a@gVH60R4^5}$JK#@qgeY&S2+vXXy6AC=Kk~&+;yLK*aW2k?z7PzzRLv)9F}u;|&sqmCc(jbF zW3A*>rIdnFx=MQDVX52V%MZWB);qj;w3ZMO5J!X0|VW@+WxtN)_=!Fm7)78!x z4_6j0w3k=18XhFccQwvt@snK_FY>=xv1Wu6mk~+fJqd;~O}(ZNE?(R4UW$?$HNlhh za)HqanP?jXd0>{9#7R1tw61Q4BER>FHr?d$yJ0$jR_+f_3Mv;uo99@B#PK15#1lHx zuYWY`9zT&2HJ5wyoyz;+@d@H#D=$+2Yb7S_#TVX`grOLAcD-(O**eeOUH05<87&`Jr9N+oy_$ghT1j{it}4^0CduQpdDIXPWbqU;oz81RMmtvXL`=) zWYk3m@xG57;Xva|ebkcY#ai?+vm_Q4Qs3Rwr()x=TmQCu`QjWYdpSt5*4eaEsLf^N z;Nv4dgW&(<0$3nCm%`umpr|FaFVHSLFH$|`ivKS*Q#>Dbd2`OZS!`_am|sN0)HHri z%ed~x^^dMc2P+r~+`wpbcxKZw6XH0MCT!|D8!%{`gPtO5*Ms;w0UcBC8 zGiAcoLpR7K zAc$#VO)TtR3ngjkL{a-ln*miSwiLC=v*27t#>BWEM{neCd(uvjLhbO5s-!$1Vxv8O z8Cr(gyPWStfcC4^$4MIPLG)skiFd9Gqx={wn2L&Q7IEVXK&3j-t>G(yCNAl9j!^ zPqNKc_7Wy0Yym_TVt@eFEe-1^={@%5xsaY#44NLu76iflTg*714mXQoc^|BV6feDUWE|20OnfB7Gzj zx>Y6YyZ_ohcOLmLv*Ji)9()J;@K|x$CH9j91VBAV;zhbTChKkAki{wsN(shk1)-8> z83J$#d~^2RI9X_aa(uPz<;%yGIOilF3yY z^0N`H;$d4kqX0eCQV@o&awImB9Z@9RwaKbM&_%TG1V(zefU#JWMUfD;fSKDxh?|p1 z8xaU7bM|ceM$psK%hzf5|EbCX<^v-E90OCwhV^Q8up1~Y)D?dOuN#kp!(#$d zY2StaQb)pK9I4J^=g%L$!FzI#FKHqPU|@oekC!FEV~2I_Kg_zXa#XrPSHKS%Z9S2g z*0hs&a$F#*2+Ozy6kp~!LoS|S;v3WIrP+TDOP=pD)Swu=i*G|nLlnC5d82&?0iC!$ z^d)=gchoMCWqa+&^_RK?Pg_X zPtW9;I)>CdZ)qhDK6G_YcVi}x0{wdD|LL0^Pm0<`B4jDnsxC?_`yPAg^M)y|Docgu zAJ5Y0u~r305$iR+}y4Ovs5FXoNO_kX#j%qpWF#05HU6Q-I*8!U2ko9AL)+)`4fe8tYizFi8^HwGhdU58zWq-4 zP5`aI`inJqHoX=?3H z(Bcv~>)dW%Js_rK2kTGk-BAH1)zJB-QfIa9r4`D6sf`o;%Ody64`$)~W*5pJxp#A_ zl(A}kHCyLfIRNxECi)OlCSWl#hr$1?$><56!>OR&SO&W5n7v!!u?Qi$)z)IxH%*s- zd{ntYxQ`f$yC+Nz2oXZe2g4R;5pihZ%C%dZ zok|WtKxsTOw%4r0-&H`&l-Q=4o(x@&*(8h>(Zus|oCffc$G8trcUTDWmpz7!LO^o=HI{-}eX3L?y3 z4oZlAdQYN;d+cXL!}#x_botA$*@n5TAW7QYOY1W(5JfW&&X?s3**nx>AR*Y#4cB76 zjlc$gcpWY@Faci2@b6MEQ{bJM)871gC1!s_vE923<1sV_hID;}XV16Ggq)0;v6vw6 z_*GB><4a*Ka`){ks|W<34oF1gPXN6$_|<{o_;yBmzRRh@mN=b7p~B9B zL#5#S{_wiazLP=7u2O$sx434Dk!{@Wh?( z-P&b^!#PXD1CN@H+gp6po~G{#Z9;2f6xW#Wn?!G!;STl7roQBn78w4 zojV**(r4=w;!FOtb%vB5-_|JoGoG07JzRKXy}QRDyN)~yWq?56RR`KGaC1rGdx(~(QDr|Uo`!Yf2ZcH4janJy`ib*a$^(%MHn0uazFk# zA>8ifSk9 zyG~q6c++gAdo1X{gO*$!JDP<@B*hVqscgp_7t_2qXb)L4HSa$Evqeh>VBC<3L@-8~ z8WM&-HCVvvAWr!6y$f4(PoMlbqd0h&^xBs-9jhU+Xcmh&qqCZnjzx=FW5V;h=ge3w z?r;gw)vc{8dh+bqS-XG9fyDLEOK9$L(9qX77s&2n>*3NUpPq$oHB^43iqfn{)nNc} zWGNFlpz9O8@%u^I`jZ-89DR+x;Lu2hpeLR+C~TnQ!x(gIxpXrYIGg3CtGl-a&(M10 zo%ob$=&30OO3sE-6V#5#j*42{_=q|Co>IF`)VcLZzW%!K<2^}XNeRg}?WG4~ z*4Z_|ay3CvnUK1Jj*sP(9>qmJ96Jl6~S0{Lw97OWGW52dt9l#gaBE@<3l{(n9~K z>KW~8!qo=Ubu0kNJ^?e7!`Ag}EYysvG*+#14f)G4r(cmOJXa5ILDep~ROhtL8 zg?cx%sM{H9R8QaT@eu|KrFjQ3&-JRJrr8ei1?}6YmyxZtzJIcQ!NaxFr<9HHAAp=|Q3{ zf1!p_5y^cer&p0(X3h8E8Rlb`SxS!@tqrKgy4GyytRd8h+~WBKyAWDg0EKiH$}Qla zq$T7<#Ir2X?wyPAGrUPgMa91P4sTgt%Dam)Aq@N-WR(`Uux?xqZp^x~sI#tNdWY!s ziW4LZ*XNOzmbSlpRl7)wV#)#Y$(uAegExr&BQe&RtsH42;N=g)WwtjK1oolI;~;4L zcFTU((;m#EaJqgA^cLj9TPY+QzIHY=U+;?%VCEuG<`9g0O1?4QaRZ{YMpV2(;ph3n z?RkDjD0^7wwy*#v%(?dgL}txM+aa5JalcESzR5(W#rS@TMcmr8`I6bhbp!vJY1J<{ z(d}$p<_ol(Z%NYMFgRa+H*;0PCZCoI4`b#b7*+7aleq|;T-83Y6c!1ubK8)7t^c7F zlzr?HAQkJN6E0eB@P7Bl!Hif$nhmf>l_f@1@xzallq)4U|hs46k3ulkqFZ+Q+#-BJwW+ z;^J}r2w<|@^ojXZRagVMWO+zPUWD3A`PJk0zYi0LKPN%WI*>U`0queZRo|?1TJ|su z4Qx4S%3&*V$bBAD|LQz*;S}zl8WRls`c)N~EO^&X9BrPI)9s6u5J>xRo}7WP!EP0M zAvt`d>*}Po+FDw7m{JogJA3N!1$Q83YqXoT?^9v`j!I<0H*2KkCCpe0LL*}RmIE4? zg!W(w#jLC|KbGFaRP z^Qm$VgV{NDzy`(&G|lI;WlJ4ewW}P)gsJ!QWsl*e)wqHZm;ALIkXr4BE1-Ke=3`xjSYIwTU=D^~fw-<7Od@?-eqv-D~|HWDx)CnCQ9h)v*I zXJaNJCgY~*)Z}~C`u@XX`)qB$TW^NJh@O3+ew2**j0WmO3OKiKbAY;sUZc0ESFgcW zz_EoAjLOwXeLIj-UsqN0;WRbR`o2lc$MFcHJ?~Y^t9W-V3%4u~NB^+g5FY7Aj6?2T zyO-SiKjx=9aPpAI5*=NG{&k(kM$u61_SHyT-Ko!=3>i+uCU2bvo-qBS$Vzi5YZYdJ z;G(XPHP()u7{mJXKLbOFWSv!0>%RXaqPIqDYr)EDHb0&mZ){@J>Y*AuxAVvjM|vXK zs|lDj`-|aUFuDW69ADp#;$8k|lKYgvTGmMt-en`UMY-Cor;^u8;}wV|cGQXYCaqb1 zTKN0#j5gV0qr&gy;8yy`#25ufeI8Gw6(dY6gASsy&C1uWWen3wz!LTO`3=9RJ z@$!0lxHK*uw7_THPc~=5!bcoUV^)p<{321Q*Wm*`3y^$3J?xJ9Z57j9&`_T>)<3FK zOi%`SU-MhjyW?7@No1#`1RvhQJ@9d!%5kCDFS%W_W$V`lGf8`p2pbHjJio_HZES*) zhNyFhLEy3k?BpBi>92cFZhB5GF~X3$ zU3U12{=Y!9)?QhR>|@>8@1SxWd^ZMLD)7`%s`K8` z6jAc}s><^+`L+W>jaSSTsaXt-y2}7vAI&oEV1&qa2T{01zq`X~T_q6+C?q75^o!r>UqApC*BcjM1QwbjT75k100 zD?YmiuQw^S7FMFsT4!L+s|LAQ=_z=tm&)s2b`TgDrDhxF2xM$rc8 zfLG$GeZUjzI(mf}Dl=3cmMvFfn$1{{&jf0(ugaHF(;e zI;77)uFmfT%u5F`OV=1`HGt0d)jEvCV7CN@Wj_q|3|7+9LPNgs9V0$t;80VlB=D7f z;9265uIl6XA2WqO*(G|^o;6UvYvGb>O1BaLkP!2vGxB&3=c^lBDU?fy9kCEy{F-+W z%{g~@8lQgJNBa$}9n#7*Q7V-Lj_I$yvf}Z8 zemze~<}JdwgSkujUaFo(LKA;pS?7OKNW~TRKAHHytYnV1mv$c%y`w3Gv!8W%nYDS< zBGhWS4>6wMiA0}x&zVnQH-h;(11~)hCUM6eLqd5PJt~7{^i@6zQ*E+(RQ!oRafl!h zTNzovP4pso?mV`2H86RF0`YtD7Om}VC2o6TxULrF&;sR=3jr|a!(l2#Vl@(i>VMVk%kpvB?y3~eGouXCTRslwj!qZPE|8_4e#`00`H4}6(oL;Maj z?^W_bSN;*@^juFT+($GafF-i9Fdq^C@|N|u*>uhOwM>Bd{3;I%sGEDF;c<02+t9l5 zsKdde⪻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 HO5pzi>=aKU literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.gui.x86.exe b/test-harness/packagesNonNuget/xunit.runner/xunit.gui.x86.exe new file mode 100644 index 0000000000000000000000000000000000000000..7f73bb2fb8088810f8341fa362596caa3e5e2869 GIT binary patch literal 485888 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 j=Ld zRu--;hEuz=P~u`V6`!zj$B$Lm2%%w(=rG5e8&)oyv-9c+o^I zC_{>rAtD$WgDNpNDEI^fpn%JL)s*17RiJY&{FjRB{3 z@$JaSU&?-3;%2eB^M8ywhSA`PD^zbS`!Za7MX7=D%g>7$WGn7Wny$142Z2v@HS;V(HnQ#((mi5Xt5e}|B+;ZF$B z8X2Cg(n|Q;{udV*{pb2X+4_&PSETz0@7v}{SL&!8Jri3fJL%WnUWn3=5>cYkq=WF$ zuJ7_-I4Wj+V6eSHP%H}i~XmW-@MXNcUqSS%{PHa6X9B~E#fs(FX0G}y=*eCi(D7Y zGB6^Hs`UW%#P|DE(_7GvZ|dfQ3(Obvuve&;FTc@)x%uHqwnqEZ+>sv*IG6yN1xQfv z|Mma36o93B9-}Cp=OcC-*~g%u%Ph}mwyNFvAWhfpRXH>`-LD*h!Dm!c%rNr(=I-FV zx4`ds+gbe0LPyzYJclamGMv(DsTHNZ#Q z94qLjcIyn+uh2#zjrQV9G8K+>;9k2n2STO+XOZcXm)_oF{op|~?lZOe&)soe7XFS{ zaJF{LBWB2yW!tZipVs`ClVDekrTLpMUV$)4$?RUG7>#Bk#!6BEOeMZUDfD$Nn|CNJ zVNk#8?TRZ)zRMF(GFnXcr8D-gUSR|74QzPo`RnMha(#ut+`;_rs<5(FX3_Mk=U!SNF;=F&VYr-=PisnGLU^M}_IkPk*$O|i z6F=^X8&pjEtQ5!nSarRUOe+x*aC>>=vM)UEgI;exp5HTIRNM9cy#PP$K3ixq6CXVP zsK68+ACEP#?g7TM&a*!+M14+SIisxB@c@rVKkH8@j%yaQ&VfAuhCyl-X@yADCH+3i zYDB{#tCU9)a5)xbPf}Io{XE8`COIQV>%S(uBAPW!3E|-T@icdI0q_zQvtxntM(Bq( zJr6g_8Wo5K;S9AlJF=tyqB2G7*!bNSbW0(dv<6O3qgb$lgYQ5KJCs;20YfhUE=r+Rn=R<89OA=;l{0s}6-HQ`N>@M#! z(G7JOTgaj!7@74|qax)Ts_-?ZO`ENNfS@-S&bV%5Uzq* z(;q!Xee`{%9Ke*zASgLGx%nJT^hT?bTw>kQeix@kGyUO8sOs&>Ir21WcGzG>|K5meW+;)3q8VLYrPG98ts_Jp zDKimom}ZQD@299s2MCerWf}>ey>bdHmqh6M?CdL%Hq$Ylb4D}6sIh7T&ec(o<$=od z3d>pYU)kWK`qV#57wwp1mhS%vfak-u*CPK=8m4)iA}^$0)jUWQ*ez^@)IQLPphh-P zjS1qC>U!}2A}>XjVS>orEV?LH#~UxF3gW{?C%b_MhLUM)_g1uP@L|CQJ)hHTN2d@m zLyga}mZeX=PcG8G+pjg-DwO9qG4zz#bfV&&a zNPoUU>7+fN3*<(Zv(&-+sj|+egaP!{E1U#u-ev9WWLmAc;VGXB{_a*|1ycyms9Wxy zr$Z+!YSvJ7qyC+wg%<-^I|5PkiV_338_KtJ=CFZ)-#E(+s80<DFYf8ndT9S+C%@WIwizuuOJ&m=%-1Dwmik;%x%5>>iu9NBebk-AFTr1=>E!A6K zpy)1jb5&IFFf^lnai@vlWc>Y|n&@Ly$au$5m@ESX98cmEo#nd|ABgP0R5h&dRr5v5 zybG@&QBBoOq=fIm?MR7o%F>sq6-~qcb)wJC!Z++zXRH2nKqXpVUk6jje;P}!TX#HQ z9s%#F!J1^l8EwfIXUV?Rd}hQ+_KBNkb*Vo#ZGq{ayEgW>KSKwd+WY~rAEMc6t&#Zf z$wg5ayVop7e(YI#ElhY$du8XwQEa(x8F3c4%^8-WgYlvvOB$i@(cmj)8Vrq%T(%W$ zZr_KEwa{q-4>f@a6+%4BTs+ARI*_`nw{E&|CRz3L?gF3!LmJStIv8DZpqFF5-GU^b zOvTfO`J#+}Z=Nuw4_mss69QWPKek6JPZUKHk*dL(HdaoA>t)wD+_;x{Ra;YIwe_9o zjbZilUTEl4FFH^af!P69 zGjazF!&?(`q!Hj_ShPH!CW3`%+msXCY?^)sR6Cb)GEE!D*{+BpO3R}&dZKSsn1Q=#!BGl`;0p^h2R&Ynh`QG$ z`UzY1)|okDsLp=o!>G>0eX*N=8(p4xIG;ki^Gr$6v9q*!Jzp)3Wy)r)_;Yhy46v#F z>PT@%Tb|WN9&_3tJQ%sh?TN_gf6PwjHWY9ee|u{ycTVHX%&JpqQ1mLNpR-iX@M#pB z5zxw)cOgPAG(Wohrj=1b2=R;@2m3B~3|Y{Mc@ErfY4`9ikfOU^Ec!lFYp|Z+K3Y~3 zwg=o07&AuH)%|YvTN=K6L6ajC&j@K?hlgvW>SWpqQQ-mf{~hq9ed%l>!8)-Qa?#H$ zW&X-}YjYyG#IB_3{yv=Lv}L+P9tW}dyT{K42x`pK#B@}ckJ#ryauuvDa#J{eQDeK$_o!&kOs;PUC<09YkiL3iu`sd$p zNC%fB@Y>e{yR4f10r$$ZAA6)vBSk9)VlS_R%W(JiG9 zJB_)XB3qbhHKgQ)Y~ zCSr%}Xr!(LEbdQNE$URdD!Mm}ZFmhEhjz~mlzo2=QolRPzos5UgEgB}vf4h%qQt1` z*Opr_8)?+7{!{2E4h%h3R1kI>fjoZi_F8#_!Sl?06KH!aGCwCL;NRhD{|jt{Akn-a3W z-TV@76HTDYZu^>KxUujm$l>CwPleeM2fF7zb9YAyY1e_gVDIhuf~JM&)hG4J!O+&_ z$sFSY@8x!=pN($3Z#F%w0gx%nq%> zHqn(8p|a#6g8{}47nMdcvW%UQ6n%^+dtld5a267Le0IRuBs}YbXdEc{VX~=9Xq}hDx+6P`l<=EQ}C|9!v=g(8YPpL zDUj~^_^jz@p3ji(n?|M`5sMei|Y7ypr_Gr0y0sPKRlXZO$_jDBbGC^(V6jADnM!(#eM%Mx|9;*U{FA++myffyuz|6bi=<`M!-jxdP-aFnJ#JVbcF6MdLp1 zRY!yC0y@TH$oI&8-1>{&?9}c&JDal$!)?xH)NxK3=SXpv6UE-7E+mW;|D~S|n(zK> zB=Grpv95Zr~=wM&%V&T3S$uz_t*p?_Te~6zSTLXsHTXk`iiC0PPjvr9<~9wF<=1|9a}Y z7IVPCIRx!ke_BHAL;0c!PT->X+dFHO-rvn;EcMxeVkVWA+k3_aG_LB&>i{M3PsqgC zeMZ;MEOHVDt}~D8Q%7)G16mo-lfYLy(g-*yqQt=oU~Bu^wwZs^QE>a0E!Ui}m4&=l z>SEy}&w%qxLy|6bMTdL0JsH3jG*PH@_P|i7a<#hmtAflB)*HmB5Uzz z(6OKXP(T)`uzC#T`C12g5|1jOX4sMZSz&l%g6AOI!TTx?Nzj{w;&(FJ0@qk6iCWfN z_6M;h^EDHF$lS#u=9}b*V)mc|9E;v`ZJDH_;bHvjm~l)LKXiea8#l`goN;uS986B44+g1xwT4qR3QbV4F1J zjx>vh%Z%*&tbH>mt4mt-`xP6j?R=D(s8QWCFP(JI<#$$#wGFQS?JHo*kQuQNc+0G6 zIh&kDgp0usm?K3a_rHgXKP_589|4pJVdCI|uEqe;;>8R3<-W-8!ongrjYZojT#>;8 zdv1Zzq3(o#Pzl1;{P*7Hf4i^9|C%3&^hO?)04nO>L$+L#o?N#MHu3NJkEZLidO<6z=6XLFIyMTRiJfXi(Wp zM;T_7Q=g~^$%hu6LBZet^kNm;JrliTR-w-W-7nvlV8FTorY~ako>gN6GIXd?rVoql z*CCC5|KK`QSXCw1;j@382&&3$$FX%AdnG^cz#owRGMZYUY&r46!>VYJazTfEn4;1W zIL4W2D$KGoVXzK@?IX7WiC8K7F)zDjHx!kr<)?RDla6jebNWPVwWHMeWSiRdn5Z?22FcsT_~X|lEgd_mHdj+IX1 z4)*@q0Xv*df<#%i+)?ntuT~=XD<@YI&cc({MnfKw}7LmaMgQ4PZ}r zn}I#R6-z)b-I_h!Qi;71xO_v$tNJSuu!g`W*xUGNcLbPm3MU;_wkAtjy|#&iB34dS z)WP9=AVl_cD{v?f$++VF(M23AK)0#(0nag`qxA1)36!2~M?OJ8P#+e-r@BF_BB3WS zyjGsCut6~Z6Yb9xhEvZ+%`dy#3AWnbWnA3tdt$m8T#}7MVE2Y>G1dpux(=}wgitm3 z-Nw{b*Y(i1bxQ}i?~oEEef`2cbJgi|+<~*@gX#V+#FdpD5^jQbvh7u2Hlxq{j`uI{ z@;QHgiRD#g`5Gp1!u@po1bK@0b8o5ZCREC6Yogp3CASK4&~>q7kJvud2S!i>^H(dZaLZVg@OL+!Ln$w4C2R7-XQ1|`c^!H0`uMxHO)}Y|+NUq>0dxv~eo{ussCMv6g&dA*{YZWiOQwp@T zg00UH4{H`-yGUhb@_tYip2{uD?4XZ%1_z7!uc2)@lPfi0|9AvZ=Z4Icz=S=CnxP?@ z@+e{CDg6LHxEy+RBq?=aAV7+MoO>P&nW?4HnVi)9VxmbS5rC_%K0>G%OCy)SkQUd^ zhnux(@8XDcK_dorO@xMqu^l71-K2T~t!IS|l2LEIKQ0u*7X&7hKx9uSqRti^a5Z)$ z0C3!b_tnF)>soTTUWR7&p22#WwJzr&t+DhNGJOBJ$cGC2tPxQKVN-9pe~w2UAY;4h zAxa2Y3AXNz2^VzJB1+*$lS-)e07TGG^lqNWon8Si;D_|32rCmpzdjzK+TT0%F7q{n zUO8*5API0+0DK2uIIcqwq`koxix(Z020K@!B!>V{1E|;E-=A7aD1EuYt(7MYP!$lN z@{Shs#6qGL1PjI=2W=5vkGv4oT6}pQs2*f?Qt-Fjh59`BA{>||rTN3_ZpV<$vn)wT zDIItCU$@xj2AMR*w~qIXpt&r!UnzQER_=sp4x~49p)`{YUg@><)Y;DD;Io%`J~EKR zKZzvh)gh%+UU^hUEUSFEs*C-i2qKD5&__&ovSN{NfwV)(0Us<|>pBH@aC-py!;yawLiu95PO;=LconDc5r)N8-g5ZXh1>8`qBqG& z-tS~9(UxZ@NtLk(Kc$$aUvw_JMN7EXd_|5TNkppfWN(kNR;j5XNaHP$FH;yB6~Aip zNs1?2UHN~+MeQ$j&a3DC>?i=GFdp+B_PXo+hgfIl|4jpl7U zxH6rb@8bSu0vGS7b^S)&s^xdq)QvJeokDZ7H{$Id-^8|UnZgmM!@O`SCOsNO%6hT{ za^SSq?1hh}`I|RMa;{A}oLP*?DJ5o{eW#>yH3ZMoF2ZUW(1g`5BQ3752Z|UKn22r< zx`SUlxs~0#=RpkoDpN0fOhn11)oKKhN6^|rv`rz4uDwQK4cyjU~xejF5@7q=7B^STZ>p{MZ(bnIF zz#cyaoA^TJu-8^ECAXd~=+bJha~+?LCie1KH@K<$vhmS=<%g3$zdCFl8ts7sr#x^XY)84z~nS`knu{ zX(xMcVy0NFBim&jTkA_10bC{w7*I)9e~SL{}0WqkKRAAulLR^}H58sbqrmu4)Fd8B;5&O7`Q4@+yPXAxwv z0qsxj-Lu!2e}-^t{}r9z?~$3keV!#YD|;C~PJgwytY~S2W~KTytLJzgrv6KFc|@rz z*}4ca!e{w}I}F@*m07-sC^%|GIVHD+!W`z6Ug%DIw_E(eFy!ITWa992cft#=**5Z} zsKQI#fpvah0nbF>$nU(G+dsdoHS4%X^hIL2#gU%G@PNQr4~Obo08GIA5vKJ;AWcQ~ z_fu~3&N#hFv=}R(ax*4`Xy24z7-vp$X7Du+u6OR?b^AD>e1~sFo#5eySyAGqB(Igr zG>ly*@dlxQH@6hU&sL^KmlFP?TH=qk-_MOQ@>+&^zi()+f|~GtYpDyCoFtc^aLC(p zOcqsk*u1yCbty_26D}&bVB42^hw?;(FfDND)ti4OsUx&oOQSNcwp% zgL91)b{kM%9{+tf9cW_?E%PAh0wPv(?6H9*YmU4r5}H8MV-NEM+q{8J%KlJ;6(@y;s4 zH#MJ}5n_QX|GuDy`3gLe*4=9+Y_?jw$Q}oVL}J|WmzK-Y_3P_8aVeUa!EOCxBT9d- zJ6eAhI|Uwi-%0zCSv@NveIj^~niKNt+ivE$3Hcmp^we}u^5Fm)7!U}gZeM_~zmOX`BrYzHzOk*uB=5yCYqt5x;g?HwlJ$l4plL5>6CvNWRPb0VFIIY_E|#bHZT;yYEgr-#6E`a7PMH&8?&Rvq0=*H{M10h#F8^l>Td2Fn#^p;{Q(ZoBSZ+$x03&RRkTJ5HJzK zTyFBs%=2kcw`v_| zFJ@-~`zP@JYIAV6D~7rO(oG6OV_rj~N8~#QVS{mDd~?#dx%V^o*CIl+0+5Y>nN6Fm zR*+K=xi-~5V*Q=OT_`c++GJw+oZO`>I?4XddA$9#9fmwOxzSNx_FM!W?$1pA!~eLu zfWqrN8{lgxmA%oFbC)o*M}PZGgfKT>iI3*nUBL|vRPLb}nc@4W94p4wYUDVEO&QG2oOM!D4Ot_Oktg3lcb zJdcqp(uuNN&oq(nU5@W7Vsw{G8FmXoT|4#iP3j%`f)+P1f1c4VEPXz#ji9{S5Fska zS7N6ekh)kTn53UMmpZNu=t7wh{-lJeV|anY{lxW&3F+cNcSI_BT4@i6MrsN*@1pJ)oa|c~5dmmZ(!@_`PxO+XP^z{9_U{wmV5wOpf2|_RXcRf*Sr=gdx_$WzLN9r7NKn=fT?wiuA=vR&HZGfTOJ|P0R zSJ!_QhYMnSyK($(eY&6;fOH4o9q+ESlY)HljmiQ2)?e;NF>*lPEYp)~GKsb|KDwC@<9_;{o0?fOAIPIw{~js<}941`~ZEFl^o@c|S3qr8xs zYUd2-z@8P9aoePa0ZvemruLO82p+{=QI@$TB7vdN5h+fN-ihpZ1EgQio%pIOL8%KR z#_j{ou7-wT-lOe=Vp(2N!VWCk9%?J8XrnA**;xJj685PS8o9eYW6+YXUfWwyUN_53 zP}i(Z>Xr%`yGMj|bl;dM*xA)qp>+Z?%@i-6#`MvK9%6o9@MpUXhm`vq zpz*@yyD_P2qObg?oSr`47tVZGrGJtIaT~x1+aE!L$bK@9HD?EO%}1>dOxYR{R>l+D zsQrApH3qs*vg8m#3d;E^wuS5o;3!DB-BOlm-}rUE+W?^hqZhyDb#6J9Awrxe#8A1? zK;eap{2|uZM;kin%_xRJnIasDW}f3YG8FS^@*fjI&+RAB)OAH~5C!nz&7$uDpIO-)+vN!YP{~mO(Z!Lg}0{-8<03A5dlI5LQYYVp9O;Q>vKEAv% z9$W_hz2#-B%CbM3g6_cO0JC5I@_FF0Lk0+-a@kHmwC>I<`nj_fQJ8Ac!@RebUCdXn z{6S0G8e33TeQTN%giUJF_y*{-J{@=k484ucn?&VtiL|JPy+b6cBdvDmvbs~xBKs^U z{!wTmKt}rGZ%+1SoMA2<{%UVo7&byd#M~!w_g)4+?wl>r0}O&Y8at~T*bYtZx8n~q zCT(w;i!B|G)_AJXuCFmuRapD5pa)m|G78S)`CJ*0c$}FlXi@z)k4T~tSQ>l{n#qLD>&M?3g^)kwc6-O$gu4Lbb#UA+%1NaNw z`u0vV1fSJ>>pvs$d0at5W>p~Yjn>ms$| z!kn)dX6Pb+dPD1GEkU2l^^Acs%4HVBChsnm5`X+6ew8KONkl#&#^E7GwpAwo`caxH zRhpIiLrUnI?hYizIL`O;v+#edEjb+Om{A#Isv6DHa*TO7w|3TX@ z>xcJ&)P>~ul~hOV%jmBQxafh-dz!E)c04~Gvj}g-LlHODSruPT&$mWg4(wF6Q~0N6 zMKC5e!ED@au(Q|p`0-hOGV%|x4&OOiRPNxfFMc0AvoU4vJ#s)Cr*>rTr%*TV z^zGD(SEuI$I$Jy6G%Bv{AFgB`1ugE*XgadG z2q6wqY)YlVj{*7WWd_B1)kV8@rhXy<7`B{>lG9~E zGKt7Q6_)A6t(|SGDqdr98LxgkXTQ5$$4lv?)Ztymb&(($yIZ?U;}O2g@a20KVGCc{ zN`r*%a1B0cuk<9IxFo462K86W@o&-SL*#~N}PZoB)#Qxzr@V@{88WofwJCjtHH zce;ADcL&DSqzQ|EJ^l4E2UEI{!OkJ;)Gy0hAfp7nE3p&Q3IHZl1ymJ zNHZPZs+I9+a@}iH{{~v(q&{cOSrHLI@w5%v`{ydy321O)JZ6zB3r>%rSQ!l$PvSD> z8oSqKWdv-o8Dno7f4$Efd?9@)*ZeR+Ft|(j54r{Z9g4hY{p(%V&!-_U3x&Fj)&*Ct z3b~Xbi?I4oTNb`H+#uZog(puEibCN?w-RsYU3y7{K|-fFY#13nQy%q8Oq_ek6~6eQ-~;~A74KHuA2J#!A_7&NKz%+?!yhT{fSnk zLieO-^!6An3m&{dHx-STkVy&3!3f<2_krleOGuwGzS7r+q2y1)S4&cNUEgPtz0rti z3AyawyIiGDMlRQL-;XLwe{B}&MClh&wG}9A*qH8|g8g}3>_~O77$m5S?BG?hGlDh@ z!Y#3!LKkqE1MWBddh*^JCt+w+M(wtHc<;Z-z|ng~c=@BhdDo!Y_T5{UCPUd97Ys&| z=N_^X3FxxodELT4?kM0O{-s(G=@(|#U;a;2F2Pz@#ahMKh?^bcnKr1t-511(BV^O_ ztiLF%sOZ5ICIo7BOQU-W3N{OtA3|OMos#LJVqK|8mOKL2tDiYT>x4vP>H8S{6%p>p z+A^4}8t?GjWTzuTmBA~tPo;L#%M>7QXAAfPkX_+?2bT8+m?yiNSSQLh$w`y1nhqri z!mNGyXHsI4^;X2`YBCc~QOi>rQStiY=90}iezh6>nV|#T^64_Y%GQI>E|Z}jr4fj( ze_`0g55KmBn5xXz+I64l3kVAGpPIXoT4WK%O=!~_wEV%dMb!~eEsQ-FEa?z8{BuB1`!8H4E&mKN1g&}Wr<>dp$tcMB&%LEmn zMsaA}N4Y(!F0ZirC-_f$wHoPSdC6emRyl7>{aJF#qks0CPd87&OwGk}2!n3c={Nrc zB3&ZyjQ%!=jceb>1^loD{DE5hyYTk(F*~_wLMG85n(00~CoHJPpd~^`wF2?tzoI1b zHZx0u5W-FKv??N7ZCr}X_~AO$Mvg*Mg{19PsRD2OiXIb$y_^SL0ffn$*NW9lXd4@s z*MUp&-kzYh)a%(@%=9N@!k%*Ks?bY1HGYJ4%1Oj3=N_KL0&1s+%ZOki5g1@cU(76S$i zEPW@dgVXES1h$PN`=V@=c?3H|Wpu2#M)xQMafGX|6yDq&Sp3+8FDiEut*_)okp58s}i6KdPlfjfHFc}tlA1Sjk2>dpLofRlI5(P&A zv^mJfn;UBb3}(~({n&Cp2&lkzqaA|Cy3Z&<85DM&H9}3&@MNdYxE@~=Aa8_rHF2db zEoj+N^>VBVsWIAF`Sg@>@7+H1|FW=GQ|;1$g_o1QjV7^~jEII4amY>gT{w=89yLAO zFJJu|56wSFBZ?~5tr1y^J;UbFZgY_$!x~DjBT?q)3rj<+< zM9>kvhSbODS|z1_sX-B^rC!Z5-44LdH?EuyC5Vjwd42--jVKA{%2QCWr+(CdiK>jF zN*$tsM12(D`|@~OV+kXH@dN`1La0T-NC`63a1=x^egxZiR!*DKxO_ppBwje(J zkX4*9gLXPWM>vG#KxOomb!BYq_@Bj{;g9w8QUv*;*Wz#E(@3$xRA4sKj*tn@FDCF6^@sf)T{?QUbXCOsB5kaD zx4@jTwr^U{li1_n`};`xPKRuI25KWLtpIRA5N_%lgB32xXKU9XI{RW@h81tYeHEEN zTe++Jw_$9A?gu>6J(EJC8mIkfwiZ|6TznB(A!Tl@@Pjuc_A~Dj zA?Iuyw0|()6iS8JmVMk2hlf`{DLN3Ig%A@z*iAP*I{J36(#l}^=x1WIdKLkQ(jWKn zvs7-rwy?rH-7O9sPOI!sMw4SFN!@zPgl({NT}OW6_t~o_J+~w8zJ2@tuMrpj{IO7Y zz(1L5%xiXX9QNhSUHV&w*n{psU8Cheu=1s<@gI%mwR{jllhOEaRMOh%uV<#EylLM> zy+p5{ghNEHB)M8MU3A|wqCE=Bp;MvRRxdpzvJ!|OuWdIFFd&m0pfY?gb1~szJZ!VL zW>FhTNgua;G{+Yf^ZbNxzKJFh_0Ed|hkblK^zPj4^CVB>U^c|=f z#R^W)v$a-XT~~$DCoo2)z{Sje8_(k@EE(bB5sQ>TcMYj_AY!x4tL+wBFk<>Z5)UE=yxN*$dyHc#Av|#(EseHUlt2o?R$>@W0@nN7;u1aN&g~(ydo-7b zI+jvOocu))FUH&#kM~RYPrx^SxT#rA$d=)Na5uEZEDyRLE89%HYGBlv_CBpAe&$u8 zc7=l(3lsNJ?4+Wb8HqvV<$`#b(W`9eN+d@zzc(Nv1J`^Dp}?al$e*(WFAq61J)w;M zP^!gD*eS(N95$%3!W(+O=|BE(ZE@9&{xV64`I% z9O}G>qkUi6r`;2$bszVJkC;yn1-IXU1fmyVU|twg-J4IW`w;_|M`Ebag73|epLJYG zx@>f=A%hpKnaISuI2J-QrQUbzAAU#`h)l(!>Bxl}XrW_iXuqBxzoU70ObX31ZOneG zY~EcM-OG~YT;9_oVtIej$!2#?^6#X@`($-Z^y;wyEhgInj_yDKJepcN+J~KphMWCe zf_4bJDcF!u*6p-}FyC6O!Ez?c<3p!GBag8PNA#l@cJnwdRyYG3y{3{w`tGyLh}-?$ zGNQ#_aK6RjYf-=QVJD6@%z3#xBRo6=thjp5{Vome$yNHK?~;VObKI$L#c?P=M#wSE{@eU|x)8#!c~9N$6unhP`Z*L? zoajFI3belVM_7TTi5ASk+CwV5l#nmFkpJl*8yKdtr2^i8C-5Hwo5B2rKQGX5>7odz z@`fS(K~28HCZnzvilAYMCKO*8Wb6-c7U~rJxUcotJIpfrZ9a->{bh)#2IFB=p#XoM z#qE^#QFrJiCiom12_wG8Kf^c2)xB4a%_JUC&4qy)*mxG2fqJp1Y%3VSRBqp?Nqk~&0QdtYpAafh+q}HN0ar9zS1K=RcVaP$qB~W=J0m8@u_~|Z zgyq}b%R=T~S%s6CtK=?F$Q{(jF)vO$8p3R%$FkzWhN_?;3y1xrky3NB;C*K1eU&44 zmXQ5$JVHse1cp5R6NE>P?zXp7gYa;sS@CPy@oW7TvG4fqQ9LToSG+K{{V%%*yd%7y z(JoWK|7PV{vvA7({Hex~D&P>dih2p-fsy<w5u@(VoLa3oqo+ z)Hob2xaL^8NphP2RhVfz={&djcTPLY%go-!57qVa@aFQ_lYFdfdh#eMuYk!m3*t~^ z#y=D%_mf}y1&xYqQzJ>(7fga6>MSpJLl+j5UYt71v!C*1Qs3WR)BvpYITMEl0& z74Xg`ac7Tv9h0Cq%=AgehS<#r9*1pjXS)_>u2~6LCm+YhTdoP*$L{>QCaD>_9sIYk z(JBiW6OAxgwOLlpQUVog3Izjvjp?UCr>6}dy z?4wL>HvE`6x)@aH?tUIUeaf&sMk1}}PpAaJZdi$ky}WCT7ahTdlo@EMWv6)IXc9nR zgz)KJ{z^EB@02LBKM6$%Ekp5EIP)W!VOSbP?=#Mid&D8Nxva>`k)FRh^ba06nz=}+ zZjmRqtxJv%i1Ffg)`)VV`;iLiXz2Nphq8OCfJw2pL5YEko3a zDsPUgJR)K$Fgm#$9S*OIK1gu&-kjz_i)j5HOhZ7y}S9$xJj7N{bW>@0j={;I=ELK zTgnu(D1z@5Jvs5GC|ORjKS&fh~J&`piU;ZZtZh|PAZ zu`S*c0B%4!dnx0yBoL~g%6Q0CaLcU5alY(tzk-$O*|$^Y=+XOJ;FF0ujU+`0;UP&7 zDSz`5G&RK0VdP(Wv%=V;2Q{9;Xq_fgVG=hMSg-0e(^)-zSgjMg%$62ao2!?mn-eWQ zPGvm>YE9Ht3CV;eE*mL^-t<)+fR)c!-}iXrgTJdC3%6V^CknYrFZf&C8}1ew*tcF} z(7UA>TslGftdQ1?#A5x zm@O%GbJy=WdlLi&MRRIT)I}BtGTef>lJ$tCU8ZI2&WI?il<8uy18u3&C`8Q*l44)vjxy!kA~ghHrGxLH?(BenIeGxZV8 zYfqYb3Rsv}W|1vAK+La)*&h?xJ$8($j891drTXSZVHASX@*P%H8$NAoG`!xGgUwfIM)qSqp#xdYx zz_HL3SO6@%-}nzHj{WZ2BEj8xkG=99ZYx56jEVHLxwtSfudx0(vQ~hai_`jE>vFPx z1~&-93HIFK@%6;MTS@9MdYEua>o&1WGKgB`b}11bwSX6CWwhx>XcTNGUGZ?457#DS zHYn;Ofypjb@a28MU1HBlBmJ!$PzklAue>PNd;Wa#KlpYsPH*Sz3@zHd-7C1ok}xNN zCaP?lc*OHEDiFfTqZ>qX$an6UyoPYzHc7}g-TgF#Sc<>W`}pqbmrs_ScwVP`^p=eG zG666m?8DtKg39}A&vmt6i!dDe$wE#e@6rq2URiuW(dL-HxNV()7B}9?R z*IgOS4pX@*cwXD9?XD9w3QxF$O$Wa`S8y~T-15l(^@{&NJ9v#`50?E9O_4nDO04MK z#{-ebOQ%>_D7U2@d|GlFsYla&u{3C53fck`k6bS&W{VIK72{VH@$Pno^v?tyt<(Uw^0Rmhcj7&KWiStUGlbEhif{(^m29?q!G&Jbb0y{DZ&KmePx72Re|;PqL6t z>>72yU(tG+U8pTz^pBMo5nj|W|F}R!BOJO>{vB!isb^-EJ3AnlMZbnid@)_d@$|KK zUcv3S=8~#Xlhjb$$ zND4@INp}lKmvjjTDBU29#33aP2uOSAZtn8lxifxnMi}?rYpr*^`Fmz&27+#f6|R{} zKb$u`AEpYAg(h8~yVR_pA;G;IVqW_qpqxD%?*&w+llH zkCB3A%@p#9R70*S1vRk$8Wwu_z+DYrCQ#@1x(77qdpug%y1AjI7QGoeYkJ|l z`BwXMIt-8F@ej&J*eimkl7&Op4N7(%@ri|4~*F$Qkf72EA_=SNYpKpZ&lS1i`2u2r@bjJsT)8 zDn@MmS7n2?Hch$5$HodZK{n%YC0_9K=?NUiQ#l4?ouD9gfQBDuvK_^~EJtiubHOQc zlIyX?Kwi6h{7VZdoej~edVa+Q%59@{E)*{qrF}6OttMGnh;u*eDItgnL7#?$@x#FNv* z6{(?m%sGS9p;q53=`6AtjIz%s^H1B-wpz<6j7jzrfv76ylrS( zbBHkHx}+U&)=B}eeWgbJTNcfRAM)bLwuqHOqe#*xEWeOo68#)~&s;;6J2FDe-CYI0 zhb8)lSI-+qZTO~c|EE~-i}9>{hB!T~SGn9~5jV}QdOW_}9~a1=&;9~sfJ(0J zvJ>aPqpOA6?D@4;jx^=xfHd3aDL73Q=Pwav`*(I{n@cVC9c`4;u6>}R3ZSzn)la=* z9q7K9j9NH-SnXzc!y<1PBUO0D|K`iDIY6qw#R&|FSDWYini{dA;=hVQ%cVx|g@DL? z-|XmjzMbQ2k~9}EFel;w3+!z=c-eJiL5d2rdO~tE=A~H;y^yxQfJ{83ph5} zOw}O>vs1<8^;Fim@9a-)dmi+C<|!2RrZ=OLeL5Z(b3SBNFg2 zpLg_hzmyULD*{kKdmiM%V*ZA4u1$NEW1OOytD*>J-CN#)QRB6N{CP(+ZXNgtwxHBg zmXI}lQo5N3bFz4%^w!MJT7N-(4Jkcw4Tp^K{JIy>;4^{_xr#F!r~fOGcAdmKLW}D2 zq;w+QFnxl24Pu~)iux`?Qcz|)Ysb$gD@#IWgTN8s(bvO=SO~^2{}8QdLd3p|>! zs&?W+6D8VxW|@*e%77F9Nx*T5!i>|jn~|#fx^?k~U=IyEF98)_%IEEG5^hqYB|y4M zX*=jFN}|8azEUA9nCQHs9{EKOO(TJ532X1uicd zw+Bw?uXQzua%e4s3`^jB=h0S8j?=sS_Ei*OH=K}x3zU#=@8oxt-{vb8WQ`{u?n%#I zyt3s?G%7=j>2(+PhblCC0OEGK?Vu+TJ#s;+uVv|3Zmj2DZdg;mkgF!!u-MP%ZqhMa zjJAzNjDPDB(VU6guarduh_Fo`%XMjh0^vM9X8O8<@&G77z|50z)F9A`Evs# zm1Td{g`TdN*QhfXpx0eg0NYb9X!kGOHRrD9U+Ks?2lq#}6)3tahBpD{pK7%d{h6BLj--Z|pK7 zBk;+!S%07BbdL!Qc zmYdiYz(Z55A}{&>n?L~f0Vwh!{d*_9eJ4@IC!J1{)fEQ;3;u%cZt6btp9D8NQV8Q^ zl!KV0LJ5Q;3N?wQn-lXtq$U#YX4>j2jZ1Ya-Si44L zkqlYcz9vdBr~;t~0NTuO4R7&qBZ5~07KbsJSzWc90aB8B1#6j7?a@-| zt;DKd`U?=gxc1*ms$&N*P1gUo5O2E@H-tcoS4nESMnpO2h+ru_1XVqug!+OUqP9>I ztL(^~Hb9X9iV%wq0=OF3Jm_lRSJS$>UT2+t)nb3p^^0|`qwwVEpP%vkeJ%Nj*0*{U zfL_pE^8;C0-sIJ7+8HVMTKhiz1OL8VTm-r(u%!Rb>*`sF++hk!1? z)XIu%{ZxULeL*T+&IodZj|cC>gEQEFJ)q`(gsCvHzc``T67BM#}GJMe(gL6WL-jw^yh#1{E$) zaAW%Tf0pkAdZ9X+2)>ld&O5t%2h1tsv}u1Dk3OJ1)CPLO>d&7k(!?N&Tn!p((&sbt zbK$>zO49}&WLtY1=+d=od^PII^_rC@OO*zlN6#n@G_8XMgQqQ>9r0Y6iy&KpoQ0zvS~WWpJ_2vxH6G^SXF`Ny#p0<3C3_*7 zkPO}JlekyJ@QB6kw3E~kE2Wv)?Bb$s2NTaVeb>mBk1?j93~mwIZOTT`S#8> zL|PzYU{X!H5CU2(U`@ajxc9^&1=ERGA-IgbY`$(ZJect9r1C>TMMVX0x!vp#?PU4- zK>**(gHO-R&HZBM1BlLxtJiPo`5{XYKeV}@@=`ZBJ5yDD-@o@?wI1EBE~)nL$AjDI zuvy82;hQ@Nzo%_yQor580ZmDfE!jbV-a_U`g2E6+P3iNuI#pu+XX84|%m8mlA@0?1 zuvk<6-FAZsV09~GLaHTC2&E}{o}tq$VKJCM`R6cEzCH#{?|EQ9Il{`?%h5_K0g0=9 zjxM)p_>C=}@u$(9jkWyu^-9%x?Puw4oeY{@xG?AH<=FwL3cbz4vjE9&I$oX@q|$XV zRa-oQqOzS+AhI9IQX`-PoZwUeN0HnLXr>6YmjmRlCJILY4ECuDy4FK;BV#@uZ=@2h zUC|E|O`^{O^6uNaE$-K&NVtRg$5gljCN(0xqycqu>0P^&HoBPG=*w9q=89C6j`L}P z5^eh~VwL#9Li3WN`jd;=q1`=$V`Qlu9H}YXCuk!Li{sL(LQR^K5lD!rc&<9{q@YxV zwz-oNG4ukoMXL(LrKu0ub`#tKv$rae+p3`gOn4WdVCR6*f_YDF?6BWmCfI6d1Rh*j zSveN(-=mJ!ftLXnuL8<@97f^651G zEC#8~trJ(E9u$Sw84S8AOj9P3Mz?qO_M{QRKkldobt!5 zX)QqL$O_~a8nFS12I+rt6ntva6*`|E<{bno^s3ZKXIlv&&A)x^>kX?PU#C)(*cuj~ zmdxzZp{s(CxUq?`X}d;%g>@C?R+~YTmDj+lw>M(@I)0Jjf_7oz`Mm4sH4D)%ik}?( z@2#x?8hqy@Aparg=}J}Nc9*Wt_;fRori%$#1nXlS1;Gr1E~4>UE+P&Y#76SOplx1Y z9I`+&Qv^w#v)>@x3aHG1jymxS<0eZlv(pAstmkG;-T6iuc%a#UCi0@Qv-7&k^1W9& zXu!8J0PYe*ZpZE9N(TNUx#A12E}zrAY*3j45qrFHsSF@vo*{mihRwvABTFvUIhK`` zXXbOJKzBwgd9VgvX|tZ*h+R0s)V*(cix@WJv=Fd{X+UYDEA{;1ik|O#&EWYM5me%e z9hir+#HZnNi^S^8n=s<(cLX!`bm-6o$*|`b2wGL&ug>zzd4xxn?V?FOkpuya_Q8ckK6X6R?c+yu1+0dV{(}Rik@e z*V_%D2|;!5N8SouPwP$-PKClB*=5{9d_)D1mn;^1qN1aln?f?^zJ7j5JiFHEU|>wB z-iP71GA$6{{;|A|t#P!Pc;3lxTD8gLLAiIgyXfFYhaZRX zqm|;~6IxNq%2hyiJQI*v0z8u0St2k2Y>XV^ou0;&Gu}k@^!LJ-?9K3jgq(;Yf(yL5 zS>V64pOSKeQl&&-;Q&?#d#2}#FIdFt3Q&PspRO_8rQ$FN%Z`%{&sA0`&zsz;=o3O`uvTky)<$Yu={WeVuUSOeV ze6}CCX{8_2hY_|T~F5c>){^0V*q%4Rwapf*J{{;J-< zJmHy8X`lUtQuNR4Dhs#`n=@nzd-l)SXXUiT8-TUJ%@SEr@yK-8y}H- z9Gh2~+O;dh@;_n#{{9cutP@tl3LPN{0pM+(UwT=PVx_49F!Dei6_bMeFXT{yPA@L` zDkJ$@39nHTcgoA_1=qX}_pT*J?#KC0SvTT-OUv$MUT*f11hULDlFSBia_}U4Dnl8{ z=y0i1!&jXXA>EJmb}1>UYHFvQL)}q3e)esF=qwp3*EMl7T4^F}^NkCBgf9fO_xEf^ zA2PIgcz8n387&AcblCW{_xM`;r z{xuy}vwDaFSU->;A?-?~XxqS5_PgT1oHPCj%@?~Vo}ciOTx@HoMpK~=QAGD3M{V@Y zweG&;x0{(!RaZaVEnXe)?Bsvj2Vl#bjN>;xsqm(id2Rb7qpEtju9}U*B{_-wL=|6H zlbXIh$-uj$#a08RLFP|+3LH6c@j*#R-==I{88qjM&e$8ohhCUg&)JQC(Tp}H#bSZD zP)1ek*~%*<0y_szg`=?=Fhc{6fn}&@(iQa*ug)<~tPQVQQPE4kPzr~h2Mi7k{u*=f z^zcYkp!PxDyQ65`!2RiW2^=jI&#jo*Y zM7}~A4n*PCzD4#k_WUN-OY>he)VPJYCyEorKJK*H*CkjCC4vy*XA=F%nWK9M(^bFl zLJ-Tq>>AC$a(w*b;5xRwG*6M-2KWinS{1pB>ih z5U1{k%RRT&dkwH)>iB;T4ocgrMCB3Y?9!$(6tePj$~9Rg=X5{jP=Tl$;E*oo^z-X` z3P}GjnY#(`(SD&84z-7Yf(V%KnP{C55xM2Tlf1{*RyOH4Q~!B)`7-w4DEwjR**8fH zXW_I91H0-sGL(vy$dtbkv})atK_AcH7&hSbiJeb68O;k{U8bCHm!ziV2X(z%s5tmc zQgo09-3CdXotyFDnT&L*j{qHZ$ z%z|UwjYPyk@3j;ikliDWc$xYOA1(g|zY*~np5|+i50eeL@}4a(7Y@7^0(0?@mqWtV_BZ!foLt=8((YcwejW{K zZ@kDAQ?C34(t=~w&0~>}0Qj8mCCeRP+%7a&VMUs|07CWq_hkf;>fRc7dQ9k$Smi*l zI@>!tt`s}J=34S}2_Vg@fp_3_th^fyi>i?T)NzFq z-5YW6U#*yRQ}74bdJm%I`>U=fdl-eVTjs`4LM~y;?Vluiz*P%SWF_l_b5v@GH!_WN z&p!Dv$*c{}cdJ{xkNmzd)Oz&$&c(3Wy)F+be#fq@Tt?-~Vp6*+j3tt3`dO_BZ+PC* zP~QlQXQH#++DMxY9@aR4dyX|@M_9x+)wffcBc~J}6&)o&C|Bqhu)_Dd9xh=T!e`E` zhK*&O@$wr``iug28`xlxkx}1NvG75aaVUXmRZLto^v;FV4Nux5(AwVG?jG z`cLaZu=1|k3Qo+oHk_0pB;iG&Hp4;`3xo`WLIqTB7&pI59&L8dl{Au5Di#r`+pYb4cxkbG3E_W9$7 zszX?mxFi$+6dnN8BCGIa?vbY7?H<4QO@?9ZbwIz=XS!!L0%Q+S zK?TC1|A?zCcZcm0+4vt$2Iwh-jNK2+~yM4qOf3%kz0}%>AU@ zy(pm1ph$?wFGHU@&tRN!`XkJ;$*J^ENL53l9wa2b^)LPXx&xSztM}WIg{kk}UpaMT zm@++|lT|JFBBWVq@e=y$mJ;?otY(y>xV)S>VMh=<%sAtymrpIvXPYc9;L-quTz!-H z0RaK7=MKeF1=$y=TZBq<8O}FWVqRSUDm&zZA5#jeybMjwI1j&Y#0n-4 zn)v*XY8C(ug_CJWZ-Y(yo#soKwvB~FNvOb3m2$30Fyp%6wQ%sN!*pgov)>4#s+tB! zfXUMKkR<})mpsv<4ltxbc(tmr(GwE!Cl_N|@K@#yNwujPPRfzSvB7i;6L{r9S<5De zLh#B!s@)OBm|5mC2sdCGKdW|raCU%|H3UgEGUvTf{G|LvOG~b#L}b#Zx=N{02H~!; z)(V(0e+fKf#!~^O<>BLFu9TS+u~ui!6vEfw0syKOKyU41l1)`** z4}W5qJLcM&bf5pzMF{tv)72MFw|amvV7iEB0HTT!wC@aLo9RtixWvR%C2~p)t7uCd zWD#ei<`)(WRwi?E4CDgO5{_EV&Km6ar*j0j`T6Bawas@Xa;-hI#qaj(@8R8#|0%PU zQGE#Bc88*jarU=aJx&Pg#UhJD1fPnrMd79Vu8T0N8UVg2tl1eaqGzx7k>qAuup5M? z#S$XQHz8<>(wYbc;pmlpfo>e?L5#>7^CqJ`zp9Di2ELV9YSMUv|Ba>egYVM}0PP}_ zgeR@jw)y!EZ-wr5@1Ey>{%q;yb~*?RICRIW-M*-98+mAh*T9&=uQ`FV7hs7CojJev zjRe@MREe66P$p6e(h>l40@((-1ajC0=QwOXk}#St_1eV;QwfZvvlvM_Z{K+r$o96FZR`hYtxprj)VoTb&f-xgyN6F?{hFc`71|E#QhhdFzBrB_r`Xu+CR zy8svaHOHMNkD(_5U}RH0RaVthmT6Z!eZqJ_`X)VM#}EASdK*<9H4$%vHmiWs(knou zv~6_hEC^vlELlRLb2^$5~EY8`K*?2biQz+-RVQgOhp)h+}}V`mwzTtD&;8+?B+ z1}-BoLS`ih2Y&~0DT08K&Zn%rO%+JGbF)LTcRLmBemYNZ#=NI97g7?8AM9pq$JrIl z&m*(qDGZDr7;GynEPT%W^t;pVWCxG&y;iP(w3l|2vJycY1vp)6kn@xX|0N zqY`b^?#o68QnHwp-;w5%FxV(ih*d5&**O`a-dX!0yW2K#Jjo@#vO*Lq=V4r~R|Wi( zEU*#m?EVJiKi%)>t6e4Teid3VJbzh`w(?ysqx$b63Yy_7xR=mD?+pk0ULJvKp!O;#XnRw)r`S73$9Xkff zTD;=olvUgjGKG%CUFXv(z{!yXj9E%x$u<@R>H(QbP^3+9CsCuybK*YNJs%sxgXir% zRnM6Xc;jENID1kGu@9d%h7va-QLKt($Yi2vYAyXgM^Oi60#;}SP>*^Ia_b3+yg^qh z!&6f&H%j|5&x^(bvKt=lbLZQC!g<^5NyJ6HCJCGFp2+|T-eRLYNxIcZuRHX+_o|8A z9J%qz3Lw@ejc$czlETXLs<;IOhXA<|XtQ1?grtHvTGCr)puW|4X;=qqrf={{v=hlq zFyv=u(&fXYEIOHeZ4)n_<0-lHb>wxBIB!t$(x=zGInU-zbSMKzdQmAy4oCB}Nny>e zKU`Ezxwkg00>Lk!11NVU!pl3G?}K`@l>z(3wZ|PZQ_TO;%Yb9+_U%FA=YxZR$93xW z;QAuAEVFeRVa)jE2?t=v@>X!6`dls|z0r$(`IZAPQ4&K!5K2I0)f4=qu&nh%$%jzoKwQ>FxJgCJ(j74`np#sQQb%%2_~T56y@Jv2z>Zkhr)rHc;0&Cbfrwet7( zzp|D%%eu--!(vpV6Sbdp5C{Spwe1ssiCSwOGLX>)40a$ku-;@SR5NSx&D#u5ZVJMJ0%2=Qv54n@a(%>^j$1XiK zCh@uE8t;qRAk-|;W*M@@%2bL$A<hP4+8yHsKg!noN`*;?>rg-n*HppHYcOMeqLU`oCR{azyHjbm$&9W4us~3 z6N1LzIgS~=+JuiGpr{Q!`=W!y-{TqJKaW5QR=*IW9te~lhN%iti?WobKIfb2*7l5e zEU14Vg@2DBtctfy8DvuH(`54!_awifYsnV7*m#XKQI#U8R9>I=%7$&^8{Im>6rTqa z>lZhH6{*2R3XX>Q?0Jd1_+Cr;T*=4}=~p%vP-aXY2UycT4K@%6;7Ok2b5i+Wye$2f z^zQmC;dVm-n2Bs>13*sbpI*~dE4UFk^>3cRcE4Kx1{;`v^|?&POx;%ybGMnkkI<2>N{FVu{FOQld5j32t_k$t{E8rf{;ir;g3+=wF}(_y|5|AH(t zx!ms^!^ZW7zM6f#sy9=e2M^9y=WPw`9be3)PPSb5VryA;8A_;G%!Mjlxnd7T=pBai zvj>5l;G3L1zWRAn=;X1>*DJ7r0P1U@&GWy6jepnHrT7g)(@IHgc|MM;v_?-&4F_^q@3tvm5gMck~P|9UM2v!$#aqT4#wNwoN!OiG_@lis_9IBeED|w@G!yt z`r`cDW#D-`7j_Cjcb*N?SYu;VRn_CQuy$d$O|G{0-^}|Wh4>cg zzAnJ|flUXJLJ}Z(1qau({>s6;($1@YpIqPAXDe-0SNS2^%D^yn!-$25CF5s1`NdXSQ9-A-Y_@2aicZTDIGvL^%$?ZgLq(Nr)OCirdZu{*WdzDbEctC}- zw7FT(DNvM$rx&P&?Ed`=gy0gQypOg=0ExKiEjBhTvYkwgl(&Yr4Ww2+D-h({9!B)L zPSZH^!$zHp-8mqTn$F9mJIbLOj2S+`zim|Qs@Q!6de!T-N;l+m4Ai0`&x-vvnEM{6()&4KK1g65$eNkw}IWRCUtH9ybB5$YjVT3u~D8Sf@ z%n+1%H&Zk~sL}RUqI5P$rBs`BhHv8$q6I5vK_6~%B){<0wB#F0SB|=v%^7FXR`xI+ znt0F3Pww$DiO;QO*Yd^fyZ7fag%@q<#W@1zCIOyr8q1|5@~vme)Qsvp|9c?-bdw!{ zP96qT;I%o>pBdh&2VQDY*YBS6H0TZ}n5Qb24)2&&=~X#D{M7Gq^U^lSDC8%AKtNOV z=CW0Wv6m|PNs3k(a21QHs^Wmw@`ljKw;Tbl(K1aIE-oQOjvU4`<$=EtWDzs^{Bpx8 zt*>*x{x+EuVr3@a;1rr%uz~PvBPHm=hfEcY*6{UpbBdw$z4H8R05;zQ9AW_dMnyv- zBPRzn7Ht+{i(=CXop=8Jp88*qi5F2wCUHSC!nkUam>k#e9)-nz*3ah^1iKmmRG z%m-i~@FAOR3+7g-=_^I$<)Q*W+l{PQCH9k4^_vnCj#}T3J^y*Q&Mfpm9_>x~dU~Xm z`#3`%fDA2Y#rQ#j>$Zx7=W=~q_yqf%F*xj+wlFu{un{JNW*FZ=QL3q4qz&uDrOQA6+15nuI)q}#?BB^BV)4;mIJ zQYZb2?YH0)P|_;#nNZE20|9`w_m;xkRfW=M9b;TJtpOgF%{jJp_MGw2S?ADM7iVN2 zEfX_S%Dt`x-U{EIiDc0wY-#Bh?i_fQW4byHU(!W{{L{4zl8h}18gyOe!$29%*bqW5 zMmPU-j=At4AvPaoPRga0qOOJ$8k|75A%xrcj-bX$+Eem$=^UGkrAe6)x#EN*P7d^y z0fYunZG7kJOAa{(@${ebz1JI? z{JJyz{oHG~M&Vk~T&l^TogOF#6*{+!&uCPXgc4*;XUs&^(+P)Ddy992qQ&@utj$52JUbz)fZbUYnk^IVAgp!Xu-n@QM>>ThA z^A```NSEk<-VVM-El9PuWB2(dIN&m6|7AgcW*od@&PVZX4STZQFS-aFRIw^6>GGkn z>6@Zr2zfi}U)b96&{n$2jnl}exQwdi@Fh=>JG)~+#M9i-5WZ)4Aig2#i3tLx2*;~J zV%@Q^u>x&2S!Fc;PkR!34w4Rzjt`5?-46$=zSUPl5#q8C$hYs`Pl7TsGMI%D?(Rz1 zz$c8gtvz=U0x*PiG=$|JkP)6~$d)#l9XBI_f%@Z$OSDh|EjnVyJAwn2&|e4dw_32N zqchE299JcdLD<|31}@l6K_Z~!b%1)lM0_*gQ_k&4&FIXQS!?F9$Z943$dkq|n1>gx zI1%PP1w8>pt&5%ZfcTAt*T@hCC28mx?y*?+&pLLYgfRBea~z!M!2<9oLb&@*c!9e! zZS1rmLJ529|2_r@=7PC_O}eLsWgppL&?}0l|3*hY>FL{6K>5@_RU-Qsbi_A1t@KvB zE(x zQKZ3M1E_OG?7SUYq$C=2DUPVJ%FudtMcZDkzP@-TiNpiu{BQ|gS-d2mD+R7tb5~ac z&`k|-IauQVEONm%(cy`jtA`a?Q!Kz6HWH)668kZ>@mSwM1pj-!pdlVHy~%*xC-ps(eaFbis2}9Cu=~Ja zZ*kkg1k&6w&A&zBoSNf`%8CVYKHn!ZteD?3Y_BdZ+AcIb;DK_4zhiUlg}yoT83Y1W zt^u6pM=w6|0D|DLI(B4faF<2t&Ekh6$oCNxd3^bjQ~4D&41rHA%r;xcgdH8R8W)Tc zXc4Uw#o4$}#CB4(urqx4f`2Mj!_En# zoXB4dcD&MLx691U`qBT2Kk2$`@JI;v|FDCgf)A_vx+>{^eH^jU^$V{z58OduF~4wf zaOA~q04)cLe^G3^v1)J25gjk3l@}j(|($0}fYAA+WbvU`m<9AEUwTQTX?tD*! zhQTlDKCRJ)q(L_ZA0H+!58C^#%gf5XwY9}&WswcnePoGs0TSA?*U&yMhuz4SiajM& zf`IPIcYNeiDcy?>MJBc0Z>xXpbf4uO?Z+5Cp_xMoA&?GGC29tk?LaZ|_(zmJF2p?y zeIk@d^Ag5x0?#wFnmF~U2&Y;A^46-*0jy)7VW*=DM35SEhR?)WjBp)iUP)qMP}%fD zoKi=>;ZaE0zWall@sy-M_2cxE2e6aCEA99Qc^^`!=ZVEM3ks~=Ni-Biwq}v(RHcA! zpvjAp+SR(Rt{eXzO)_9Tg2V)N0Dn+(F~tXK>EvW$YGfoPOo2O37MY|JqnXSAS`0tR z(?hU(xm5e5q=OUYr0eGphw4}|Mm^Nq%}Md)l4_3r2yskd?TV0#;Wfg>WkS)g5uh7? zr=MLn@`HZT-8NhR7_Zj*-p~*};L(BxIll|&c)W!R-TYKC3cTW>)KI8+asIvubK= zJg~e^k=lU>0r2DNsl>qW6rkj}eenXl7k|zUg_oE2i(b{F4h~8qWc6xqB>(+gt#|th zwClJR%i8@Gkpdzar4z+4-@*idU>1 zVw=s!$tNip6g8^B^HAG$%Vy$t!0)iqg(FSG#jQ1lLZ|}%M#4-%;@5L?D z0rt3$#o6KF(_DMg_owThEn8mR=iuZFnm_9ZA{{zm|HStM4j%v;pNT`f8xMIo#YKX=%^d+1WKSfB@s#SQhVxi#dHDf$rQ>Co;Un0CK~{dR0I8)RqDd z+c=(IJ2*RA`1#%O54lQs17)uRNVLmzaiSvv!%;~* z%|NYC+IQF^Cr;K44xT1knvEjZ1v3xs??Ps1E@qIs|mroTTL6BXj19#Q=e-9?F)m27YC++o4=^s}QKyw_G;ZF0fV^`@50~=Bn14y=vZuKZX+t6~>I- zayv|q4p8yFjmpmhz-Sp5Bm&~1nfdt&tw!p4V{!x>rd=PYJ5G`ASKvWWAX9BlBoA1d z01GoXdrstG9A%qrW^kE+(N%F0^dEMgq=eh%a6m3gTkXFqLr^g4#fuk1JKNi_?4yrV zO1t0LRYt=phB_4xwa}rSQ}vDw**LRs90;~5uNE$5D5Q^z1&)MK=t2=?#DNA3bgHt8 zKeZ2Zv^UgPzTdUQprYWRpHS1<8uaZIz(*EZKsyvzb~7Nj+GzOl<{koic?ExeK;rDa z=b6YAj{;qBU@QIY2aKp~Fy>%R$^?>k;AR3SD!>@d3S90AxO)Ng!@Qpkz)u9^Q?wmn z1cOa*<_sQrAIO-4p7r-JptA|wPr*P6hZL1!$ed^hxMyJ@Dk6;lV(bVpCyh)e;a5W% zVsw5@F$5G=KGV=}VegZo?z8-iHY34zqo~nmvk|*x=?}OwOI7y%e48kCiVkE+K@LAr zrVs)l#f@t5Iv`hn+T~O4_9f5YWM-6T)Rb~8iv)HaSg=&(t%jY=&T4U6(W7rBwLurd zN%ZX^Lq{9^NdKI;*4CS)-rin&X?%ZkA&Q?H-^E;ySTQ~(zb~Re-!*B<&7}<2LVjs{ z)?ddCwkzoTCqfZ}zCQWH5{u7(Av@FGWL`im_bH493+IqqOu8rDjqE~!I^r|=mpWBQF&u%C>(BQ;M*mmz^z}bMVE|gnS~LKivzi=fdq?MY52DEd zqN1XXqjkR$DTGgB4i4@Zj-^0&_|LqPRpF}+xvJ&_4|jP@zhg)DpH{$^-@Ry?eF4NT zfTkvB9U}Lu&?)-Kov;CH#PGe0QaS+{s+TI^$`raAzGZ1&B3TW~AH&AjUrXeh3RKd< zFX3d7AwbU>xZ_{Hew}nRPG(^2-f3$ALd7P5H&z{wOYjdnr&cXBaUDfwKs*=h?>W2Y zz^etrwFwp;B9u#$DZdGwMH0^Lz#&^aoBoX#hn4^dE>Uf%t2=!OYhvCIdZdIjpaqjQ zmF=ww6H`Eu6qoyG(1&B+1E2awlVe+NRyYbU|KRWd!g(l-CT%iHEZ7J1#tOwo@+49d zSG4b69l!lCvgKl7hk4M*&r%Vm{?n~g8v~dE@NIj6ZZT+;NHMRgn7tc}e*uPof}&HH zHU2EOy4y4_ne`OtZ~(s*vvJQB+=gI782(Y&xlCHmZSjQvayKWH@B<>F#?)&*oX0(* zzw-kw7dh>-FIQD(*i&cf@E3W9xv)W5x~ZvYnyUZ->Pdhj8~qOVeMR`z7NeNw8Y^gS zxH8M$5`AoPge@#B^^WHV0%42EJrA(E#h|j?t5F+5(SJR^T!^rBnruJ6k3<*7jeker z)ri?;2)e!$3N;I0#emqg7*HqZ=Fe(Vzu4dEzTM!F zgZ%?M&_H`E`EsQCRcLagw|PI84GHEhAY50litJ^PN{p<7FA9pZpyz*@hf}(I=Ep!B zi7OBRGV1t105&m*OgnlC4J)*d;_;(t(9i2Z_G2UaG5@yfX$U-b=TT|^H8CCva1-jG z5~B#$ZMNA#?@3V=n9!1DP!ylZ0nxK@y%*_o(#^0^UJ&vA7#qXZ)7L)%37mI6J~tWB z1*=D|=aZH-n;iRGDOze&x;sqp{`?~Txx dF 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ø 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�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�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

    RJl8^9;1tOTNCdr_+({c>8dbweKNjjMf6a803lF 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 QHNVXNy-WZ9S4<%MKXP6;u;O9| znq829DcYdRQCW_qShBC|lT(pIyJ9Kl=%k9ASpF;N&UPK0(>Zc%N3tVD)?MUF&MCVp zPEPjO(tX`;X8!?EiQ}rfc**T~-LGGFzkdDty_tE7gSUKyJVfNh_pP^xK94JZ1_dq; z7E#^&t}isx)1l|re_lKA{QB|fOx~EattmS>W2BO~oK-L;Ov9eb8JV0he0a>5vC?Lu zsVRJwBl^e)(E-gvUkS}wH^z{u|1JMakf{OZ;)3_S=F5*kHLdv?bn+a^ce4Yga zoj)EL{B36C|D~&gG6|nF%Y6fi38Yx^&uqP0wgNPusA zbX`Sz`!^KwMWm`5?wyCv6IRTEj z60KR+oqCu5z3*Z~j~lqy?}8p{Jrf+6)3{>PBc9H*Re5Qi8ZaSkzzOKqD!zJxZ{RO#{PG`qSu>W&ITm(qneFV|WVPi$+Q zcw+LB@#Lq`DjOcDYXhRnH6mDUgziBgVLbgPc;gsliKs($$n2xtRl1rzkF?d9S^E?MsJPp z1X;IVLC@mg2w(oD7JE~R?^4WXu?{LpQh;bIiHaZv5U@Hbf)qf&LZ}E*00E1lB1i!Q ztP6@D1rU&Q6+sFhVAWIvDS&_#R1u^A0+vffkir_Qk6+>in*EPR!ty!-*cH~_^=5oK zO0kYS!jYHvun(cV8Re_>_yB4;v9$9w4i|^@m~iXyE+8@cD)6dMjRqsZSUdshmA9zy zj09Wb2+Qz=NKh@Q@jliFsr`IyQZn)!ew(3!1?CMP(NH8*B%phKR6?%5Gp??sEkUDS z59;wPs0+l00F~97Z`R}33HhVpShQjDa3maQc&I5SZE(HhQa z7*}{P;_>S79pK9&p@gAR4bgvsN;Qq6{)j*3x4?oiake=Q(;FowD2;h8Kr^pVeqSCL z)87!VFctl+TLbz^8UKKVIqZ-6UVa=l_&fc6WoKisX~%g`lS6mzKh1_@ z*TOTWeCraj5Dw15EJ0*n1zrSAtE|n@P%IkWY(zql@Iz5_kUNDnxwJuwgfT*4jB*Gg z^kT@uY7uS<^)0;h)?1FTb_WDTeXmf&*P&tKq*F89IZsF<>hu2h)5Gweb_<7j*zN?k zuC}Gv!C{BN>%fG=t3t2~VaFlXxxxue!@*Z61ML%#QD$Qd`xfB`ABStF%lF@_`C2

    + Guard class, used for guard clauses and argument validation + + + + + + + + + + + + + + Wraps calls to the Executor. Used by runners to perform version-resilient test + enumeration and execution. + + + + + Wraps calls to the Executor. Used by runners to perform version-resilient test + enumeration and execution. + + + + + Enumerates the tests in an assembly. + + The fully-formed assembly node of the XML + + + + Gets a count of the tests in the assembly. + + Returns the number of tests, if known; returns -1 if not known. May not represent + an exact count, but should be a best effort guess by the framework. + + + + Runs all the tests in an assembly. + + The callback which is called as each test/class/assembly is + finished, providing XML nodes that are part of the xUnit.net XML output format. + Test runs can be cancelled by returning false to the callback. If null, there are + no status callbacks (and cancellation isn't possible). + Returns the fully-formed assembly node for the assembly that was just run. + + + + Runs all the tests in the given class. + + The type. + The callback which is called as each test/class is + finished, providing XML nodes that are part of the xUnit.net XML output format. + Test runs can be cancelled by returning false to the callback. If null, there are + no status callbacks (and cancellation isn't possible). + Returns the fully-formed class node for the class that was just run. + + + + Runs a single test in a class. + + The type to run. + The method to run. + The callback which is called as each test/class is + finished, providing XML nodes that are part of the xUnit.net XML output format. + Test runs can be cancelled by returning false to the callback. If null, there are + no status callbacks (and cancellation isn't possible). + Returns the fully-formed class node for the class of the test that was just run. + + + + Runs several tests in a single class. + + The type. + The methods to run. + The callback which is called as each test/class is + finished, providing XML nodes that are part of the xUnit.net XML output format. + Test runs can be cancelled by returning false to the callback. If null, there are + no status callbacks (and cancellation isn't possible). + Returns the fully-formed class node for the class of the tests that were just run. + + + + Gets the full pathname to the assembly under test. + + + + + Gets the full pathname to the configuration file. + + + + + Gets the version of xunit.dll used by the test assembly. + + + + + Initializes the class. + + + + + Initializes a new instance of the class. + + The assembly filename. + The config filename. If null, the default config filename will be used. + Set to true to enable shadow copying; false, otherwise. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + THIS CLASS IS FOR INTERNAL USE ONLY. + + + + + + + + + + + THIS CLASS IS FOR INTERNAL USE ONLY. + + + + + + + + + + + + + + THIS CLASS IS FOR INTERNAL USE ONLY. + + + + + + + + + + + + + + THIS CLASS IS FOR INTERNAL USE ONLY. + + + + + + + + + + + + + + + + + + + + + + + THIS CLASS IS FOR INTERNAL USE ONLY. + + + + + + + + + + + + + + + + + THIS CLASS IS FOR INTERNAL USE ONLY. + + + + + + + + + + + + + + THIS CLASS IS FOR INTERNAL USE ONLY. + + + + + + + + + + + The callback object which receives real-time status notifications from the + test runner. + + + + + Called when the assembly has finished running. + + The test assembly. + The total number of tests run. + The number of failed tests. + The number of skipped tests. + The time taken to run, in seconds. + + + + Called when the assembly has started running. + + The test assembly. + + + + Called when a class failure is encountered (i.e., when a fixture from + IUseFixture throws an exception during construction or . + + The test class. + The full type name of the exception. + The exception message. + The exception stack trace. + + + + + Called when an exception is thrown (i.e., a catastrophic failure of the testing system). + + The test assembly. + The exception that was thrown. + + + + Called when a test has finished running, regardless of what the result was. + + The test method. + Return true to continue running tests; return false to stop the test run. + + + + Called when a test has started running. + + The test method. + Return true to continue running tests; return false to stop the test run. + + + + Represents the ability to load and unload test assemblies, as well as enumerate + the test assemblies, the test methods, and run tests. + + + + + Represents the ability to enumerate and filter test methods. + + + + + Enumerates all test methods. + + + + + Enumerates test methods which pass the given filter. + + The test method filter. + + + + The test assemblies loaded into the environment. + + + + + + + + Enumerates the test assemblies in the environment. + + + + + + + + + + + Enumerates the traits across all the loaded assemblies. + + + + + Loads the specified assembly, using the default configuration file. + + The assembly filename. + The which represents the newly + loaded test assembly. + + + + Loads the specified assembly using the specified configuration file. + + The assembly filename. + The config filename. + The which represents the newly + loaded test assembly. + + + + Loads the specified assembly using the specified configuration file. + + The assembly filename. + The config filename. + Whether the DLLs should be shadow copied. + The which represents the newly + loaded test assembly. + + + + Adds the assembly loaded into the given + into the environment. + + The executor wrapper. + The which represents the newly + loaded test assembly. + + + + Runs the specified test methods. + + The test methods to run. + The run status information callback. + Returns the result as XML. + + + + Unloads the specified assembly. + + The assembly to unload. + + + + Represents a failed test run in the object model. + + + + + Base class for all test results in the object model. + + + + + Initializes a new instance of the class. + + The duration the test took to run. For skipped tests, should be 0.0. + The display name of the test result. + + + + Gets the display name of the test result. + + + + + Gets the duration the test took to run. + + + + + Initializes a new instance of the class. + + The duration the test took to run. + The display name of the test result. + The output that was captured during the test run. + Type of the exception. + The exception message. + The exception stack trace. + + + + Gets the output that was captured during the test run. + + + + + Gets the type of the exception. + + + + + Gets the exception message. + + + + + Gets the exception stack trace. + + + + + Represents a skipped test run in the object model. + + + + + Initializes a new instance of the class. + + The display name of the test result. + The skip reason. + + + + Gets the skip reason. + + + + + Acts as an and adapts the callback messages + into calls to an instance of . + + + + + Represents a logger used by and . + + + + + Called when the assembly has finished running. + + The assembly filename. + The total number of tests run. + The number of failed tests. + The number of skipped tests. + The time taken to run, in seconds. + + + + Called when the assembly has started running. + + The assembly filename. + The configuration filename, if given; null, otherwise. + The version of xunit.dll. + + + + Called when a class failure is encountered (i.e., when a fixture from + IUseFixture throws an exception during construction or . + + The full type name of the class. + The full type name of the exception. + The exception message. + The exception stack trace. + + + + + Called when an exception is thrown (i.e., a catastrophic failure of the testing system). + + The assembly filename. + The exception that was thrown. + + + + Called when a test fails. + + The description name of the test. + The full type name of the test class. + The name of the method. + The time spent running the test, in seconds. + The output of the test during its run. + The full type name of the exception. + The exception message. + The exception stack trace. + + + + Called when a test has finished running, regardless of what the result was. + + The description name of the test. + The full type name of the test class. + The name of the method. + Return true to continue running tests; return false to stop the test run. + + + + Called when a test has passed. + + The description name of the test. + The full type name of the test class. + The name of the method. + The time spent running the test, in seconds. + The output of the test during its run. + + + + Called when a test was finished. + + The description name of the test. + The full type name of the test class. + The name of the method. + The skip reason. + + + + Called when a test has started running. + + The description name of the test. + The full type name of the test class. + The name of the method. + Return true to continue running tests; return false to stop the test run. + + + + Initializes a new instance of the class. + + The test class. + The run status information callback. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a passed test run in the object model. + + + + + Initializes a new instance of the class. + + The duration the test took to run. + The display name of the test result. + The output that was captured during the test run. + + + + Gets the output that was captured during the test run. + + + + + Indicates the composite test method status + + + + + The method has not been run + + + + + All test results for the last run passed + + + + + At least one test result for the last run failed + + + + + At least one test result for the last run was skipped, and none failed + + + + + Represents a set of filters for an . + + + + + Initializes a new instance of the class. + + + + + Filters the given method using the defined filter values. + + The methods to filter. + Returns true if the method passed the filter; return false otherwise. + + + + Gets the set of trait filters for tests to exclude. + + + + + Gets the set of trait filters for tests to include. + + + + + Represents an xUnit Test Project file (.xunit file) + + + + + Initializes a new instance of the class. + + + + + Adds an assembly to the project + + The assembly to be added + + + + Loads an xUnit.net Test Project file from disk. + + The test project filename + + + + Removes assembly from the assembly list + + The assembly to be removed + + + + Saves the xUnit.net Test Project file to disk using the project's filename. + + + + + Saves the xUnit.net Test Project file to disk using the provided filename. + The projects filename is updated to match this new name. + + The test project filename + + + + Gets or sets the assemblies in the project. + + + + + Gets or set the filename of the project. + + + + + Gets the filters applied to this project. + + + + + Gets or sets a flag which indicates if this project has been modified since + the last time it was loaded or saved. + + + + + Represents an assembly in an . + + + + + Initializes a new instance of the class. + + + + + Gets or sets the assembly filename. + + + + + Gets or sets the config filename. + + + + + Gets or sets a value indicating whether to shadow copy the assembly + when running the tests. + + + The xUnit.net GUI runner does not support this field. + + + + + Gets or sets the output filenames. The dictionary key is the type + of the file to be output; the dictionary value is the filename to + write the output to. + + + The xUnit.net GUI runner does not support this field. The MSBuild + runner only supports output of type 'xml', 'html', and 'nunit'. + + + + + Interface which represents a high level test runner. + + + + + Executes the tests in the assembly. + + Returns true if there were no failures; return false otherwise. + + + + Executes the tests in the assembly, and then executes the transforms with the + resulting assembly XML. + + The transforms to execute. + Returns true if there were no failures; return false otherwise. + + + + Runs the class. + + The type. + + + + + Runs a single test in a test class. + + The full name of the class. + The name of the method. + + + + Runs the list of tests in a test class. + + The full name of the class. + The names of the methods to run. + + + + Represents a single test assembly with test classes. + + + + + Initializes a new instance of the class. + + The executor wrapper. + The test classes. + + + + + + + Enumerates the test classes in the assembly. + + + + + + + + + + + Runs the specified test methods. + + The test methods to run. + The run status information callback. + Returns the result as XML. + + + + Gets the assembly filename. + + + + + Gets the config filename. + + + + + Gets the executor wrapper. + + + + + Gets the version of xunit.dll that the tests are linked against. + + + + + Represents a single class with test methods. + + + + + Initializes a new instance of the class. + + The namespace-qualified type name that + this class represents. + The test methods inside this test class. + + + + + + + + + + Runs the specified test methods. + + The test methods to run. + The run status information callback. + Returns the result as XML. + + + + Runs the specified tests in the given type, calling the callback as appropriate. + This override point exists primarily for unit testing purposes. + + The test methods to run + The run status information callback. + + + + Gets the test assembly that this class belongs to. + + + + + Gets the namespace-qualified type name of this class. + + + + + Represents a single test method. + + + + + Initializes a new instance of the class. + + The method name. + The method's display name. + The method's traits. + + + + Gets the method's display name. + + + + + Gets the method's name. + + + + + Gets the run results for the last run. + + + + + Gets the composite run status for all the results of the last run. + + + + + Gets the test class this test method belongs to. + + + + + Gets the method's traits. + + + + + The result of a test run via . + + + + + All tests passed, with no class-level failures + + + + + At least one test failed, or there was a class-level failure + + + + + There were no tests to run + + + + + Represents a transformation of the resulting assembly XML into some output format. + + + + + Transforms the given assembly XML into the destination format. + + The assembly XML. + + + + Gets the output filename, if known; returns null if the output isn't done to file. + + + + + Runs tests in an assembly, and transforms the XML results into calls to + the provided . + + + + + Initializes a new instance of the class. + + The executor wrapper. + The logger. + + + + + + + + + + + + + + + + + + + An implementation of which writes the + XML to a file without any transformation applied. + + + + + Initializes a new instance of the class. + + The output filename. + + + + + + + + + + An implementation of which writes the + XML to a file after applying the XSL stylesheet in the given stream. + + + + + Initializes a new instance of the class. + + The XSL filename. + The output filename. + + + + Initializes a new instance of the class. + + The stream with the XSL stylesheet. + The output filename. + + + + + + + + + + Gets or sets the XSL filename. + + + + + Gets or sets the XSL stream. + + + + + A dictionary which contains multiple unique values for each key. + + The type of the key. + The type of the value. + + + + Adds the value for the given key. If the key does not exist in the + dictionary yet, it will add it. + + The key. + The value. + + + + Removes all keys and values from the dictionary. + + + + + Determines whether the dictionary contains to specified key and value. + + The key. + The value. + + + + Calls the delegate once for each key/value pair in the dictionary. + + + + + Removes the given key and all of its values. + + + + + Removes the given value from the given key. If this was the + last value for the key, then the key is removed as well. + + The key. + The value. + + + + Gets the values for the given key. + + + + + Gets the count of the keys in the dictionary. + + + + + Gets the keys. + + + + + + + + Responsible for building instances. Uses an instance + of to interrogate the list of available tests + and create the entire object model tree. + + + + + Creates a which is a complete object model over + the tests inside of instance of . + + The executor wrapper + The fully populated object model + + + + Parses the XML nodes from the version resilient runner facility and converts + them into calls against the provided . + + + + + Logs a result XML node. Maybe be any kind of XML node. + + The node to be logged. + The logger. + Returns true if the user wishes to continue running tests; returns false otherwise. + + + + Logs the assembly node by calling . + + The assembly node. + The logger. + + + + Logs the class node by calling (if the class failed). + The exception type was added in xUnit.net 1.1, so when the test assembly is linked against + xUnit.net versions prior to 1.1, the exception type will be null. + + The class node. + The logger. + Returns true if the user wishes to continue running tests; returns false otherwise. + + + + Logs the start node by calling . The start node was added + in xUnit.net 1.1, so it will only be present when the test assembly is linked against xunit.dll + version 1.1 or later. + + The start node. + The logger. + Returns true if the user wishes to continue running tests; returns false otherwise. + + + + Logs the test node by calling . It will also call + , , or + as appropriate. + + The test node. + The logger. + Returns true if the user wishes to continue running tests; returns false otherwise. + + + diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.xml b/test-harness/packagesNonNuget/xunit.runner/xunit.xml new file mode 100644 index 000000000..d8b316f50 --- /dev/null +++ b/test-harness/packagesNonNuget/xunit.runner/xunit.xml @@ -0,0 +1,2611 @@ + + + + xunit + + + + + Contains various static methods that are used to verify that conditions are met during the + process of running tests. + + + + + Initializes a new instance of the class. + + + + + Verifies that a collection contains a given object. + + The type of the object to be verified + The object expected to be in the collection + The collection to be inspected + Thrown when the object is not present in the collection + + + + Verifies that a collection contains a given object, using an equality comparer. + + The type of the object to be verified + The object expected to be in the collection + The collection to be inspected + The comparer used to equate objects in the collection with the expected object + Thrown when the object is not present in the collection + + + + Verifies that a string contains a given sub-string, using the current culture. + + The sub-string expected to be in the string + The string to be inspected + Thrown when the sub-string is not present inside the string + + + + Verifies that a string contains a given sub-string, using the given comparison type. + + The sub-string expected to be in the string + The string to be inspected + The type of string comparison to perform + Thrown when the sub-string is not present inside the string + + + + Verifies that a collection does not contain a given object. + + The type of the object to be compared + The object that is expected not to be in the collection + The collection to be inspected + Thrown when the object is present inside the container + + + + Verifies that a collection does not contain a given object, using an equality comparer. + + The type of the object to be compared + The object that is expected not to be in the collection + The collection to be inspected + The comparer used to equate objects in the collection with the expected object + Thrown when the object is present inside the container + + + + Verifies that a string does not contain a given sub-string, using the current culture. + + The sub-string which is expected not to be in the string + The string to be inspected + Thrown when the sub-string is present inside the string + + + + Verifies that a string does not contain a given sub-string, using the current culture. + + The sub-string which is expected not to be in the string + The string to be inspected + The type of string comparison to perform + Thrown when the sub-string is present inside the given string + + + + Verifies that a block of code does not throw any exceptions. + + A delegate to the code to be tested + + + + Verifies that a collection is empty. + + The collection to be inspected + Thrown when the collection is null + Thrown when the collection is not empty + + + + Verifies that two objects are equal, using a default comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + Thrown when the objects are not equal + + + + Verifies that two objects are equal, using a custom equatable comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + The comparer used to compare the two objects + Thrown when the objects are not equal + + + + Verifies that two values are equal, within the number of decimal + places given by . + + The expected value + The value to be compared against + The number of decimal places (valid values: 0-15) + Thrown when the values are not equal + + + + Verifies that two values are equal, within the number of decimal + places given by . + + The expected value + The value to be compared against + The number of decimal places (valid values: 0-15) + Thrown when the values are not equal + + + + Verifies that two sequences are equivalent, using a default comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + Thrown when the objects are not equal + + + + Verifies that two sequences are equivalent, using a custom equatable comparer. + + The type of the objects to be compared + The expected value + The value to be compared against + The comparer used to compare the two objects + Thrown when the objects are not equal + + + Do not call this method. + + + + Verifies that the condition is false. + + The condition to be tested + Thrown if the condition is not false + + + + Verifies that the condition is false. + + The condition to be tested + The message to show when the condition is not false + Thrown if the condition is not false + + + + Verifies that a value is within a given range. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + Thrown when the value is not in the given range + + + + Verifies that a value is within a given range, using a comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + The comparer used to evaluate the value's range + Thrown when the value is not in the given range + + + + Verifies that an object is of the given type or a derived type. + + The type the object should be + The object to be evaluated + The object, casted to type T when successful + Thrown when the object is not the given type + + + + Verifies that an object is of the given type or a derived type. + + The type the object should be + The object to be evaluated + Thrown when the object is not the given type + + + + Verifies that an object is not exactly the given type. + + The type the object should not be + The object to be evaluated + Thrown when the object is the given type + + + + Verifies that an object is not exactly the given type. + + The type the object should not be + The object to be evaluated + Thrown when the object is the given type + + + + Verifies that an object is exactly the given type (and not a derived type). + + The type the object should be + The object to be evaluated + The object, casted to type T when successful + Thrown when the object is not the given type + + + + Verifies that an object is exactly the given type (and not a derived type). + + The type the object should be + The object to be evaluated + Thrown when the object is not the given type + + + + Verifies that a collection is not empty. + + The collection to be inspected + Thrown when a null collection is passed + Thrown when the collection is empty + + + + Verifies that two objects are not equal, using a default comparer. + + The type of the objects to be compared + The expected object + The actual object + Thrown when the objects are equal + + + + Verifies that two objects are not equal, using a custom equality comparer. + + The type of the objects to be compared + The expected object + The actual object + The comparer used to examine the objects + Thrown when the objects are equal + + + + Verifies that two sequences are not equivalent, using a default comparer. + + The type of the objects to be compared + The expected object + The actual object + Thrown when the objects are equal + + + + Verifies that two sequences are not equivalent, using a custom equality comparer. + + The type of the objects to be compared + The expected object + The actual object + The comparer used to compare the two objects + Thrown when the objects are equal + + + + Verifies that a value is not within a given range, using the default comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + Thrown when the value is in the given range + + + + Verifies that a value is not within a given range, using a comparer. + + The type of the value to be compared + The actual value to be evaluated + The (inclusive) low value of the range + The (inclusive) high value of the range + The comparer used to evaluate the value's range + Thrown when the value is in the given range + + + + Verifies that an object reference is not null. + + The object to be validated + Thrown when the object is not null + + + + Verifies that two objects are not the same instance. + + The expected object instance + The actual object instance + Thrown when the objects are the same instance + + + + Verifies that an object reference is null. + + The object to be inspected + Thrown when the object reference is not null + + + + Verifies that the provided object raised INotifyPropertyChanged.PropertyChanged + as a result of executing the given test code. + + The object which should raise the notification + The property name for which the notification should be raised + The test code which should cause the notification to be raised + Thrown when the notification is not raised + + + + Verifies that two objects are the same instance. + + The expected object instance + The actual object instance + Thrown when the objects are not the same instance + + + + Verifies that the given collection contains only a single + element of the given type. + + The collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the given collection contains only a single + element of the given value. The collection may or may not + contain other values. + + The collection. + The value to find in the collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the given collection contains only a single + element of the given type. + + The collection type. + The collection. + The single item in the collection. + Thrown when the collection does not contain + exactly one element. + + + + Verifies that the given collection contains only a single + element of the given type which matches the given predicate. The + collection may or may not contain other values which do not + match the given predicate. + + The collection type. + The collection. + The item matching predicate. + The single item in the filtered collection. + Thrown when the filtered collection does + not contain exactly one element. + + + + Verifies that the exact exception is thrown (and not a derived exception type). + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + Generally used to test property accessors. + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that the exact exception is thrown (and not a derived exception type). + Generally used to test property accessors. + + The type of the exception expected to be thrown + A delegate to the code to be tested + The exception that was thrown, when successful + Thrown when an exception was not thrown, or when an exception of the incorrect type is thrown + + + + Verifies that an expression is true. + + The condition to be inspected + Thrown when the condition is false + + + + Verifies that an expression is true. + + The condition to be inspected + The message to be shown when the condition is false + Thrown when the condition is false + + + + Used by the PropertyChanged. + + + + + Used by the Throws and DoesNotThrow methods. + + + + + Used by the Throws and DoesNotThrow methods. + + + + + This command sets up the necessary trace listeners and standard + output/error listeners to capture Assert/Debug.Trace failures, + output to stdout/stderr, and Assert/Debug.Write text. It also + captures any exceptions that are thrown and packages them as + FailedResults, including the possibility that the configuration + file is messed up (which is exposed when we attempt to manipulate + the trace listener list). + + + + + Base class used by commands which delegate to inner commands. + + + + + Interface which represents the ability to invoke of a test method. + + + + + Executes the test method. + + The instance of the test class + Returns information about the test run + + + + Creates the start XML to be sent to the callback when the test is about to start + running. + + Return the of the start node, or null if the test + is known that it will not be running. + + + + Gets the display name of the test method. + + + + + Determines if the test runner infrastructure should create a new instance of the + test class before running the test. + + + + + Determines if the test should be limited to running a specific amount of time + before automatically failing. + + The timeout value, in milliseconds; if zero, the test will not have + a timeout. + + + + Creates a new instance of the class. + + The inner command to delegate to. + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the + class. + + The command that will be wrapped. + The test method. + + + + + + + Represents an implementation of to be used with + tests which are decorated with the . + + + + + Represents an xUnit.net test command. + + + + + The method under test. + + + + + Initializes a new instance of the class. + + The method under test. + The display name of the test. + The timeout, in milliseconds. + + + + + + + + + + + + + Gets the name of the method under test. + + + + + + + + + + + Gets the name of the type under test. + + + + + Initializes a new instance of the class. + + The test method. + + + + + + + Base class for exceptions that have actual and expected values + + + + + The base assert exception class + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The user message to be displayed + + + + Initializes a new instance of the class. + + The user message to be displayed + The inner exception + + + + Initializes a new instance of the class. + + The user message to be displayed + The stack trace to be displayed + + + + + + + Determines whether to exclude a line from the stack frame. By default, this method + removes all stack frames from methods beginning with Xunit.Assert or Xunit.Sdk. + + The stack frame to be filtered. + Return true to exclude the line from the stack frame; false, otherwise. + + + + Filters the stack trace to remove all lines that occur within the testing framework. + + The original stack trace + The filtered stack trace + + + + + + + Gets a string representation of the frames on the call stack at the time the current exception was thrown. + + A string that describes the contents of the call stack, with the most recent method call appearing first. + + + + Gets the user message + + + + + Creates a new instance of the class. + + The expected value + The actual value + The user message to be shown + + + + Creates a new instance of the class. + + The expected value + The actual value + The user message to be shown + Set to true to skip the check for difference position + + + + + + + + + + Gets the actual value. + + + + + Gets the expected value. + + + + + Gets a message that describes the current exception. Includes the expected and actual values. + + The error message that explains the reason for the exception, or an empty string(""). + 1 + + + + Exception thrown when a collection unexpectedly does not contain the expected value. + + + + + Creates a new instance of the class. + + The expected object value + + + + Creates a new instance of the class. + + The expected object value + The actual value + + + + + + + Exception to be thrown from when the number of + parameter values does not the test method signature. + + + + + + + + + + + Exception thrown when code unexpectedly fails change a property. + + + + + Creates a new instance of the class. Call this constructor + when no exception was thrown. + + The name of the property that was expected to be changed. + + + + + + + Exception thrown when the collection did not contain exactly one element. + + + + + Initializes a new instance of the class. + + The numbers of items in the collection. + + + + Initializes a new instance of the class. + + The numbers of items in the collection. + The object expected to be in the collection. + + + + + + + Internal class used for version-resilient test runners. DO NOT CALL DIRECTLY. + Version-resilient runners should link against xunit.runner.utility.dll and use + ExecutorWrapper instead. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Exception thrown when the value is unexpectedly not of the given type or a derived type. + + + + + Creates a new instance of the class. + + The expected type + The actual object value + + + + + + + Allows the user to record actions for a test. + + + + + Records any exception which is thrown by the given code. + + The code which may thrown an exception. + Returns the exception that was thrown by the code; null, otherwise. + + + + Records any exception which is thrown by the given code that has + a return value. Generally used for testing property accessors. + + The code which may thrown an exception. + Returns the exception that was thrown by the code; null, otherwise. + + + + Exception that is thrown when one or more exceptions are thrown from + the After method of a . + + + + + Initializes a new instance of the class. + + The exceptions. + + + + Initializes a new instance of the class. + + The exceptions. + + + + + + + + + + Gets the list of exceptions thrown in the After method. + + + + + Gets a message that describes the current exception. + + + + + Gets a string representation of the frames on the call stack at the time the current exception was thrown. + + + + + Implementation of which executes the + instances attached to a test method. + + + + + Initializes a new instance of the class. + + The inner command. + The method. + + + + Executes the test method. + + The instance of the test class + Returns information about the test run + + + + This class supports the xUnit.net infrastructure and is not intended to be used + directly from your code. + + + + + This API supports the xUnit.net infrastructure and is not intended to be used + directly from your code. + + + + + This API supports the xUnit.net infrastructure and is not intended to be used + directly from your code. + + + + + This API supports the xUnit.net infrastructure and is not intended to be used + directly from your code. + + + + + Guard class, used for guard clauses and argument validation + + + + + + + + + + + + + + Base class which contains XML manipulation helper methods + + + + + Interface that represents a single test result. + + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + The amount of time spent in execution + + + + + Adds the test execution time to the XML node. + + The XML node. + + + + + + + + + + Utility methods for dealing with exceptions. + + + + + Gets the message for the exception, including any inner exception messages. + + The exception + The formatted message + + + + Gets the stack trace for the exception, including any inner exceptions. + + The exception + The formatted stack trace + + + + Rethrows an exception object without losing the existing stack trace information + + The exception to re-throw. + + For more information on this technique, see + http://www.dotnetjunkies.com/WebLog/chris.taylor/archive/2004/03/03/8353.aspx + + + + + A dictionary which contains multiple unique values for each key. + + The type of the key. + The type of the value. + + + + Adds the value for the given key. If the key does not exist in the + dictionary yet, it will add it. + + The key. + The value. + + + + Removes all keys and values from the dictionary. + + + + + Determines whether the dictionary contains to specified key and value. + + The key. + The value. + + + + Calls the delegate once for each key/value pair in the dictionary. + + + + + Removes the given key and all of its values. + + + + + Removes the given value from the given key. If this was the + last value for the key, then the key is removed as well. + + The key. + The value. + + + + Gets the values for the given key. + + + + + Gets the count of the keys in the dictionary. + + + + + Gets the keys. + + + + + + + + XML utility methods + + + + + Adds an attribute to an XML node. + + The XML node. + The attribute name. + The attribute value. + + + + Adds a child element to an XML node. + + The parent XML node. + The child element name. + The new child XML element. + + + + Sets the inner text of the XML node, properly escaping it as necessary. + + The element whose inner text will be set. + The inner text to be escaped and then set. + + + + Exception that is thrown when a call to Debug.Assert() fails. + + + + + Creates a new instance of the class. + + The original assert message + + + + Creates a new instance of the class. + + The original assert message + The original assert detailed message + + + + + + + + + + Gets the original assert detailed message. + + + + + Gets the original assert message. + + + + + Gets a message that describes the current exception. + + + + + Exception thrown when a collection unexpectedly contains the expected value. + + + + + Creates a new instance of the class. + + The expected object value + + + + + + + Exception thrown when code unexpectedly throws an exception. + + + + + Creates a new instance of the class. + + Actual exception + + + + THIS CONSTRUCTOR IS FOR UNIT TESTING PURPOSES ONLY. + + + + + + + + + + + Gets a string representation of the frames on the call stack at the time the current exception was thrown. + + A string that describes the contents of the call stack, with the most recent method call appearing first. + + + + Exception thrown when a collection is unexpectedly not empty. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when two values are unexpectedly not equal. + + + + + Creates a new instance of the class. + + The expected object value + The actual object value + + + + Creates a new instance of the class. + + The expected object value + The actual object value + Set to true to skip the check for difference position + + + + + + + Exception thrown when a value is unexpectedly true. + + + + + Creates a new instance of the class. + + The user message to be display, or null for the default message + + + + + + + Exception thrown when a value is unexpectedly not in the given range. + + + + + Creates a new instance of the class. + + The actual object value + The low value of the range + The high value of the range + + + + + + + + + + Gets the actual object value + + + + + Gets the high value of the range + + + + + Gets the low value of the range + + + + + Gets a message that describes the current exception. + + The error message that explains the reason for the exception, or an empty string(""). + + + + Exception thrown when the value is unexpectedly of the exact given type. + + + + + Creates a new instance of the class. + + The expected type + The actual object value + + + + + + + Exception thrown when the value is unexpectedly not of the exact given type. + + + + + Creates a new instance of the class. + + The expected type + The actual object value + + + + + + + Used to decorate xUnit.net test classes that utilize fixture classes. + An instance of the fixture data is initialized just before the first + test in the class is run, and if it implements IDisposable, is disposed + after the last test in the class is run. + + The type of the fixture + + + + Called on the test class just before each test method is run, + passing the fixture data so that it can be used for the test. + All test runs share the same instance of fixture data. + + The fixture data + + + + Exception thrown when a value is unexpectedly in the given range. + + + + + Creates a new instance of the class. + + The actual object value + The low value of the range + The high value of the range + + + + + + + + + + Gets the actual object value + + + + + Gets the high value of the range + + + + + Gets the low value of the range + + + + + Gets a message that describes the current exception. + + The error message that explains the reason for the exception, or an empty string(""). + + + + Base attribute which indicates a test method interception (allows code to be run before and + after the test is run). + + + + + This method is called after the test method is executed. + + The method under test + + + + This method is called before the test method is executed. + + The method under test + + + + + + + Exception thrown when a collection is unexpectedly empty. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when two values are unexpectedly equal. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when an object is unexpectedly null. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when two values are unexpected the same instance. + + + + + Creates a new instance of the class. + + + + + + + + Exception thrown when an object reference is unexpectedly not null. + + + + + Creates a new instance of the class. + + + + + + + + + Command that automatically creates the instance of the test class + and disposes it (if it implements ). + + + + + Creates a new instance of the object. + + The command that is bring wrapped + The method under test + + + + Executes the test method. Creates a new instance of the class + under tests and passes it to the inner command. Also catches + any exceptions and converts them into s. + + The instance of the test class + Returns information about the test run + + + + Command used to wrap a which has associated + fixture data. + + + + + Creates a new instance of the class. + + The inner command + The fixtures to be set on the test class + + + + Sets the fixtures on the test class by calling SetFixture, then + calls the inner command. + + The instance of the test class + Returns information about the test run + + + + A timer class used to figure out how long tests take to run. On most .NET implementations + this will use the class because it's a high + resolution timer; however, on Silverlight/CoreCLR, it will use + (which will provide lower resolution results). + + + + + Creates a new instance of the class. + + + + + Starts timing. + + + + + Stops timing. + + + + + Gets how long the timer ran, in milliseconds. In order for this to be valid, + both and must have been called. + + + + + Attribute used to decorate a test method with arbitrary name/value pairs ("traits"). + + + + + Creates a new instance of the class. + + The trait name + The trait value + + + + Gets the trait name. + + + + + + + + Gets the trait value. + + + + + Runner that executes an synchronously. + + + + + Execute the . + + The test class command to execute + The methods to execute; if null or empty, all methods will be executed + The start run callback + The end run result callback + A with the results of the test run + + + + Factory for objects, based on the type under test. + + + + + Creates the test class command, which implements , for a given type. + + The type under test + The test class command, if the class is a test class; null, otherwise + + + + Creates the test class command, which implements , for a given type. + + The type under test + The test class command, if the class is a test class; null, otherwise + + + + Represents an xUnit.net test class + + + + + Interface which describes the ability to executes all the tests in a test class. + + + + + Allows the test class command to choose the next test to be run from the list of + tests that have not yet been run, thereby allowing it to choose the run order. + + The tests remaining to be run + The index of the test that should be run + + + + Execute actions to be run after all the test methods of this test class are run. + + Returns the thrown during execution, if any; null, otherwise + + + + Execute actions to be run before any of the test methods of this test class are run. + + Returns the thrown during execution, if any; null, otherwise + + + + Enumerates the test commands for a given test method in this test class. + + The method under test + The test commands for the given test method + + + + Enumerates the methods which are test methods in this test class. + + The test methods + + + + Determines if a given refers to a test method. + + The test method to validate + True if the method is a test method; false, otherwise + + + + Gets the object instance that is under test. May return null if you wish + the test framework to create a new object instance for each test method. + + + + + Gets or sets the type that is being tested + + + + + Creates a new instance of the class. + + + + + Creates a new instance of the class. + + The type under test + + + + Creates a new instance of the class. + + The type under test + + + + Chooses the next test to run, randomly, using the . + + The tests remaining to be run + The index of the test that should be run + + + + Execute actions to be run after all the test methods of this test class are run. + + Returns the thrown during execution, if any; null, otherwise + + + + Execute actions to be run before any of the test methods of this test class are run. + + Returns the thrown during execution, if any; null, otherwise + + + + Enumerates the test commands for a given test method in this test class. + + The method under test + The test commands for the given test method + + + + Enumerates the methods which are test methods in this test class. + + The test methods + + + + Determines if a given refers to a test method. + + The test method to validate + True if the method is a test method; false, otherwise + + + + Gets the object instance that is under test. May return null if you wish + the test framework to create a new object instance for each test method. + + + + + Gets or sets the randomizer used to determine the order in which tests are run. + + + + + Sets the type that is being tested + + + + + Implementation of that represents a skipped test. + + + + + Creates a new instance of the class. + + The method that is being skipped + The display name for the test. If null, the fully qualified + type name is used. + The reason the test was skipped. + + + + + + + + + + Gets the skip reason. + + + + + + + + Factory for creating objects. + + + + + Make instances of objects for the given class and method. + + The class command + The method under test + The set of objects + + + + A command wrapper which times the running of a command. + + + + + Creates a new instance of the class. + + The command that will be timed. + + + + Executes the inner test method, gathering the amount of time it takes to run. + + Returns information about the test run + + + + Wraps a command which should fail if it runs longer than the given timeout value. + + + + + Creates a new instance of the class. + + The command to be run + The timout, in milliseconds + The method under test + + + + Executes the test method, failing if it takes too long. + + Returns information about the test run + + + + + + + Attributes used to decorate a test fixture that is run with an alternate test runner. + The test runner must implement the interface. + + + + + Creates a new instance of the class. + + The class which implements ITestClassCommand and acts as the runner + for the test fixture. + + + + Gets the test class command. + + + + + Exception thrown when two object references are unexpectedly not the same instance. + + + + + Creates a new instance of the class. + + The expected object reference + The actual object reference + + + + + + + Contains the test results from an assembly. + + + + + Contains multiple test results, representing them as a composite test result. + + + + + Adds a test result to the composite test result list. + + + + + + Gets the test results. + + + + + Creates a new instance of the class. + + The filename of the assembly + + + + Creates a new instance of the class. + + The filename of the assembly + The configuration filename + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets the fully qualified filename of the configuration file. + + + + + Gets the directory where the assembly resides. + + + + + Gets the number of failed results. + + + + + Gets the fully qualified filename of the assembly. + + + + + Gets the number of passed results. + + + + + Gets the number of skipped results. + + + + + Contains the test results from a test class. + + + + + Creates a new instance of the class. + + The type under test + + + + Creates a new instance of the class. + + The simple name of the type under test + The fully qualified name of the type under test + The namespace of the type under test + + + + Sets the exception thrown by the test fixture. + + The thrown exception + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets the fully qualified test fixture exception type, when an exception has occurred. + + + + + Gets the number of tests which failed. + + + + + Gets the fully qualified name of the type under test. + + + + + Gets the test fixture exception message, when an exception has occurred. + + + + + Gets the simple name of the type under test. + + + + + Gets the namespace of the type under test. + + + + + Gets the number of tests which passed. + + + + + Gets the number of tests which were skipped. + + + + + Gets the test fixture exception stack trace, when an exception has occurred. + + + + + Represents a failed test result. + + + + + Represents the results from running a test method + + + + + Initializes a new instance of the class. The traits for + the test method are discovered using reflection. + + The method under test. + The display name for the test. If null, the fully qualified + type name is used. + + + + Initializes a new instance of the class. + + The name of the method under test. + The type of the method under test. + The display name for the test. If null, the fully qualified + type name is used. + The traits. + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets or sets the display name of the method under test. This is the value that's shown + during failures and in the resulting output XML. + + + + + Gets the name of the method under test. + + + + + Gets or sets the standard output/standard error from the test that was captured + while the test was running. + + + + + Gets the traits attached to the test method. + + + + + Gets the name of the type under test. + + + + + Creates a new instance of the class. + + The method under test + The exception throw by the test + The display name for the test. If null, the fully qualified + type name is used. + + + + Creates a new instance of the class. + + The name of the method under test + The name of the type under test + The display name of the test + The custom properties attached to the test method + The full type name of the exception throw + The exception message + The exception stack trace + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets the exception type thrown by the test method. + + + + + Gets the exception message thrown by the test method. + + + + + Gets the stack trace of the exception thrown by the test method. + + + + + Represents a passing test result. + + + + + Create a new instance of the class. + + The method under test + The display name for the test. If null, the fully qualified + type name is used. + + + + Create a new instance of the class. + + The name of the method under test + The name of the type under test + The display name for the test. If null, the fully qualified + type name is used. + The custom properties attached to the test method + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Represents a skipped test result. + + + + + Creates a new instance of the class. Uses reflection to discover + the skip reason. + + The method under test + The display name for the test. If null, the fully qualified + type name is used. + The reason the test was skipped. + + + + Creates a new instance of the class. + + The name of the method under test + The name of the type under test + The display name for the test. If null, the fully qualified + type name is used. + The traits attached to the method under test + The skip reason + + + + Converts the test result into XML that is consumed by the test runners. + + The parent node. + The newly created XML node. + + + + Gets the skip reason. + + + + + Represents information about an attribute. + + + + + Gets the instance of the attribute, if available. + + The type of the attribute + The instance of the attribute, if available. + + + + Gets an initialized property value of the attribute. + + The type of the property + The name of the property + The property value + + + + Represents information about a method. + + + + + Creates an instance of the type where this test method was found. If using + reflection, this should be the ReflectedType. + + A new instance of the type. + + + + Gets all the custom attributes for the method that are of the given type. + + The type of the attribute + The matching attributes that decorate the method + + + + Determines if the method has at least one instance of the given attribute type. + + The type of the attribute + True if the method has at least one instance of the given attribute type; false, otherwise + + + + Invokes the test on the given class, with the given parameters. + + The instance of the test class (may be null if + the test method is static). + The parameters to be passed to the test method. + + + + Gets a value which represents the class that this method was + reflected from (i.e., equivalent to MethodInfo.ReflectedType) + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is static. + + + + + Gets the underlying for the method, if available. + + + + + Gets the name of the method. + + + + + Gets the fully qualified type name of the return type. + + + + + Gets the fully qualified type name of the type that this method belongs to. If + using reflection, this should be the ReflectedType. + + + + + Represents information about a type. + + + + + Gets all the custom attributes for the type that are of the given attribute type. + + The type of the attribute + The matching attributes that decorate the type + + + + Gets a test method by name. + + The name of the method + The method, if it exists; null, otherwise. + + + + Gets all the methods + + + + + + Determines if the type has at least one instance of the given attribute type. + + The type of the attribute + True if the type has at least one instance of the given attribute type; false, otherwise + + + + Determines if the type implements the given interface. + + The type of the interface + True if the type implements the given interface; false, otherwise + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets the underlying object, if available. + + + + + Utility class which inspects methods for test information + + + + + Gets the display name. + + The method to be inspected + The display name + + + + Gets the skip reason from a test method. + + The method to be inspected + The skip reason + + + + Gets the test commands for a test method. + + The method to be inspected + The objects for the test method + + + + Gets the timeout value for a test method. + + The method to be inspected + The timeout, in milliseconds + + + + Gets the traits on a test method. + + The method to be inspected + A dictionary of the traits + + + + Determines whether a test method has a timeout. + + The method to be inspected + True if the method has a timeout; false, otherwise + + + + Determines whether a test method has traits. + + The method to be inspected + True if the method has traits; false, otherwise + + + + Determines whether a test method should be skipped. + + The method to be inspected + True if the method should be skipped; false, otherwise + + + + Determines whether a method is a test method. A test method must be decorated + with the (or derived class) and must not be abstract. + + The method to be inspected + True if the method is a test method; false, otherwise + + + + Wrapper to implement and using reflection. + + + + + Converts an into an using reflection. + + + + + + + Converts a into an using reflection. + + The method to wrap + The wrapper + + + + Converts a into an using reflection. + + The type to wrap + The wrapper + + + + Utility class which inspects types for test information + + + + + Determines if a type contains any test methods + + The type to be inspected + True if the class contains any test methods; false, otherwise + + + + Retrieves the type to run the test class with from the , if present. + + The type to be inspected + The type of the test class runner, if present; null, otherwise + + + + Retrieves a list of the test methods from the test class. + + The type to be inspected + The test methods + + + + Determines if the test class has a applied to it. + + The type to be inspected + True if the test class has a run with attribute; false, otherwise + + + + Determines if the type implements . + + The type to be inspected + True if the type implements ; false, otherwise + + + + Determines whether the specified type is abstract. + + The type. + + true if the specified type is abstract; otherwise, false. + + + + + Determines whether the specified type is static. + + The type. + + true if the specified type is static; otherwise, false. + + + + + Determines if a class is a test class. + + The type to be inspected + True if the type is a test class; false, otherwise + + + + Attribute that is applied to a method to indicate that it is a fact that should be run + by the test runner. It can also be extended to support a customized definition of a + test method. + + + + + Creates instances of which represent individual intended + invocations of the test method. + + The method under test + An enumerator through the desired test method invocations + + + + Enumerates the test commands represented by this test method. Derived classes should + override this method to return instances of , one per execution + of a test method. + + The test method + The test commands which will execute the test runs for the given method + + + + Gets the name of the test to be used when the test is skipped. Defaults to + null, which will cause the fully qualified test name to be used. + + + + + Obsolete. Please use the property instead. + + + + + Marks the test so that it will not be run, and gets or sets the skip reason + + + + + Marks the test as failing if it does not finish running within the given time + period, in milliseconds; set to 0 or less to indicate the method has no timeout + + + + + Exception thrown when code unexpectedly fails to throw an exception. + + + + + Creates a new instance of the class. Call this constructor + when no exception was thrown. + + The type of the exception that was expected + + + + Creates a new instance of the class. Call this constructor + when an exception of the wrong type was thrown. + + The type of the exception that was expected + The actual exception that was thrown + + + + + + + THIS CONSTRUCTOR IS FOR UNIT TESTING PURPOSES ONLY. + + + + + + + + Gets a string representation of the frames on the call stack at the time the current exception was thrown. + + A string that describes the contents of the call stack, with the most recent method call appearing first. + + + + Exception thrown when a test method exceeds the given timeout value + + + + + Creates a new instance of the class. + + The timeout value, in milliseconds + + + + + + + Exception thrown when a value is unexpectedly false. + + + + + Creates a new instance of the class. + + The user message to be displayed, or null for the default message + + + + + + diff --git a/test-harness/xunit/Addition.feature b/test-harness/xunit/Addition.feature new file mode 100644 index 000000000..238e261e9 --- /dev/null +++ b/test-harness/xunit/Addition.feature @@ -0,0 +1,46 @@ +Feature: Addition + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +Background: + Given the calculator has clean memory + +@tag2 +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | + +@tag1 +Scenario: Add two numbers + Given I have entered 1 into the calculator + And I have entered 2 into the calculator + When I press add + Then the result should be 3 on the screen + +@tag1 +Scenario: Fail to add two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +@ignore +Scenario: Ignored adding two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +Scenario: Not automated adding two numbers + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/xunit/Addition.feature.cs b/test-harness/xunit/Addition.feature.cs new file mode 100644 index 000000000..ed9315a5a --- /dev/null +++ b/test-harness/xunit/Addition.feature.cs @@ -0,0 +1,223 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class AdditionFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Addition.feature" +#line hidden + + public AdditionFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Addition", "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be told the sum of t" + + "wo numbers", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 6 +#line 7 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + public virtual void SetFixture(AdditionFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Adding several numbers")] + [Xunit.Extensions.InlineDataAttribute("60", "70", "130", "260", new string[0])] + [Xunit.Extensions.InlineDataAttribute("40", "50", "90", "180", new string[0])] + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + string[] @__tags = new string[] { + "tag2"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", @__tags); +#line 10 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 11 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 12 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 13 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 14 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 15 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Add two numbers")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] { + "tag1"}); +#line 23 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 24 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 25 + testRunner.And("I have entered 2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 26 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 27 + testRunner.Then("the result should be 3 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Fail to add two numbers")] + public virtual void FailToAddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fail to add two numbers", new string[] { + "tag1"}); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 31 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 32 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 33 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 34 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute(Skip="Ignored")] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Ignored adding two numbers")] + public virtual void IgnoredAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Ignored adding two numbers", new string[] { + "ignore"}); +#line 37 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 38 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 39 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 40 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 41 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Not automated adding two numbers")] + public virtual void NotAutomatedAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated adding two numbers", ((string[])(null))); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 44 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 45 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 46 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + AdditionFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + AdditionFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit/App.config b/test-harness/xunit/App.config new file mode 100644 index 000000000..555737021 --- /dev/null +++ b/test-harness/xunit/App.config @@ -0,0 +1,13 @@ + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/test-harness/xunit/FailingBackground.feature b/test-harness/xunit/FailingBackground.feature new file mode 100644 index 000000000..83a70483a --- /dev/null +++ b/test-harness/xunit/FailingBackground.feature @@ -0,0 +1,24 @@ +Feature: Failing Background +This feature has a failing background. + +Background: + Given the background step fails + And the calculator has clean memory + +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | diff --git a/test-harness/xunit/FailingBackground.feature.cs b/test-harness/xunit/FailingBackground.feature.cs new file mode 100644 index 000000000..0d8fd5a39 --- /dev/null +++ b/test-harness/xunit/FailingBackground.feature.cs @@ -0,0 +1,151 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class FailingBackgroundFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "FailingBackground.feature" +#line hidden + + public FailingBackgroundFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing Background", "This feature has a failing background.", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the background step fails", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 6 + testRunner.And("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + + public virtual void SetFixture(FailingBackgroundFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing Background")] + [Xunit.TraitAttribute("Description", "Add two numbers")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", ((string[])(null))); +#line 8 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 9 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 10 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 11 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 12 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing Background")] + [Xunit.TraitAttribute("Description", "Adding several numbers")] + [Xunit.Extensions.InlineDataAttribute("60", "70", "130", "260", new string[0])] + [Xunit.Extensions.InlineDataAttribute("40", "50", "90", "180", new string[0])] + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 16 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 17 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 18 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + FailingBackgroundFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + FailingBackgroundFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit/Minimal Features/Failing.feature b/test-harness/xunit/Minimal Features/Failing.feature new file mode 100644 index 000000000..d7c5b7f53 --- /dev/null +++ b/test-harness/xunit/Minimal Features/Failing.feature @@ -0,0 +1,10 @@ +Feature: Failing + +Scenario: Failing Feature Passing Scenario + Then passing step + +Scenario: Failing Feature Inconclusive Scenario + Then inconclusive step + +Scenario: Failing Feature Failing Scenario + Then failing step \ No newline at end of file diff --git a/test-harness/xunit/Minimal Features/Failing.feature.cs b/test-harness/xunit/Minimal Features/Failing.feature.cs new file mode 100644 index 000000000..924d7b518 --- /dev/null +++ b/test-harness/xunit/Minimal Features/Failing.feature.cs @@ -0,0 +1,135 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18052 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class FailingFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Failing.feature" +#line hidden + + public FailingFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void SetFixture(FailingFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing")] + [Xunit.TraitAttribute("Description", "Failing Feature Passing Scenario")] + public virtual void FailingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing")] + [Xunit.TraitAttribute("Description", "Failing Feature Inconclusive Scenario")] + public virtual void FailingFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing")] + [Xunit.TraitAttribute("Description", "Failing Feature Failing Scenario")] + public virtual void FailingFeatureFailingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Failing Scenario", ((string[])(null))); +#line 9 +this.ScenarioSetup(scenarioInfo); +#line 10 + testRunner.Then("failing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + FailingFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + FailingFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit/Minimal Features/Inconclusive.feature b/test-harness/xunit/Minimal Features/Inconclusive.feature new file mode 100644 index 000000000..7ce63f2d5 --- /dev/null +++ b/test-harness/xunit/Minimal Features/Inconclusive.feature @@ -0,0 +1,7 @@ +Feature: Inconclusive + +Scenario: Inconclusive Feature Passing Scenario + Then passing step + +Scenario: Inconclusive Feature Inconclusive Scenario + Then inconclusive step \ No newline at end of file diff --git a/test-harness/xunit/Minimal Features/Inconclusive.feature.cs b/test-harness/xunit/Minimal Features/Inconclusive.feature.cs new file mode 100644 index 000000000..ce7634a66 --- /dev/null +++ b/test-harness/xunit/Minimal Features/Inconclusive.feature.cs @@ -0,0 +1,121 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18052 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class InconclusiveFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Inconclusive.feature" +#line hidden + + public InconclusiveFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Inconclusive", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void SetFixture(InconclusiveFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Inconclusive")] + [Xunit.TraitAttribute("Description", "Inconclusive Feature Passing Scenario")] + public virtual void InconclusiveFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Inconclusive")] + [Xunit.TraitAttribute("Description", "Inconclusive Feature Inconclusive Scenario")] + public virtual void InconclusiveFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + InconclusiveFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + InconclusiveFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit/Minimal Features/Passing.feature b/test-harness/xunit/Minimal Features/Passing.feature new file mode 100644 index 000000000..14bf35e22 --- /dev/null +++ b/test-harness/xunit/Minimal Features/Passing.feature @@ -0,0 +1,4 @@ +Feature: Passing + +Scenario: Passing Feature Passing Scenario + Then passing step diff --git a/test-harness/xunit/Minimal Features/Passing.feature.cs b/test-harness/xunit/Minimal Features/Passing.feature.cs new file mode 100644 index 000000000..27feb9851 --- /dev/null +++ b/test-harness/xunit/Minimal Features/Passing.feature.cs @@ -0,0 +1,107 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18052 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class PassingFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Passing.feature" +#line hidden + + public PassingFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Passing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void SetFixture(PassingFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Passing")] + [Xunit.TraitAttribute("Description", "Passing Feature Passing Scenario")] + public virtual void PassingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Passing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + PassingFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + PassingFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit/NotAutomatedAtAll.feature b/test-harness/xunit/NotAutomatedAtAll.feature new file mode 100644 index 000000000..3bbfcb669 --- /dev/null +++ b/test-harness/xunit/NotAutomatedAtAll.feature @@ -0,0 +1,19 @@ +Feature: Not Automated At All + +Background: + Given unimplemented step + +Scenario: Not automated scenario 1 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 2 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 3 + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/xunit/NotAutomatedAtAll.feature.cs b/test-harness/xunit/NotAutomatedAtAll.feature.cs new file mode 100644 index 000000000..e9d208066 --- /dev/null +++ b/test-harness/xunit/NotAutomatedAtAll.feature.cs @@ -0,0 +1,161 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class NotAutomatedAtAllFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "NotAutomatedAtAll.feature" +#line hidden + + public NotAutomatedAtAllFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Not Automated At All", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 3 +#line 4 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + public virtual void SetFixture(NotAutomatedAtAllFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Not Automated At All")] + [Xunit.TraitAttribute("Description", "Not automated scenario 1")] + public virtual void NotAutomatedScenario1() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 1", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 7 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 8 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 9 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Not Automated At All")] + [Xunit.TraitAttribute("Description", "Not automated scenario 2")] + public virtual void NotAutomatedScenario2() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 2", ((string[])(null))); +#line 11 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 12 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 13 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 14 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Not Automated At All")] + [Xunit.TraitAttribute("Description", "Not automated scenario 3")] + public virtual void NotAutomatedScenario3() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 3", ((string[])(null))); +#line 16 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 17 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 18 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + NotAutomatedAtAllFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + NotAutomatedAtAllFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit/Properties/AssemblyInfo.cs b/test-harness/xunit/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..1d6f58aea --- /dev/null +++ b/test-harness/xunit/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("xunit")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("xunit")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("51211987-b886-4465-bbbd-081d7a7dd9d1")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test-harness/xunit/ScenarioOutlines.feature b/test-harness/xunit/ScenarioOutlines.feature new file mode 100644 index 000000000..d6cfb9d48 --- /dev/null +++ b/test-harness/xunit/ScenarioOutlines.feature @@ -0,0 +1,78 @@ +Feature: Scenario Outlines + Here we demonstrate how we deal with scenario outlines + +Scenario Outline: This is a scenario outline where all scenarios pass + + This means the entire scenario outline passes. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | pass_3 | + + +Scenario Outline: This is a scenario outline where one scenario is inconclusive + + This means the entire scenario outline is inconclusive. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | inconclusive_1 | + + +Scenario Outline: This is a scenario outline where one scenario fails + + This means the entire scenario outline fails. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | fail_1 | + + +Scenario Outline: And we can go totally bonkers with multiple example sections. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + + Examples: + | result | + | inconclusive_1 | + | inconclusive_2 | + + Examples: + | result | + | fail_1 | + | fail_2 | + + +Scenario Outline: Deal correctly with backslashes in the examples + + When I have backslashes in the value, for example a '' + + Examples: + | file path | + | c:\Temp\ | + + +Scenario Outline: Deal correctly with parenthesis in the examples + + When I have parenthesis in the value, for example an '' + + Examples: + | overly descriptive field | + | This is a description (and more) | \ No newline at end of file diff --git a/test-harness/xunit/ScenarioOutlines.feature.cs b/test-harness/xunit/ScenarioOutlines.feature.cs new file mode 100644 index 000000000..e43f367e5 --- /dev/null +++ b/test-harness/xunit/ScenarioOutlines.feature.cs @@ -0,0 +1,194 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class ScenarioOutlinesFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenarioOutlines.feature" +#line hidden + + public ScenarioOutlinesFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenario Outlines", "Here we demonstrate how we deal with scenario outlines", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void SetFixture(ScenarioOutlinesFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "This is a scenario outline where all scenarios pass")] + [Xunit.Extensions.InlineDataAttribute("pass_1", new string[0])] + [Xunit.Extensions.InlineDataAttribute("pass_2", new string[0])] + [Xunit.Extensions.InlineDataAttribute("pass_3", new string[0])] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where all scenarios pass", exampleTags); +#line 4 +this.ScenarioSetup(scenarioInfo); +#line 8 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "This is a scenario outline where one scenario is inconclusive")] + [Xunit.Extensions.InlineDataAttribute("pass_1", new string[0])] + [Xunit.Extensions.InlineDataAttribute("pass_2", new string[0])] + [Xunit.Extensions.InlineDataAttribute("inconclusive_1", new string[0])] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario is inconclusive", exampleTags); +#line 17 +this.ScenarioSetup(scenarioInfo); +#line 21 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "This is a scenario outline where one scenario fails")] + [Xunit.Extensions.InlineDataAttribute("pass_1", new string[0])] + [Xunit.Extensions.InlineDataAttribute("pass_2", new string[0])] + [Xunit.Extensions.InlineDataAttribute("fail_1", new string[0])] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario fails", exampleTags); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 34 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "And we can go totally bonkers with multiple example sections.")] + [Xunit.Extensions.InlineDataAttribute("pass_1", new string[0])] + [Xunit.Extensions.InlineDataAttribute("pass_2", new string[0])] + [Xunit.Extensions.InlineDataAttribute("inconclusive_1", new string[0])] + [Xunit.Extensions.InlineDataAttribute("inconclusive_2", new string[0])] + [Xunit.Extensions.InlineDataAttribute("fail_1", new string[0])] + [Xunit.Extensions.InlineDataAttribute("fail_2", new string[0])] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections_(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("And we can go totally bonkers with multiple example sections.", exampleTags); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 45 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "Deal correctly with backslashes in the examples")] + [Xunit.Extensions.InlineDataAttribute("c:\\Temp\\", new string[0])] + public virtual void DealCorrectlyWithBackslashesInTheExamples(string filePath, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with backslashes in the examples", exampleTags); +#line 63 +this.ScenarioSetup(scenarioInfo); +#line 65 + testRunner.When(string.Format("I have backslashes in the value, for example a \'{0}\'", filePath), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "Deal correctly with parenthesis in the examples")] + [Xunit.Extensions.InlineDataAttribute("This is a description (and more)", new string[0])] + public virtual void DealCorrectlyWithParenthesisInTheExamples(string overlyDescriptiveField, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with parenthesis in the examples", exampleTags); +#line 72 +this.ScenarioSetup(scenarioInfo); +#line 74 + testRunner.When(string.Format("I have parenthesis in the value, for example an \'{0}\'", overlyDescriptiveField), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + ScenarioOutlinesFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + ScenarioOutlinesFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit/ScenariosWithSpecialCharacters.feature b/test-harness/xunit/ScenariosWithSpecialCharacters.feature new file mode 100644 index 000000000..15e291a18 --- /dev/null +++ b/test-harness/xunit/ScenariosWithSpecialCharacters.feature @@ -0,0 +1,33 @@ +Feature: Scenarios With Special Characters + Here we demonstrate usage of special characters in scenario names + +Background: + Given the calculator has clean memory + +Scenario: This is a scenario with parentheses, hyphen and comma (10-20, 30-40) + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + + +Scenario Outline: This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) + Then the scenario will '' + + Examples: + | result | + | pass_1 | + +Scenario Outline: This scenario contains examples with Regex-special characters + When I have special characters for regexes in the value, for example a '' + Then the scenario will 'PASS' + + Examples: + | regex | + | ** | + | ++ | + | .* | + | [] | + | {} | + | () | + | ^.*(?BAR)\s[^0-9]{3,4}A+$ | diff --git a/test-harness/xunit/ScenariosWithSpecialCharacters.feature.cs b/test-harness/xunit/ScenariosWithSpecialCharacters.feature.cs new file mode 100644 index 000000000..15dd7704c --- /dev/null +++ b/test-harness/xunit/ScenariosWithSpecialCharacters.feature.cs @@ -0,0 +1,165 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class ScenariosWithSpecialCharactersFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenariosWithSpecialCharacters.feature" +#line hidden + + public ScenariosWithSpecialCharactersFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenarios With Special Characters", "Here we demonstrate usage of special characters in scenario names", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + public virtual void SetFixture(ScenariosWithSpecialCharactersFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Xunit.TraitAttribute("Description", "This is a scenario with parentheses, hyphen and comma (10-20, 30-40)")] + public virtual void ThisIsAScenarioWithParenthesesHyphenAndComma10_2030_40() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)", ((string[])(null))); +#line 7 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 8 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 9 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 10 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 11 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Xunit.TraitAttribute("Description", "This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)")] + [Xunit.Extensions.InlineDataAttribute("pass_1", new string[0])] + public virtual void ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Xunit.TraitAttribute("Description", "This scenario contains examples with Regex-special characters")] + [Xunit.Extensions.InlineDataAttribute("**", new string[0])] + [Xunit.Extensions.InlineDataAttribute("++", new string[0])] + [Xunit.Extensions.InlineDataAttribute(".*", new string[0])] + [Xunit.Extensions.InlineDataAttribute("[]", new string[0])] + [Xunit.Extensions.InlineDataAttribute("{}", new string[0])] + [Xunit.Extensions.InlineDataAttribute("()", new string[0])] + [Xunit.Extensions.InlineDataAttribute("^.*(?BAR)\\s[^0-9]{3,4}A+$", new string[0])] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters(string regex, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This scenario contains examples with Regex-special characters", exampleTags); +#line 21 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 22 + testRunner.When(string.Format("I have special characters for regexes in the value, for example a \'{0}\'", regex), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 23 + testRunner.Then("the scenario will \'PASS\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + ScenariosWithSpecialCharactersFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + ScenariosWithSpecialCharactersFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit/packages.config b/test-harness/xunit/packages.config new file mode 100644 index 000000000..2975804e6 --- /dev/null +++ b/test-harness/xunit/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/test-harness/xunit/xunit.csproj b/test-harness/xunit/xunit.csproj new file mode 100644 index 000000000..0f372726f --- /dev/null +++ b/test-harness/xunit/xunit.csproj @@ -0,0 +1,150 @@ + + + + + Debug + AnyCPU + {F4AB7229-9022-4FFC-86EC-570ADF2A682C} + Library + Properties + Pickles.TestHarness.xunit + xunitHarness + v4.5 + 512 + ..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + ..\packages\SpecFlow.1.9.0\lib\net35\TechTalk.SpecFlow.dll + + + False + ..\packages\xunit.1.9.2\lib\net20\xunit.dll + + + False + ..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll + + + + + Addition.feature + True + True + + + FailingBackground.feature + True + True + + + Failing.feature + True + True + + + Inconclusive.feature + True + True + + + Passing.feature + True + True + + + NotAutomatedAtAll.feature + True + True + + + + True + True + ScenarioOutlines.feature + + + True + True + ScenariosWithSpecialCharacters.feature + + + + + SpecFlowSingleFileGenerator + Addition.feature.cs + + + + SpecFlowSingleFileGenerator + FailingBackground.feature.cs + + + SpecFlowSingleFileGenerator + Failing.feature.cs + + + SpecFlowSingleFileGenerator + Inconclusive.feature.cs + + + SpecFlowSingleFileGenerator + Passing.feature.cs + + + SpecFlowSingleFileGenerator + NotAutomatedAtAll.feature.cs + + + + SpecFlowSingleFileGenerator + ScenarioOutlines.feature.cs + + + SpecFlowSingleFileGenerator + ScenariosWithSpecialCharacters.feature.cs + + + + + {073862de-d599-4941-9716-03206cf1cfa2} + AutomationLayer + + + + + + + + \ No newline at end of file diff --git a/test-harness/xunit2/Addition.feature b/test-harness/xunit2/Addition.feature new file mode 100644 index 000000000..238e261e9 --- /dev/null +++ b/test-harness/xunit2/Addition.feature @@ -0,0 +1,46 @@ +Feature: Addition + In order to avoid silly mistakes + As a math idiot + I want to be told the sum of two numbers + +Background: + Given the calculator has clean memory + +@tag2 +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | + +@tag1 +Scenario: Add two numbers + Given I have entered 1 into the calculator + And I have entered 2 into the calculator + When I press add + Then the result should be 3 on the screen + +@tag1 +Scenario: Fail to add two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +@ignore +Scenario: Ignored adding two numbers + Given I have entered 1 into the calculator + And I have entered 2.2 into the calculator + When I press add + Then the result should be 3.2 on the screen + +Scenario: Not automated adding two numbers + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/xunit2/Addition.feature.cs b/test-harness/xunit2/Addition.feature.cs new file mode 100644 index 000000000..13865cf68 --- /dev/null +++ b/test-harness/xunit2/Addition.feature.cs @@ -0,0 +1,223 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit2 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class AdditionFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Addition.feature" +#line hidden + + public AdditionFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Addition", "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be told the sum of t" + + "wo numbers", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 6 +#line 7 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + public virtual void SetFixture(AdditionFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Adding several numbers")] + [Xunit.InlineDataAttribute("60", "70", "130", "260", new string[0])] + [Xunit.InlineDataAttribute("40", "50", "90", "180", new string[0])] + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + string[] @__tags = new string[] { + "tag2"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", @__tags); +#line 10 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 11 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 12 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 13 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 14 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 15 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Add two numbers")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] { + "tag1"}); +#line 23 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 24 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 25 + testRunner.And("I have entered 2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 26 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 27 + testRunner.Then("the result should be 3 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Fail to add two numbers")] + public virtual void FailToAddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fail to add two numbers", new string[] { + "tag1"}); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 31 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 32 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 33 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 34 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute(Skip="Ignored")] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Ignored adding two numbers")] + public virtual void IgnoredAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Ignored adding two numbers", new string[] { + "ignore"}); +#line 37 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 38 + testRunner.Given("I have entered 1 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 39 + testRunner.And("I have entered 2.2 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 40 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 41 + testRunner.Then("the result should be 3.2 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Addition")] + [Xunit.TraitAttribute("Description", "Not automated adding two numbers")] + public virtual void NotAutomatedAddingTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated adding two numbers", ((string[])(null))); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 6 +this.FeatureBackground(); +#line 44 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 45 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 46 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + AdditionFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + AdditionFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit2/FailingBackground.feature b/test-harness/xunit2/FailingBackground.feature new file mode 100644 index 000000000..83a70483a --- /dev/null +++ b/test-harness/xunit2/FailingBackground.feature @@ -0,0 +1,24 @@ +Feature: Failing Background +This feature has a failing background. + +Background: + Given the background step fails + And the calculator has clean memory + +Scenario: Add two numbers + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + +Scenario Outline: Adding several numbers + Given I have entered into the calculator + And I have entered into the calculator + And I have entered into the calculator + When I press add + Then the result should be on the screen + +Examples: + | first number | second number | third number | result | + | 60 | 70 | 130 | 260 | + | 40 | 50 | 90 | 180 | diff --git a/test-harness/xunit2/FailingBackground.feature.cs b/test-harness/xunit2/FailingBackground.feature.cs new file mode 100644 index 000000000..dd8ea94ff --- /dev/null +++ b/test-harness/xunit2/FailingBackground.feature.cs @@ -0,0 +1,151 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit2 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class FailingBackgroundFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "FailingBackground.feature" +#line hidden + + public FailingBackgroundFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing Background", "This feature has a failing background.", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the background step fails", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 6 + testRunner.And("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + + public virtual void SetFixture(FailingBackgroundFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing Background")] + [Xunit.TraitAttribute("Description", "Add two numbers")] + public virtual void AddTwoNumbers() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", ((string[])(null))); +#line 8 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 9 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 10 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 11 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 12 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing Background")] + [Xunit.TraitAttribute("Description", "Adding several numbers")] + [Xunit.InlineDataAttribute("60", "70", "130", "260", new string[0])] + [Xunit.InlineDataAttribute("40", "50", "90", "180", new string[0])] + public virtual void AddingSeveralNumbers(string firstNumber, string secondNumber, string thirdNumber, string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Adding several numbers", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Given(string.Format("I have entered {0} into the calculator", firstNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 16 + testRunner.And(string.Format("I have entered {0} into the calculator", secondNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 17 + testRunner.And(string.Format("I have entered {0} into the calculator", thirdNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 18 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then(string.Format("the result should be {0} on the screen", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + FailingBackgroundFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + FailingBackgroundFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit2/Minimal Features/Failing.feature b/test-harness/xunit2/Minimal Features/Failing.feature new file mode 100644 index 000000000..d7c5b7f53 --- /dev/null +++ b/test-harness/xunit2/Minimal Features/Failing.feature @@ -0,0 +1,10 @@ +Feature: Failing + +Scenario: Failing Feature Passing Scenario + Then passing step + +Scenario: Failing Feature Inconclusive Scenario + Then inconclusive step + +Scenario: Failing Feature Failing Scenario + Then failing step \ No newline at end of file diff --git a/test-harness/xunit2/Minimal Features/Failing.feature.cs b/test-harness/xunit2/Minimal Features/Failing.feature.cs new file mode 100644 index 000000000..7e3b307c2 --- /dev/null +++ b/test-harness/xunit2/Minimal Features/Failing.feature.cs @@ -0,0 +1,135 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit2.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class FailingFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Failing.feature" +#line hidden + + public FailingFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Failing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void SetFixture(FailingFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing")] + [Xunit.TraitAttribute("Description", "Failing Feature Passing Scenario")] + public virtual void FailingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing")] + [Xunit.TraitAttribute("Description", "Failing Feature Inconclusive Scenario")] + public virtual void FailingFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Failing")] + [Xunit.TraitAttribute("Description", "Failing Feature Failing Scenario")] + public virtual void FailingFeatureFailingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Failing Feature Failing Scenario", ((string[])(null))); +#line 9 +this.ScenarioSetup(scenarioInfo); +#line 10 + testRunner.Then("failing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + FailingFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + FailingFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit2/Minimal Features/Inconclusive.feature b/test-harness/xunit2/Minimal Features/Inconclusive.feature new file mode 100644 index 000000000..7ce63f2d5 --- /dev/null +++ b/test-harness/xunit2/Minimal Features/Inconclusive.feature @@ -0,0 +1,7 @@ +Feature: Inconclusive + +Scenario: Inconclusive Feature Passing Scenario + Then passing step + +Scenario: Inconclusive Feature Inconclusive Scenario + Then inconclusive step \ No newline at end of file diff --git a/test-harness/xunit2/Minimal Features/Inconclusive.feature.cs b/test-harness/xunit2/Minimal Features/Inconclusive.feature.cs new file mode 100644 index 000000000..5949fe978 --- /dev/null +++ b/test-harness/xunit2/Minimal Features/Inconclusive.feature.cs @@ -0,0 +1,121 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit2.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class InconclusiveFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Inconclusive.feature" +#line hidden + + public InconclusiveFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Inconclusive", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void SetFixture(InconclusiveFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Inconclusive")] + [Xunit.TraitAttribute("Description", "Inconclusive Feature Passing Scenario")] + public virtual void InconclusiveFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Inconclusive")] + [Xunit.TraitAttribute("Description", "Inconclusive Feature Inconclusive Scenario")] + public virtual void InconclusiveFeatureInconclusiveScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Inconclusive Feature Inconclusive Scenario", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 7 + testRunner.Then("inconclusive step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + InconclusiveFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + InconclusiveFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit2/Minimal Features/Passing.feature b/test-harness/xunit2/Minimal Features/Passing.feature new file mode 100644 index 000000000..14bf35e22 --- /dev/null +++ b/test-harness/xunit2/Minimal Features/Passing.feature @@ -0,0 +1,4 @@ +Feature: Passing + +Scenario: Passing Feature Passing Scenario + Then passing step diff --git a/test-harness/xunit2/Minimal Features/Passing.feature.cs b/test-harness/xunit2/Minimal Features/Passing.feature.cs new file mode 100644 index 000000000..e04c3c079 --- /dev/null +++ b/test-harness/xunit2/Minimal Features/Passing.feature.cs @@ -0,0 +1,107 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit2.MinimalFeatures +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class PassingFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "Passing.feature" +#line hidden + + public PassingFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Passing", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void SetFixture(PassingFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Passing")] + [Xunit.TraitAttribute("Description", "Passing Feature Passing Scenario")] + public virtual void PassingFeaturePassingScenario() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Passing Feature Passing Scenario", ((string[])(null))); +#line 3 +this.ScenarioSetup(scenarioInfo); +#line 4 + testRunner.Then("passing step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + PassingFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + PassingFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit2/NotAutomatedAtAll.feature b/test-harness/xunit2/NotAutomatedAtAll.feature new file mode 100644 index 000000000..3bbfcb669 --- /dev/null +++ b/test-harness/xunit2/NotAutomatedAtAll.feature @@ -0,0 +1,19 @@ +Feature: Not Automated At All + +Background: + Given unimplemented step + +Scenario: Not automated scenario 1 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 2 + Given unimplemented step + When unimplemented step + Then unimplemented step + +Scenario: Not automated scenario 3 + Given unimplemented step + When unimplemented step + Then unimplemented step diff --git a/test-harness/xunit2/NotAutomatedAtAll.feature.cs b/test-harness/xunit2/NotAutomatedAtAll.feature.cs new file mode 100644 index 000000000..378699640 --- /dev/null +++ b/test-harness/xunit2/NotAutomatedAtAll.feature.cs @@ -0,0 +1,161 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit2 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class NotAutomatedAtAllFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "NotAutomatedAtAll.feature" +#line hidden + + public NotAutomatedAtAllFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Not Automated At All", "", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 3 +#line 4 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + public virtual void SetFixture(NotAutomatedAtAllFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Not Automated At All")] + [Xunit.TraitAttribute("Description", "Not automated scenario 1")] + public virtual void NotAutomatedScenario1() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 1", ((string[])(null))); +#line 6 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 7 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 8 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 9 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Not Automated At All")] + [Xunit.TraitAttribute("Description", "Not automated scenario 2")] + public virtual void NotAutomatedScenario2() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 2", ((string[])(null))); +#line 11 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 12 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 13 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 14 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Not Automated At All")] + [Xunit.TraitAttribute("Description", "Not automated scenario 3")] + public virtual void NotAutomatedScenario3() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Not automated scenario 3", ((string[])(null))); +#line 16 +this.ScenarioSetup(scenarioInfo); +#line 3 +this.FeatureBackground(); +#line 17 + testRunner.Given("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 18 + testRunner.When("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 19 + testRunner.Then("unimplemented step", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + NotAutomatedAtAllFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + NotAutomatedAtAllFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit2/Properties/AssemblyInfo.cs b/test-harness/xunit2/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..9f27651f8 --- /dev/null +++ b/test-harness/xunit2/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("xunit2")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("xunit2")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e5b28db5-295e-4e33-a9e3-d84a49265baf")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/test-harness/xunit2/ScenarioOutlines.feature b/test-harness/xunit2/ScenarioOutlines.feature new file mode 100644 index 000000000..46478f94c --- /dev/null +++ b/test-harness/xunit2/ScenarioOutlines.feature @@ -0,0 +1,78 @@ +Feature: Scenario Outlines + Here we demonstrate how we deal with scenario outlines + +Scenario Outline: This is a scenario outline where all scenarios pass + + This means the entire scenario outline passes. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | pass_3 | + + +Scenario Outline: This is a scenario outline where one scenario is inconclusive + + This means the entire scenario outline is inconclusive. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | inconclusive_1 | + + +Scenario Outline: This is a scenario outline where one scenario fails + + This means the entire scenario outline fails. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + | fail_1 | + + +Scenario Outline: And we can go totally bonkers with multiple example sections. + + Then the scenario will '' + + Examples: + | result | + | pass_1 | + | pass_2 | + + Examples: + | result | + | inconclusive_1 | + | inconclusive_2 | + + Examples: + | result | + | fail_1 | + | fail_2 | + + +Scenario Outline: Deal correctly with backslashes in the examples + + When I have backslashes in the value, for example a '' + + Examples: + | file path | + | c:\Temp\ | + + +Scenario Outline: Deal correctly with parenthesis in the examples + + When I have parenthesis in the value, for example an '' + + Examples: + | overly descriptive field | + | This is a description (and more) | diff --git a/test-harness/xunit2/ScenarioOutlines.feature.cs b/test-harness/xunit2/ScenarioOutlines.feature.cs new file mode 100644 index 000000000..d85431fff --- /dev/null +++ b/test-harness/xunit2/ScenarioOutlines.feature.cs @@ -0,0 +1,194 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit2 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class ScenarioOutlinesFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenarioOutlines.feature" +#line hidden + + public ScenarioOutlinesFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenario Outlines", "Here we demonstrate how we deal with scenario outlines", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void SetFixture(ScenarioOutlinesFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "This is a scenario outline where all scenarios pass")] + [Xunit.InlineDataAttribute("pass_1", new string[0])] + [Xunit.InlineDataAttribute("pass_2", new string[0])] + [Xunit.InlineDataAttribute("pass_3", new string[0])] + public virtual void ThisIsAScenarioOutlineWhereAllScenariosPass(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where all scenarios pass", exampleTags); +#line 4 +this.ScenarioSetup(scenarioInfo); +#line 8 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "This is a scenario outline where one scenario is inconclusive")] + [Xunit.InlineDataAttribute("pass_1", new string[0])] + [Xunit.InlineDataAttribute("pass_2", new string[0])] + [Xunit.InlineDataAttribute("inconclusive_1", new string[0])] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario is inconclusive", exampleTags); +#line 17 +this.ScenarioSetup(scenarioInfo); +#line 21 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "This is a scenario outline where one scenario fails")] + [Xunit.InlineDataAttribute("pass_1", new string[0])] + [Xunit.InlineDataAttribute("pass_2", new string[0])] + [Xunit.InlineDataAttribute("fail_1", new string[0])] + public virtual void ThisIsAScenarioOutlineWhereOneScenarioFails(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline where one scenario fails", exampleTags); +#line 30 +this.ScenarioSetup(scenarioInfo); +#line 34 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "And we can go totally bonkers with multiple example sections.")] + [Xunit.InlineDataAttribute("pass_1", new string[0])] + [Xunit.InlineDataAttribute("pass_2", new string[0])] + [Xunit.InlineDataAttribute("inconclusive_1", new string[0])] + [Xunit.InlineDataAttribute("inconclusive_2", new string[0])] + [Xunit.InlineDataAttribute("fail_1", new string[0])] + [Xunit.InlineDataAttribute("fail_2", new string[0])] + public virtual void AndWeCanGoTotallyBonkersWithMultipleExampleSections_(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("And we can go totally bonkers with multiple example sections.", exampleTags); +#line 43 +this.ScenarioSetup(scenarioInfo); +#line 45 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "Deal correctly with backslashes in the examples")] + [Xunit.InlineDataAttribute("c:\\Temp\\", new string[0])] + public virtual void DealCorrectlyWithBackslashesInTheExamples(string filePath, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with backslashes in the examples", exampleTags); +#line 63 +this.ScenarioSetup(scenarioInfo); +#line 65 + testRunner.When(string.Format("I have backslashes in the value, for example a \'{0}\'", filePath), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "Deal correctly with parenthesis in the examples")] + [Xunit.InlineDataAttribute("This is a description (and more)", new string[0])] + public virtual void DealCorrectlyWithParenthesisInTheExamples(string description, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with parenthesis in the examples", exampleTags); +#line 63 + this.ScenarioSetup(scenarioInfo); +#line 65 + testRunner.When(string.Format("I have parenthesis in the value, for example an \'{0}\'", description), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + ScenarioOutlinesFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + ScenarioOutlinesFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit2/ScenariosWithSpecialCharacters.feature b/test-harness/xunit2/ScenariosWithSpecialCharacters.feature new file mode 100644 index 000000000..15e291a18 --- /dev/null +++ b/test-harness/xunit2/ScenariosWithSpecialCharacters.feature @@ -0,0 +1,33 @@ +Feature: Scenarios With Special Characters + Here we demonstrate usage of special characters in scenario names + +Background: + Given the calculator has clean memory + +Scenario: This is a scenario with parentheses, hyphen and comma (10-20, 30-40) + Given I have entered 50 into the calculator + And I have entered 70 into the calculator + When I press add + Then the result should be 120 on the screen + + +Scenario Outline: This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) + Then the scenario will '' + + Examples: + | result | + | pass_1 | + +Scenario Outline: This scenario contains examples with Regex-special characters + When I have special characters for regexes in the value, for example a '' + Then the scenario will 'PASS' + + Examples: + | regex | + | ** | + | ++ | + | .* | + | [] | + | {} | + | () | + | ^.*(?BAR)\s[^0-9]{3,4}A+$ | diff --git a/test-harness/xunit2/ScenariosWithSpecialCharacters.feature.cs b/test-harness/xunit2/ScenariosWithSpecialCharacters.feature.cs new file mode 100644 index 000000000..7b1b05968 --- /dev/null +++ b/test-harness/xunit2/ScenariosWithSpecialCharacters.feature.cs @@ -0,0 +1,165 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (http://www.specflow.org/). +// SpecFlow Version:1.9.0.77 +// SpecFlow Generator Version:1.9.0.0 +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Pickles.TestHarness.xunit2 +{ + using TechTalk.SpecFlow; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public partial class ScenariosWithSpecialCharactersFeature : Xunit.IUseFixture, System.IDisposable + { + + private static TechTalk.SpecFlow.ITestRunner testRunner; + +#line 1 "ScenariosWithSpecialCharacters.feature" +#line hidden + + public ScenariosWithSpecialCharactersFeature() + { + this.TestInitialize(); + } + + public static void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Scenarios With Special Characters", "Here we demonstrate usage of special characters in scenario names", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + public static void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + public virtual void TestInitialize() + { + } + + public virtual void ScenarioTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioStart(scenarioInfo); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + public virtual void FeatureBackground() + { +#line 4 +#line 5 + testRunner.Given("the calculator has clean memory", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden + } + + public virtual void SetFixture(ScenariosWithSpecialCharactersFeature.FixtureData fixtureData) + { + } + + void System.IDisposable.Dispose() + { + this.ScenarioTearDown(); + } + + [Xunit.FactAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Xunit.TraitAttribute("Description", "This is a scenario with parentheses, hyphen and comma (10-20, 30-40)")] + public virtual void ThisIsAScenarioWithParenthesesHyphenAndComma10_2030_40() + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario with parentheses, hyphen and comma (10-20, 30-40)", ((string[])(null))); +#line 7 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 8 + testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 9 + testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 10 + testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 11 + testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Xunit.TraitAttribute("Description", "This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)")] + [Xunit.InlineDataAttribute("pass_1", new string[0])] + public virtual void ThisIsAScenarioOutlineWithParenthesesHyphenAndComma10_2030_40(string result, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40)", exampleTags); +#line 14 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 15 + testRunner.Then(string.Format("the scenario will \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenarios With Special Characters")] + [Xunit.TraitAttribute("Description", "This scenario contains examples with Regex-special characters")] + [Xunit.InlineDataAttribute("**", new string[0])] + [Xunit.InlineDataAttribute("++", new string[0])] + [Xunit.InlineDataAttribute(".*", new string[0])] + [Xunit.InlineDataAttribute("[]", new string[0])] + [Xunit.InlineDataAttribute("{}", new string[0])] + [Xunit.InlineDataAttribute("()", new string[0])] + [Xunit.InlineDataAttribute("^.*(?BAR)\\s[^0-9]{3,4}A+$", new string[0])] + public virtual void ThisScenarioContainsExamplesWithRegex_SpecialCharacters(string regex, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("This scenario contains examples with Regex-special characters", exampleTags); +#line 21 +this.ScenarioSetup(scenarioInfo); +#line 4 +this.FeatureBackground(); +#line 22 + testRunner.When(string.Format("I have special characters for regexes in the value, for example a \'{0}\'", regex), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 23 + testRunner.Then("the scenario will \'PASS\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class FixtureData : System.IDisposable + { + + public FixtureData() + { + ScenariosWithSpecialCharactersFeature.FeatureSetup(); + } + + void System.IDisposable.Dispose() + { + ScenariosWithSpecialCharactersFeature.FeatureTearDown(); + } + } + } +} +#pragma warning restore +#endregion diff --git a/test-harness/xunit2/XunitCompatibility.cs b/test-harness/xunit2/XunitCompatibility.cs new file mode 100644 index 000000000..ff239f63b --- /dev/null +++ b/test-harness/xunit2/XunitCompatibility.cs @@ -0,0 +1,32 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// Copyright 2012-present PicklesDoc team and community contributors +// +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// -------------------------------------------------------------------------------------------------------------------- +namespace Xunit +{ + /// + /// XUnit backwards compatibility for feature generator + /// + /// + /// Delete this when generator no longer uses this class - 5/25/15 + /// + /// + public interface IUseFixture : Xunit.IClassFixture where T : class, new() + { + } +} \ No newline at end of file diff --git a/test-harness/xunit2/app.config b/test-harness/xunit2/app.config new file mode 100644 index 000000000..f62dc8400 --- /dev/null +++ b/test-harness/xunit2/app.config @@ -0,0 +1,13 @@ + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/test-harness/xunit2/packages.config b/test-harness/xunit2/packages.config new file mode 100644 index 000000000..d10ecc028 --- /dev/null +++ b/test-harness/xunit2/packages.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/test-harness/xunit2/xunit2.csproj b/test-harness/xunit2/xunit2.csproj new file mode 100644 index 000000000..72ad55b87 --- /dev/null +++ b/test-harness/xunit2/xunit2.csproj @@ -0,0 +1,168 @@ + + + + + + Debug + AnyCPU + {E5B28DB5-295E-4E33-A9E3-D84A49265BAF} + Library + Properties + Pickles.TestHarness.xunit2 + xunit2Harness + v4.5 + 512 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + ..\packages\SpecFlow.1.9.0\lib\net35\TechTalk.SpecFlow.dll + True + + + ..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll + True + + + ..\packages\xunit.assert.2.1.0\lib\dotnet\xunit.assert.dll + True + + + ..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll + True + + + ..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll + True + + + + + Addition.feature + True + True + + + FailingBackground.feature + True + True + + + Failing.feature + True + True + + + Inconclusive.feature + True + True + + + Passing.feature + True + True + + + NotAutomatedAtAll.feature + True + True + + + + ScenarioOutlines.feature + True + True + + + True + True + ScenariosWithSpecialCharacters.feature + + + + + + {073862de-d599-4941-9716-03206cf1cfa2} + AutomationLayer + + + + + SpecFlowSingleFileGenerator + Addition.feature.cs + + + + SpecFlowSingleFileGenerator + FailingBackground.feature.cs + + + SpecFlowSingleFileGenerator + Failing.feature.cs + + + SpecFlowSingleFileGenerator + Inconclusive.feature.cs + + + SpecFlowSingleFileGenerator + Passing.feature.cs + + + SpecFlowSingleFileGenerator + NotAutomatedAtAll.feature.cs + + + + SpecFlowSingleFileGenerator + ScenarioOutlines.feature.cs + + + SpecFlowSingleFileGenerator + ScenariosWithSpecialCharacters.feature.cs + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file From f1f167d20c875fee1b525aeba64914e4d7dcd681 Mon Sep 17 00:00:00 2001 From: Martin Gondermann Date: Wed, 11 May 2016 17:37:11 +0200 Subject: [PATCH 3/7] Updated Command line help to reflect all possible TestResult-Formats (#340) * Updated Command line help to reflect all possible TestResult-Formats * Fix failing unit test --- src/Pickles/Pickles.Test/WhenParsingCommandLineArguments.cs | 3 ++- src/Pickles/Pickles/CommandLineArgumentParser.cs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Pickles/Pickles.Test/WhenParsingCommandLineArguments.cs b/src/Pickles/Pickles.Test/WhenParsingCommandLineArguments.cs index 98d38fd13..82530823a 100644 --- a/src/Pickles/Pickles.Test/WhenParsingCommandLineArguments.cs +++ b/src/Pickles/Pickles.Test/WhenParsingCommandLineArguments.cs @@ -41,7 +41,8 @@ public class WhenParsingCommandLineArguments : BaseFixture " directory where output files will be placed" + "{0}" + " --trfmt, --test-results-format=VALUE" + "{0}" + " the format of the linked test results " + "{0}" + - " (nunit|xunit)" + "{0}" + + " (nunit|nunit3|xunit|xunit2|mstest " + "{0}" + + " |cucumberjson|specrun|vstest)" + "{0}" + " --lr, --link-results-file=VALUE" + "{0}" + " the path to the linked test results file (can be " + "{0}" + " a semicolon-separated list of files)" + "{0}" + diff --git a/src/Pickles/Pickles/CommandLineArgumentParser.cs b/src/Pickles/Pickles/CommandLineArgumentParser.cs index a1e9bbb5d..253bf2ce3 100644 --- a/src/Pickles/Pickles/CommandLineArgumentParser.cs +++ b/src/Pickles/Pickles/CommandLineArgumentParser.cs @@ -37,7 +37,7 @@ public class CommandLineArgumentParser public const string HelpSutVersion = "the version of the system under test"; public const string HelpLanguageFeatureFiles = "the language of the feature files"; public const string HelpDocumentationFormat = "the format of the output documentation"; - public const string HelpTestResultsFormat = "the format of the linked test results (nunit|xunit)"; + public const string HelpTestResultsFormat = "the format of the linked test results (nunit|nunit3|xunit|xunit2|mstest |cucumberjson|specrun|vstest)"; public const string HelpIncludeExperimentalFeatures = "whether to include experimental features"; public const string HelpTestResultsFile = From 1e51b8e56a79277ef7e8ec153140fc9f5a9ef995 Mon Sep 17 00:00:00 2001 From: Martin Gondermann Date: Wed, 11 May 2016 18:25:09 +0200 Subject: [PATCH 4/7] Some Examples were not recognized (#343) * Examples are not recognized on some test frameworks if the examples are too long * Added scenarios to test harness --- ...nFromJSResultsFileWithIndividualResults.cs | 6 + ...romRubyResultsFileWithIndividualResults.cs | 6 + .../results-example-cucumberjs-json.json | 46 ++ .../CucumberJson/results-example-json.json | 46 ++ ...gMsTestResultsFileWithIndividualResults.cs | 6 + .../MsTest/results-example-mstest.trx | 536 ++++++++-------- ...erminingTheSignatureOfAnNUnitExampleRow.cs | 25 +- ...ngNUnitResultsFileWithIndividualResults.cs | 7 +- .../NUnit/NUnit2/results-example-nunit.xml | 153 ++--- ...rminingTheSignatureOfAnNunit3ExampleRow.cs | 25 +- ...ngNUnitResultsFileWithIndividualResults.cs | 7 +- .../NUnit/NUnit3/results-example-nunit3.xml | 230 +++---- ...RunTestResultsFileWithIndividualResults.cs | 6 + .../SpecRun/results-example-specrun.html | 4 + .../StandardTestSuiteForScenarioOutlines.cs | 16 +- ...gVsTestResultsFileWithIndividualResults.cs | 7 +- .../VsTest/results-example-vstest.trx | 596 +++++++++++------- ...ngXUnitResultsFileWithIndividualResults.cs | 7 +- .../XUnit/XUnit1/results-example-xunit.xml | 368 +++++------ ...rminingTheSignatureOfAnXUnit2ExampleRow.cs | 17 + ...ngXUnitResultsFileWithIndividualResults.cs | 8 +- .../XUnit/XUnit2/results-example-xunit2.xml | 438 ++++++------- .../NUnit2ExampleSignatureBuilder.cs} | 11 +- .../NUnit/NUnit2/NUnit2Results.cs | 3 +- .../NUnit2ScenarioOutlineExampleMatcher.cs} | 8 +- .../NUnit3/NUnit3ExampleSignatureBuilder.cs | 50 ++ .../NUnit/NUnit3/NUnit3Results.cs | 3 +- .../NUnit3ScenarioOutlineExampleMatcher.cs | 45 ++ .../Pickles.TestFrameworks.csproj | 6 +- .../VsTestScenarioOutlineExampleMatcher.cs | 21 +- .../XUnit/xUnitExampleSignatureBuilder.cs | 9 +- src/Pickles/Pickles/PicklesModule.cs | 21 +- .../AutomationLayer/ScenarioOutlineSteps.cs | 6 + .../features/ScenarioOutlines.feature | 10 + .../step_definitions/ScenarioOutlineSteps.rb | 4 + .../features/ScenarioOutlines.feature | 10 + .../stepdefinitions/ScenarioOutlineSteps.js | 5 + test-harness/MsTest/ScenarioOutlines.feature | 12 +- .../MsTest/ScenarioOutlines.feature.cs | 26 + test-harness/SpecRun/ScenarioOutlines.feature | 11 +- .../SpecRun/ScenarioOutlines.feature.cs | 20 + test-harness/nunit/ScenarioOutlines.feature | 12 +- .../nunit/ScenarioOutlines.feature.cs | 18 + test-harness/nunit3/ScenarioOutlines.feature | 12 +- .../nunit3/ScenarioOutlines.feature.cs | 18 + test-harness/xunit/ScenarioOutlines.feature | 12 +- .../xunit/ScenarioOutlines.feature.cs | 19 + test-harness/xunit2/ScenarioOutlines.feature | 10 + .../xunit2/ScenarioOutlines.feature.cs | 21 +- 49 files changed, 1827 insertions(+), 1136 deletions(-) rename src/Pickles/Pickles.TestFrameworks/NUnit/{NUnitExampleSignatureBuilder.cs => NUnit2/NUnit2ExampleSignatureBuilder.cs} (76%) rename src/Pickles/Pickles.TestFrameworks/NUnit/{NUnitScenarioOutlineExampleMatcher.cs => NUnit2/NUnit2ScenarioOutlineExampleMatcher.cs} (82%) create mode 100644 src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3ExampleSignatureBuilder.cs create mode 100644 src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3ScenarioOutlineExampleMatcher.cs diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromJSResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromJSResultsFileWithIndividualResults.cs index 266ac7471..b18bed901 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromJSResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromJSResultsFileWithIndividualResults.cs @@ -62,5 +62,11 @@ public WhenParsingCucumberJsonFromJSResultsFileWithIndividualResults() { base.ThenCanReadExamplesWithRegexValuesFromScenarioOutline_ShouldBeTestResultPassed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromRubyResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromRubyResultsFileWithIndividualResults.cs index 53bc5e85b..165eec77e 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromRubyResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromRubyResultsFileWithIndividualResults.cs @@ -62,5 +62,11 @@ public WhenParsingCucumberJsonFromRubyResultsFileWithIndividualResults() { base.ThenCanReadExamplesWithRegexValuesFromScenarioOutline_ShouldBeTestResultPassed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json index b2815df2e..eb9fe8709 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json @@ -1368,6 +1368,52 @@ } } ] + }, + { + "name": "Deal correctly with overlong example values", + "id": "Scenario-Outlines;deal-correctly-with-overlong-example-values", + "line": 88, + "keyword": "Scenario", + "description": "", + "type": "scenario", + "steps": [ + { + "name": "I have a field with value 'Please enter a valid two letter country code (e.g. DE)!'", + "line": 82, + "keyword": "When ", + "result": { + "status": "passed", + "duration": 80965 + }, + "match": { + "location": "D:\\Work\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:37" + } + }, + { + "name": "I have a field with value 'This is just a very very very veery long error message!'", + "line": 83, + "keyword": "And ", + "result": { + "status": "passed", + "duration": 54167 + }, + "match": { + "location": "D:\\Work\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:37" + } + }, + { + "name": "the scenario will 'pass_1'", + "line": 84, + "keyword": "Then ", + "result": { + "status": "passed", + "duration": 54736 + }, + "match": { + "location": "D:\\Work\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:7" + } + } + ] } ] }, diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json index 6bd36ffd8..e2c7bc11b 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json @@ -1480,6 +1480,52 @@ } } ] + }, + { + "id": "scenario-outlines;deal-correctly-with-overlong-example-values;;2", + "keyword": "Scenario Outline", + "name": "Deal correctly with overlong example values", + "description": "", + "line": 88, + "type": "scenario", + "steps": [ + { + "keyword": "When ", + "name": "I have a field with value 'Please enter a valid two letter country code (e.g. DE)!'", + "line": 88, + "match": { + "location": "features/step_definitions/ScenarioOutlineSteps.rb:25" + }, + "result": { + "status": "passed", + "duration": 0 + } + }, + { + "keyword": "And ", + "name": "I have a field with value 'This is just a very very very veery long error message!'", + "line": 88, + "match": { + "location": "features/step_definitions/ScenarioOutlineSteps.rb:25" + }, + "result": { + "status": "passed", + "duration": 0 + } + }, + { + "keyword": "Then ", + "name": "the scenario will 'pass_1'", + "line": 88, + "match": { + "location": "features/step_definitions/ScenarioOutlineSteps.rb:1" + }, + "result": { + "status": "passed", + "duration": 0 + } + } + ] } ] }, diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithIndividualResults.cs index 0e7a8dc88..20c302c4e 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFileWithIndividualResults.cs @@ -62,5 +62,11 @@ public WhenParsingMsTestResultsFileWithIndividualResults() { base.ThenCanReadExamplesWithRegexValuesFromScenarioOutline_ShouldBeTestResultPassed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx index b3e62685a..4ce905140 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx @@ -1,8 +1,8 @@  - + These are default test settings for a local test run. - + @@ -10,14 +10,14 @@ - + - + - + This scenario contains examples with Regex-special characters - + FeatureTitle @@ -32,25 +32,25 @@ [] - + Not automated scenario 1 - + FeatureTitle Not Automated At All - + Adding several numbers - + Parameter:first number @@ -77,11 +77,11 @@ Addition - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -96,22 +96,22 @@ fail_2 - + Not automated scenario 3 - + FeatureTitle Not Automated At All - + - + This scenario contains examples with Regex-special characters - + FeatureTitle @@ -126,22 +126,22 @@ .* - + This is a scenario with parentheses, hyphen and comma (10-20, 30-40) - + FeatureTitle Scenarios With Special Characters - + - + This scenario contains examples with Regex-special characters - + FeatureTitle @@ -156,55 +156,55 @@ ++ - + Add two numbers - + FeatureTitle Failing Background - + Failing Feature Inconclusive Scenario - + FeatureTitle Failing - + Inconclusive Feature Inconclusive Scenario - + FeatureTitle Inconclusive - + Failing Feature Passing Scenario - + FeatureTitle Failing - + Deal correctly with backslashes in the examples - + FeatureTitle @@ -219,11 +219,11 @@ c:\Temp\ - + This is a scenario outline where one scenario fails - + FeatureTitle @@ -238,11 +238,11 @@ pass_2 - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -257,11 +257,11 @@ fail_1 - + - + This scenario contains examples with Regex-special characters - + FeatureTitle @@ -276,11 +276,11 @@ ^.*(?<foo>BAR)\s[^0-9]{3,4}A+$ - + - + This scenario contains examples with Regex-special characters - + FeatureTitle @@ -295,14 +295,14 @@ () - + Adding several numbers - + Parameter:first number @@ -312,10 +312,6 @@ VariantName 60 - - Parameter:result - 260 - Parameter:third number 130 @@ -328,12 +324,16 @@ FeatureTitle Addition + + Parameter:result + 260 + - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -348,41 +348,41 @@ pass_2 - + Failing Feature Failing Scenario - + FeatureTitle Failing - + Deal correctly with parenthesis in the examples - + FeatureTitle Scenario Outlines - VariantName + Parameter:overly descriptive field This is a description (and more) - Parameter:overly descriptive field + VariantName This is a description (and more) - + This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -397,11 +397,11 @@ pass_1 - + This is a scenario outline where all scenarios pass - + FeatureTitle @@ -416,22 +416,22 @@ pass_2 - + Inconclusive Feature Passing Scenario - + FeatureTitle Inconclusive - + This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -446,21 +446,21 @@ inconclusive_1 - + - + FeatureTitle Addition - + This is a scenario outline with parentheses, hyphen and comma (10-20, 30-40) - + FeatureTitle @@ -475,25 +475,25 @@ pass_1 - + Add two numbers - + FeatureTitle Addition - + This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -508,11 +508,11 @@ pass_2 - + This is a scenario outline where one scenario fails - + FeatureTitle @@ -527,11 +527,11 @@ fail_1 - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -546,11 +546,11 @@ inconclusive_2 - + Adding several numbers - + Parameter:first number @@ -560,10 +560,6 @@ VariantName 60 - - Parameter:result - 260 - Parameter:third number 130 @@ -576,23 +572,27 @@ FeatureTitle Failing Background + + Parameter:result + 260 + - + Not automated scenario 2 - + FeatureTitle Not Automated At All - + This is a scenario outline where all scenarios pass - + FeatureTitle @@ -607,11 +607,34 @@ pass_1 - + + + + Deal correctly with overlong example values + + + + FeatureTitle + Scenario Outlines + + + VariantName + Please enter a valid two letter country code (e.g. DE)! + + + Parameter:value1 + Please enter a valid two letter country code (e.g. DE)! + + + Parameter:value2 + This is just a very very very veery long error message! + + + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -626,22 +649,22 @@ pass_1 - + Passing Feature Passing Scenario - + FeatureTitle Passing - + - + This scenario contains examples with Regex-special characters - + FeatureTitle @@ -656,11 +679,11 @@ ** - + This is a scenario outline where all scenarios pass - + FeatureTitle @@ -675,11 +698,11 @@ pass_3 - + This is a scenario outline where one scenario fails - + FeatureTitle @@ -694,11 +717,11 @@ pass_1 - + - + This scenario contains examples with Regex-special characters - + FeatureTitle @@ -713,11 +736,11 @@ {} - + Adding several numbers - + Parameter:first number @@ -727,10 +750,6 @@ VariantName 40 - - Parameter:result - 180 - Parameter:third number 90 @@ -743,37 +762,41 @@ FeatureTitle Failing Background + + Parameter:result + 180 + - + Fail to add two numbers - + FeatureTitle Addition - + Not automated adding two numbers - + FeatureTitle Addition - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -788,7 +811,7 @@ inconclusive_1 - + @@ -796,53 +819,54 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -855,10 +879,10 @@ And I have entered 90 into the calculator When I press add -> done: AdditionSteps.WhenIPressAdd() (0,0s) Then the result should be 180 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,1s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -874,7 +898,7 @@ Then the result should be 260 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -888,7 +912,7 @@ Then the result should be 3 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -919,13 +943,13 @@ System.FormatException: Die Eingabezeichenfolge hat das falsche Format. - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -988,13 +1012,13 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.AdditionFeature.NotAutomatedAddingTwoNumbers() in D:\Work\pickles-testresults\TestHarness\MsTest\Addition.feature:Zeile 46. + bei Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.AdditionFeature.NotAutomatedAddingTwoNumbers() in c:\Development\pickles-testresults\TestHarness\MsTest\Addition.feature:Zeile 46. - + Given the background step fails -> error: @@ -1025,21 +1049,21 @@ Shouldly.ChuckedAWobbly: 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. bei lambda_method(Closure , IContextManager ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 19. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_40() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 19. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_40() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - + Given the background step fails -> error: @@ -1070,21 +1094,21 @@ Shouldly.ChuckedAWobbly: 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. bei lambda_method(Closure , IContextManager ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 19. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_60() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 19. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_60() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - + Given the background step fails -> error: @@ -1113,20 +1137,20 @@ Shouldly.ChuckedAWobbly: 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. bei lambda_method(Closure , IContextManager ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddTwoNumbers() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 12. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 12. - + Then failing step -> error: @@ -1145,20 +1169,20 @@ Shouldly.ChuckedAWobbly: True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:Zeile 24. + bei AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:Zeile 24. bei lambda_method(Closure , IContextManager ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:Zeile 10. + bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:Zeile 10. - + Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() @@ -1171,19 +1195,19 @@ Shouldly.ChuckedAWobbly: bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:Zeile 7. + bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:Zeile 7. - + Then passing step -> done: MinimalSteps.ThenPassingStep() (0,0s) - + Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() @@ -1196,25 +1220,25 @@ Shouldly.ChuckedAWobbly: bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature:Zeile 7. + bei Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature:Zeile 7. - + Then passing step -> done: MinimalSteps.ThenPassingStep() (0,0s) - + Then passing step -> done: MinimalSteps.ThenPassingStep() (0,0s) - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1283,13 +1307,13 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario1() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 9. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario1() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 9. - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1358,13 +1382,13 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario2() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 14. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario2() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 14. - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1433,27 +1457,27 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario3() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 19. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario3() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 19. - + - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -1466,14 +1490,14 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'inconclusive_2' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") @@ -1486,14 +1510,14 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'fail_1' -> error: @@ -1512,21 +1536,21 @@ Shouldly.ChuckedAWobbly: True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei lambda_method(Closure , IContextManager , String ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'fail_2' -> error: @@ -1545,51 +1569,61 @@ Shouldly.ChuckedAWobbly: True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei lambda_method(Closure , IContextManager , String ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + When I have backslashes in the value, for example a 'c:\Temp\' -> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) - + + + When I have a field with value 'Please enter a valid two letter country code (e.g. DE)!' +-> done: ScenarioOutlineSteps.WhenIHaveAFieldWithValue("Please enter a va...") (0,0s) +And I have a field with value 'This is just a very very very veery long error message!' +-> done: ScenarioOutlineSteps.WhenIHaveAFieldWithValue("This is just a ve...") (0,0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) + + + When I have parenthesis in the value, for example an 'This is a description (and more)' -> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0,0s) - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) - + Then the scenario will 'pass_3' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) - + Then the scenario will 'fail_1' -> error: @@ -1608,33 +1642,33 @@ Shouldly.ChuckedAWobbly: True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei lambda_method(Closure , IContextManager , String ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 34. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 34. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -1647,26 +1681,26 @@ Shouldly.ChuckedAWobbly: bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 21. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 21. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -1674,7 +1708,7 @@ Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -1688,7 +1722,7 @@ Then the result should be 120 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(120) (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -1698,7 +1732,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -1708,7 +1742,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -1718,7 +1752,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -1728,7 +1762,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -1738,7 +1772,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -1748,7 +1782,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenDeterminingTheSignatureOfAnNUnitExampleRow.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenDeterminingTheSignatureOfAnNUnitExampleRow.cs index 3f26f3ee3..ff99f0cae 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenDeterminingTheSignatureOfAnNUnitExampleRow.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenDeterminingTheSignatureOfAnNUnitExampleRow.cs @@ -18,10 +18,8 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using System.Text.RegularExpressions; -using Autofac; using NFluent; @@ -29,7 +27,7 @@ using PicklesDoc.Pickles.ObjectModel; using PicklesDoc.Pickles.Test; -using PicklesDoc.Pickles.TestFrameworks.NUnit; +using PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit2; namespace PicklesDoc.Pickles.TestFrameworks.UnitTests.NUnit.NUnit2 { @@ -42,20 +40,37 @@ public void ThenCanSuccessfullyMatch() var scenarioOutline = new ScenarioOutline { Name = "Adding several numbers" }; var exampleRow = new[] { "40", "50", "90" }; - var signatureBuilder = new NUnitExampleSignatureBuilder(); + var signatureBuilder = new NUnit2ExampleSignatureBuilder(); Regex signature = signatureBuilder.Build(scenarioOutline, exampleRow); var isMatch = signature.IsMatch("Pickles.TestHarness.AdditionFeature.AddingSeveralNumbers(\"40\",\"50\",\"90\",System.String[])".ToLowerInvariant()); Check.That(isMatch).IsTrue(); } + [Test] + public void ThenCanSuccessfullyMatchExamplesWithLongValues() + { + var scenarioOutline = new ScenarioOutline { Name = "Deal correctly with overlong example values" }; + var exampleRow = new[] + { + "Please enter a valid two letter country code (e.g. DE)!", + "This is just a very very very veery long error message!" + }; + + var signatureBuilder = new NUnit2ExampleSignatureBuilder(); + var signature = signatureBuilder.Build(scenarioOutline, exampleRow); + + var isMatch = signature.IsMatch("Pickles.TestHarness.nunit.ScenarioOutlinesFeature.DealCorrectlyWithOverlongExampleValues(\"Please enter a valid two letter country code (e.g. DE)!\",\"This is just a very very very veery long error message!\",null)".ToLowerInvariant()); + Check.That(isMatch).IsTrue(); + } + [Test] public void ThenCanSuccessfullyMatchSpecialCharacters() { var scenarioOutline = new ScenarioOutline { Name = "Adding several numbers (foo-bar, foo bar)" }; var exampleRow = new[] { "40", "50", "90" }; - var signatureBuilder = new NUnitExampleSignatureBuilder(); + var signatureBuilder = new NUnit2ExampleSignatureBuilder(); Regex signature = signatureBuilder.Build(scenarioOutline, exampleRow); var isMatch = signature.IsMatch("Pickles.TestHarness.AdditionFeature.AddingSeveralNumbersFoo_BarFooBar(\"40\",\"50\",\"90\",System.String[])".ToLowerInvariant()); diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenParsingNUnitResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenParsingNUnitResultsFileWithIndividualResults.cs index a50f55383..70934aaf7 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenParsingNUnitResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenParsingNUnitResultsFileWithIndividualResults.cs @@ -18,7 +18,6 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using NUnit.Framework; @@ -63,5 +62,11 @@ public WhenParsingNUnitResultsFileWithIndividualResults() { base.ThenCanReadExamplesWithRegexValuesFromScenarioOutline_ShouldBeTestResultPassed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml index ee1b01958..4079f78a1 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml @@ -1,25 +1,25 @@ - - + + - + - + - + - + - + - + - - + + @@ -27,7 +27,7 @@ - + @@ -43,8 +43,8 @@ bei System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() -bei Pickles.TestHarness.nunit.AdditionFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\nunit\Addition.feature.cs:Zeile 0. -bei Pickles.TestHarness.nunit.AdditionFeature.FailToAddTwoNumbers() in D:\Work\pickles-testresults\TestHarness\nunit\Addition.feature:Zeile 34. +bei Pickles.TestHarness.nunit.AdditionFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit\Addition.feature.cs:Zeile 0. +bei Pickles.TestHarness.nunit.AdditionFeature.FailToAddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\nunit\Addition.feature:Zeile 34. ]]> @@ -53,7 +53,7 @@ bei Pickles.TestHarness.nunit.AdditionFeature.FailToAddTwoNumbers() in D:\Work\p - + - + - + - + - + - + - + - + - + - + @@ -189,7 +189,7 @@ bei Pickles.TestHarness.nunit.MinimalFeatures.FailingFeature.FailingFeatureFaili - + @@ -197,19 +197,19 @@ bei Pickles.TestHarness.nunit.MinimalFeatures.FailingFeature.FailingFeatureFaili MinimalSteps.ThenInconclusiveStep()]]> - + - + - + - + - + - + - + - + - + - + @@ -328,7 +328,7 @@ namespace MyNamespace ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2")]]> - + - + - + - + - + + + + + + - + - + - + - + - + - + - - + + - + - - + + - + + + - - diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenDeterminingTheSignatureOfAnNunit3ExampleRow.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenDeterminingTheSignatureOfAnNunit3ExampleRow.cs index cb3137517..eefa4484d 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenDeterminingTheSignatureOfAnNunit3ExampleRow.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenDeterminingTheSignatureOfAnNunit3ExampleRow.cs @@ -18,10 +18,8 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using System.Text.RegularExpressions; -using Autofac; using NFluent; @@ -29,7 +27,7 @@ using PicklesDoc.Pickles.ObjectModel; using PicklesDoc.Pickles.Test; -using PicklesDoc.Pickles.TestFrameworks.NUnit; +using PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit3; namespace PicklesDoc.Pickles.TestFrameworks.UnitTests.NUnit.NUnit3 { @@ -42,20 +40,37 @@ public void ThenCanSuccessfullyMatch() var scenarioOutline = new ScenarioOutline { Name = "Adding several numbers" }; var exampleRow = new[] { "40", "50", "90" }; - var signatureBuilder = new NUnitExampleSignatureBuilder(); + var signatureBuilder = new NUnit3ExampleSignatureBuilder(); Regex signature = signatureBuilder.Build(scenarioOutline, exampleRow); var isMatch = signature.IsMatch("AddingSeveralNumbers(\"40\",\"50\",\"90\",System.String[])".ToLowerInvariant()); Check.That(isMatch).IsTrue(); } + [Test] + public void ThenCanSuccessfullyMatchExamplesWithLongValues() + { + var scenarioOutline = new ScenarioOutline { Name = "Deal correctly with overlong example values" }; + var exampleRow = new[] + { + "Please enter a valid two letter country code (e.g. DE)!", + "This is just a very very very veery long error message!" + }; + + var signatureBuilder = new NUnit3ExampleSignatureBuilder(); + var signature = signatureBuilder.Build(scenarioOutline, exampleRow); + + var isMatch = signature.IsMatch("DealCorrectlyWithOverlongExampleValues(\"Please enter a valid two letter count...\",\"This is just a very very very veery l...\",null)".ToLowerInvariant()); + Check.That(isMatch).IsTrue(); + } + [Test] public void ThenCanSuccessfullyMatchSpecialCharacters() { var scenarioOutline = new ScenarioOutline { Name = "Adding several numbers (foo-bar, foo bar)" }; var exampleRow = new[] { "40", "50", "90" }; - var signatureBuilder = new NUnitExampleSignatureBuilder(); + var signatureBuilder = new NUnit3ExampleSignatureBuilder(); Regex signature = signatureBuilder.Build(scenarioOutline, exampleRow); var isMatch = signature.IsMatch("AddingSeveralNumbersFoo_BarFooBar(\"40\",\"50\",\"90\",System.String[])".ToLowerInvariant()); diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenParsingNUnitResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenParsingNUnitResultsFileWithIndividualResults.cs index fc89e1200..528cf2335 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenParsingNUnitResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenParsingNUnitResultsFileWithIndividualResults.cs @@ -18,7 +18,6 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using NUnit.Framework; @@ -63,5 +62,11 @@ public WhenParsingNUnitResultsFileWithIndividualResults() { base.ThenCanReadExamplesWithRegexValuesFromScenarioOutline_ShouldBeTestResultPassed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml index 06ccdfea5..e0e5aa14e 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml @@ -1,44 +1,44 @@  - + - - + + - + - + - + - + - + - + - + - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) Given I have entered 60 into the calculator @@ -53,7 +53,7 @@ Then the result should be 260 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) Given I have entered 40 into the calculator @@ -69,7 +69,7 @@ Then the result should be 180 on the screen ]]> - + @@ -86,10 +86,10 @@ Then the result should be 3 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) ]]> - + - + @@ -103,8 +103,8 @@ Then the result should be 3 on the screen bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.nunit3.AdditionFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\nunit3\Addition.feature.cs:Zeile 0. - bei Pickles.TestHarness.nunit3.AdditionFeature.FailToAddTwoNumbers() in D:\Work\pickles-testresults\TestHarness\nunit3\Addition.feature:Zeile 34.]]> + bei Pickles.TestHarness.nunit3.AdditionFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\Addition.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.AdditionFeature.FailToAddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\nunit3\Addition.feature:Zeile 34.]]> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -118,7 +118,7 @@ Then the result should be 3.2 on the screen -> error: Die Eingabezeichenfolge hat das falsche Format. ]]> - + @@ -127,7 +127,7 @@ Then the result should be 3.2 on the screen - + @@ -191,21 +191,21 @@ Then unimplemented step ]]> - + - + - + + bei Pickles.TestHarness.nunit3.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\nunit3\FailingBackground.feature:Zeile 19.]]> error: @@ -244,7 +244,7 @@ Then the result should be 260 on the screen -> skipped because of previous errors ]]> - + + bei Pickles.TestHarness.nunit3.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\nunit3\FailingBackground.feature:Zeile 19.]]> error: @@ -284,7 +284,7 @@ Then the result should be 180 on the screen ]]> - + @@ -297,13 +297,13 @@ Then the result should be 180 on the screen 1]]> + bei Pickles.TestHarness.nunit3.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.FailingBackgroundFeature.AddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\nunit3\FailingBackground.feature:Zeile 12.]]> error: @@ -325,18 +325,18 @@ Then the result should be 120 on the screen ]]> - + - + - + @@ -349,13 +349,13 @@ Then the result should be 120 on the screen True]]> + bei Pickles.TestHarness.nunit3.MinimalFeatures.FailingFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\Minimal Features\Failing.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in c:\Development\pickles-testresults\TestHarness\nunit3\Minimal Features\Failing.feature:Zeile 10.]]> error: @@ -366,7 +366,7 @@ Then the result should be 120 on the screen True ]]> - + @@ -378,7 +378,7 @@ Then the result should be 120 on the screen -> pending: MinimalSteps.ThenInconclusiveStep() ]]> - + @@ -387,11 +387,11 @@ Then the result should be 120 on the screen ]]> - + - + @@ -403,7 +403,7 @@ Then the result should be 120 on the screen -> pending: MinimalSteps.ThenInconclusiveStep() ]]> - + @@ -412,11 +412,11 @@ Then the result should be 120 on the screen ]]> - + - + @@ -426,28 +426,28 @@ Then the result should be 120 on the screen - + - + - + bei Pickles.TestHarness.nunit3.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.NotAutomatedAtAllFeature.AddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\nunit3\NotAutomatedAtAll.feature:Zeile 11.]]> error: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. @@ -460,31 +460,31 @@ Then the result should be 120 on the screen ]]> - + - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) ]]> - + @@ -493,7 +493,7 @@ Then the result should be 120 on the screen -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") ]]> - + @@ -502,7 +502,7 @@ Then the result should be 120 on the screen -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") ]]> - + + bei Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature:Zeile 45.]]> error: @@ -529,7 +529,7 @@ Then the result should be 120 on the screen True ]]> - + + bei Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature:Zeile 45.]]> error: @@ -557,64 +557,78 @@ Then the result should be 120 on the screen ]]> - + - + done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) ]]> - + + + + + + done: ScenarioOutlineSteps.WhenIHaveAFieldWithValue("Please enter a va...") (0,0s) +And I have a field with value 'This is just a very very very veery long error message!' +-> done: ScenarioOutlineSteps.WhenIHaveAFieldWithValue("This is just a ve...") (0,0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +]]> + + + - + done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0,0s) ]]> - + - + + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) +]]> + + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -]]> - - - done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) ]]> - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) ]]> - + + bei Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature:Zeile 34.]]> error: @@ -642,21 +656,21 @@ Then the result should be 120 on the screen ]]> - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) ]]> - + @@ -667,15 +681,15 @@ Then the result should be 120 on the screen - + - + - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) Then the scenario will 'pass_1' @@ -683,7 +697,7 @@ Then the scenario will 'pass_1' ]]> - + @@ -699,11 +713,20 @@ Then the result should be 120 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(120) (0,0s) ]]> - + - + + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '^.*(?BAR)\s[^0-9]{3,4}A+$' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("^.*(?BAR)\s[...") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) +]]> + + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) When I have special characters for regexes in the value, for example a '**' @@ -712,7 +735,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) When I have special characters for regexes in the value, for example a '++' @@ -721,7 +744,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) When I have special characters for regexes in the value, for example a '.*' @@ -730,7 +753,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) When I have special characters for regexes in the value, for example a '[]' @@ -739,7 +762,7 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) When I have special characters for regexes in the value, for example a '{}' @@ -748,22 +771,13 @@ Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) When I have special characters for regexes in the value, for example a '()' -> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("()") (0,0s) Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) -]]> - - - done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -When I have special characters for regexes in the value, for example a '^.*(?BAR)\s[^0-9]{3,4}A+$' --> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("^.*(?BAR)\s[...") (0,0s) -Then the scenario will 'PASS' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) ]]> diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/WhenParsingSpecRunTestResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/WhenParsingSpecRunTestResultsFileWithIndividualResults.cs index 75afd4633..db2a67a67 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/WhenParsingSpecRunTestResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/WhenParsingSpecRunTestResultsFileWithIndividualResults.cs @@ -56,5 +56,11 @@ public WhenParsingSpecRunTestResultsFileWithIndividualResults() { base.ThenCanReadIndividualResultsFromScenarioOutline_MultipleExampleSections_ShouldBeTestResultFailed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/results-example-specrun.html b/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/results-example-specrun.html index 2307053f3..8a7c34d66 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/results-example-specrun.html +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/results-example-specrun.html @@ -182,6 +182,10 @@ <title>Deal correctly with parenthesis in the examples, This is a description (and more)</title> <result>Passed</result> </scenario> + <scenario> + <title>Deal correctly with overlong example values, Please enter a valid two letter country code (e.g. DE)!</title> + <result>Passed</result> + </scenario> </scenarios> </feature> <feature> diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuiteForScenarioOutlines.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuiteForScenarioOutlines.cs index 5a9a32eb6..526a0652c 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuiteForScenarioOutlines.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuiteForScenarioOutlines.cs @@ -21,7 +21,6 @@ using NFluent; -using NUnit.Framework; using PicklesDoc.Pickles.ObjectModel; @@ -163,5 +162,20 @@ public void ThenCanReadExamplesWithRegexValuesFromScenarioOutline_ShouldBeTestRe TestResult exampleResult7 = results.GetExampleResult(scenarioOutline, new[] { @"^.*(?BAR)\s[^0-9]{3,4}A+$" }); Check.That(exampleResult7).IsEqualTo(TestResult.Passed); } + + public void ThenCanReadExamplesWithLongExampleValues() + { + var results = ParseResultsFile(); + + var feature = new Feature { Name = "Scenario Outlines" }; + + var scenarioOutline = new ScenarioOutline { Name = "Deal correctly with overlong example values", Feature = feature }; + + TestResult exampleResultOutline = results.GetScenarioOutlineResult(scenarioOutline); + Check.That(exampleResultOutline).IsEqualTo(TestResult.Passed); + + TestResult exampleResult1 = results.GetExampleResult(scenarioOutline, new[] { "Please enter a valid two letter country code (e.g. DE)!", "This is just a very very very veery long error message!" }); + Check.That(exampleResult1).IsEqualTo(TestResult.Passed); + } } } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/WhenParsingVsTestResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/WhenParsingVsTestResultsFileWithIndividualResults.cs index b8d0af789..c93cdcac0 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/WhenParsingVsTestResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/WhenParsingVsTestResultsFileWithIndividualResults.cs @@ -18,7 +18,6 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using NUnit.Framework; @@ -57,5 +56,11 @@ public WhenParsingVsTestResultsFileWithIndividualResults() { base.ThenCanReadIndividualResultsFromScenarioOutline_MultipleExampleSections_ShouldBeTestResultFailed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest.trx b/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest.trx index db2577f2d..0b5cf0f3a 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest.trx +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest.trx @@ -1,15 +1,15 @@  - - - + + + - + - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -25,7 +25,7 @@ Then the result should be 260 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -41,7 +41,7 @@ Then the result should be 180 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -55,7 +55,7 @@ Then the result should be 3 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -86,14 +86,14 @@ System.FormatException: Die Eingabezeichenfolge hat das falsche Format. - - + + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -156,13 +156,13 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.AdditionFeature.NotAutomatedAddingTwoNumbers() in D:\Work\pickles-testresults\TestHarness\MsTest\Addition.feature:Zeile 46. + bei Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.AdditionFeature.NotAutomatedAddingTwoNumbers() in c:\Development\pickles-testresults\TestHarness\MsTest\Addition.feature:Zeile 46. - + Given the background step fails -> error: @@ -191,20 +191,20 @@ Shouldly.ChuckedAWobbly: 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. bei lambda_method(Closure , IContextManager ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddTwoNumbers() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 12. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 12. - + Given the background step fails -> error: @@ -235,21 +235,21 @@ Shouldly.ChuckedAWobbly: 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. bei lambda_method(Closure , IContextManager ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 19. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_60() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 19. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_60() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - + Given the background step fails -> error: @@ -280,21 +280,103 @@ Shouldly.ChuckedAWobbly: 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. bei lambda_method(Closure , IContextManager ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 19. - bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_40() in D:\Work\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:Zeile 19. + bei Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_40() in c:\Development\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:Zeile 0. - + + + Then passing step +-> done: MinimalSteps.ThenPassingStep() (0,0s) + + + + + Then inconclusive step +-> pending: MinimalSteps.ThenInconclusiveStep() + + Assert.Inconclusive failed. One or more step definitions are not implemented yet. + MinimalSteps.ThenInconclusiveStep() + bei lambda_method(Closure , String , Object[] ) + bei TechTalk.SpecFlow.UnitTestProvider.MsTestRuntimeProvider.TestInconclusive(String message) + bei TechTalk.SpecFlow.UnitTestProvider.MsTestRuntimeProvider.TestPending(String message) + bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() + bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() + bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:Zeile 7. + + + + + + + Then failing step +-> error: + true + should be + False + but was + True + + Test method Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario threw exception: +Shouldly.ChuckedAWobbly: + true + should be + False + but was + True + bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. + bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. + bei AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:Zeile 24. + bei lambda_method(Closure , IContextManager ) + bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() + bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() + bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:Zeile 10. + + + + + + + Then passing step +-> done: MinimalSteps.ThenPassingStep() (0,0s) + + + + + Then inconclusive step +-> pending: MinimalSteps.ThenInconclusiveStep() + + Assert.Inconclusive failed. One or more step definitions are not implemented yet. + MinimalSteps.ThenInconclusiveStep() + bei lambda_method(Closure , String , Object[] ) + bei TechTalk.SpecFlow.UnitTestProvider.MsTestRuntimeProvider.TestInconclusive(String message) + bei TechTalk.SpecFlow.UnitTestProvider.MsTestRuntimeProvider.TestPending(String message) + bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() + bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() + bei Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in c:\Development\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature:Zeile 7. + + + + + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -363,13 +445,13 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario1() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 9. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario1() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 9. - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -438,13 +520,13 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario2() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 14. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario2() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 14. - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -513,43 +595,49 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario3() in D:\Work\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 19. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario3() in c:\Development\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:Zeile 19. - + + + Then passing step +-> done: MinimalSteps.ThenPassingStep() (0,0s) + + + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) - + Then the scenario will 'pass_3' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -562,26 +650,26 @@ namespace MyNamespace bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 21. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 21. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) - + Then the scenario will 'fail_1' -> error: @@ -600,33 +688,33 @@ Shouldly.ChuckedAWobbly: True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei lambda_method(Closure , IContextManager , String ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 34. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 34. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -639,14 +727,14 @@ Shouldly.ChuckedAWobbly: bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'inconclusive_2' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") @@ -659,14 +747,14 @@ Shouldly.ChuckedAWobbly: bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'fail_1' -> error: @@ -685,21 +773,21 @@ Shouldly.ChuckedAWobbly: True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei lambda_method(Closure , IContextManager , String ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + Then the scenario will 'fail_2' -> error: @@ -718,34 +806,44 @@ Shouldly.ChuckedAWobbly: True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei lambda_method(Closure , IContextManager , String ) bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. - bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() in D:\Work\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:Zeile 45. + bei Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() in c:\Development\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:Zeile 0. - + When I have backslashes in the value, for example a 'c:\Temp\' -> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) - + When I have parenthesis in the value, for example an 'This is a description (and more)' -> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0,0s) - - + + + When I have a field with value 'Please enter a valid two letter country code (e.g. DE)!' +-> done: ScenarioOutlineSteps.WhenIHaveAFieldWithValue("Please enter a va...") (0,0s) +And I have a field with value 'This is just a very very very veery long error message!' +-> done: ScenarioOutlineSteps.WhenIHaveAFieldWithValue("This is just a ve...") (0,0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) + + + + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -759,7 +857,7 @@ Then the result should be 120 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(120) (0,0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) @@ -767,297 +865,319 @@ Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) - + - Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) + Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '**' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("**") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + - Then inconclusive step --> pending: MinimalSteps.ThenInconclusiveStep() - - Assert.Inconclusive failed. One or more step definitions are not implemented yet. - MinimalSteps.ThenInconclusiveStep() - bei lambda_method(Closure , String , Object[] ) - bei TechTalk.SpecFlow.UnitTestProvider.MsTestRuntimeProvider.TestInconclusive(String message) - bei TechTalk.SpecFlow.UnitTestProvider.MsTestRuntimeProvider.TestPending(String message) - bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:Zeile 7. - - + Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '++' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("++") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + - Then failing step --> error: - true - should be - False - but was - True - - Test method Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario threw exception: -Shouldly.ChuckedAWobbly: - true - should be - False - but was - True - bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. - bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:Zeile 24. - bei lambda_method(Closure , IContextManager ) - bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:Zeile 10. - - + Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '.*' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex(".*") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + - Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) + Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '[]' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("[]") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + - Then inconclusive step --> pending: MinimalSteps.ThenInconclusiveStep() - - Assert.Inconclusive failed. One or more step definitions are not implemented yet. - MinimalSteps.ThenInconclusiveStep() - bei lambda_method(Closure , String , Object[] ) - bei TechTalk.SpecFlow.UnitTestProvider.MsTestRuntimeProvider.TestInconclusive(String message) - bei TechTalk.SpecFlow.UnitTestProvider.MsTestRuntimeProvider.TestPending(String message) - bei TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - bei Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature.cs:Zeile 0. - bei Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in D:\Work\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature:Zeile 7. - - + Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '{}' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("{}") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + - Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) + Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '()' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("()") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) + + + + + Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '^.*(?<foo>BAR)\s[^0-9]{3,4}A+$' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("^.*(?<foo>BAR)\s[...") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + - + - + - + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - Test 'IgnoredAddingTwoNumbers' was skipped in the test run.Test 'NotAutomatedAddingTwoNumbers' was skipped in the test run.Test 'NotAutomatedScenario1' was skipped in the test run.Test 'NotAutomatedScenario2' was skipped in the test run.Test 'NotAutomatedScenario3' was skipped in the test run.Test 'ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1' was skipped in the test run.Test 'AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1' was skipped in the test run.Test 'AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2' was skipped in the test run.Test 'FailingFeatureInconclusiveScenario' was skipped in the test run.Test 'InconclusiveFeatureInconclusiveScenario' was skipped in the test run. + Test 'IgnoredAddingTwoNumbers' was skipped in the test run.Test 'NotAutomatedAddingTwoNumbers' was skipped in the test run.Test 'FailingFeatureInconclusiveScenario' was skipped in the test run.Test 'InconclusiveFeatureInconclusiveScenario' was skipped in the test run.Test 'NotAutomatedScenario1' was skipped in the test run.Test 'NotAutomatedScenario2' was skipped in the test run.Test 'NotAutomatedScenario3' was skipped in the test run.Test 'ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1' was skipped in the test run.Test 'AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1' was skipped in the test run.Test 'AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2' was skipped in the test run. \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/WhenParsingXUnitResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/WhenParsingXUnitResultsFileWithIndividualResults.cs index 500461bd7..5df1ee78d 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/WhenParsingXUnitResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/WhenParsingXUnitResultsFileWithIndividualResults.cs @@ -18,7 +18,6 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using NUnit.Framework; @@ -64,5 +63,11 @@ public WhenParsingXUnitResultsFileWithIndividualResults() { base.ThenCanReadExamplesWithRegexValuesFromScenarioOutline_ShouldBeTestResultPassed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml index 5079e16e5..58f1d8520 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml @@ -1,59 +1,4 @@ -IgnoredGiven the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -Given I have entered 60 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0,0s) -And I have entered 70 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0,0s) -And I have entered 130 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0,0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) -Then the result should be 260 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -Given I have entered 40 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0,0s) -And I have entered 50 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0,0s) -And I have entered 90 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0,0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) -Then the result should be 180 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) -And I have entered 2.2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2,2) (0,0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) -Then the result should be 3.2 on the screen --> error: Die Eingabezeichenfolge hat das falsche Format. -System.FormatException : Die Eingabezeichenfolge hat das falsche Format. bei System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) - bei System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) - bei System.String.System.IConvertible.ToInt32(IFormatProvider provider) - bei System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) - bei System.Linq.Enumerable.<SelectIterator>d__5`2.MoveNext() - bei System.Linq.Buffer`1..ctor(IEnumerable`1 source) - bei System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\Addition.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.AdditionFeature.FailToAddTwoNumbers() in D:\Work\pickles-testresults\TestHarness\xunit\Addition.feature:Zeile 34.Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) -And I have entered 2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0,0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) -Then the result should be 3 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) -Given the calculator has clean memory +Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -108,8 +53,63 @@ namespace MyNamespace } } bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\Addition.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.AdditionFeature.NotAutomatedAddingTwoNumbers() in D:\Work\pickles-testresults\TestHarness\xunit\Addition.feature:Zeile 46.Given the background step fails + bei Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\Addition.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.AdditionFeature.NotAutomatedAddingTwoNumbers() in c:\Development\pickles-testresults\TestHarness\xunit\Addition.feature:Zeile 46.IgnoredGiven the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +Given I have entered 40 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0,0s) +And I have entered 50 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0,0s) +And I have entered 90 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0,0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0,0s) +Then the result should be 180 on the screen +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +Given I have entered 60 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0,0s) +And I have entered 70 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0,0s) +And I have entered 130 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0,0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0,0s) +Then the result should be 260 on the screen +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +Given I have entered 1 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) +And I have entered 2 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0,0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0,0s) +Then the result should be 3 on the screen +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +Given I have entered 1 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) +And I have entered 2.2 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2,2) (0,0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0,0s) +Then the result should be 3.2 on the screen +-> error: Die Eingabezeichenfolge hat das falsche Format. +System.FormatException : Die Eingabezeichenfolge hat das falsche Format. bei System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) + bei System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) + bei System.String.System.IConvertible.ToInt32(IFormatProvider provider) + bei System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) + bei System.Linq.Enumerable.<SelectIterator>d__5`2.MoveNext() + bei System.Linq.Buffer`1..ctor(IEnumerable`1 source) + bei System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() + bei Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\Addition.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.AdditionFeature.FailToAddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\xunit\Addition.feature:Zeile 34.Given the background step fails -> error: 1 should be @@ -118,15 +118,15 @@ namespace MyNamespace 1 And the calculator has clean memory -> skipped because of previous errors -Given I have entered 60 into the calculator +Given I have entered 40 into the calculator -> skipped because of previous errors -And I have entered 70 into the calculator +And I have entered 50 into the calculator -> skipped because of previous errors -And I have entered 130 into the calculator +And I have entered 90 into the calculator -> skipped because of previous errors When I press add -> skipped because of previous errors -Then the result should be 260 on the screen +Then the result should be 180 on the screen -> skipped because of previous errors Shouldly.ChuckedAWobbly : 1 @@ -135,13 +135,13 @@ Then the result should be 260 on the screen but was 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\xunit\FailingBackground.feature:Zeile 19.Given the background step fails + bei Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit\FailingBackground.feature:Zeile 19.Given the background step fails -> error: 1 should be @@ -150,15 +150,15 @@ Then the result should be 260 on the screen 1 And the calculator has clean memory -> skipped because of previous errors -Given I have entered 40 into the calculator +Given I have entered 60 into the calculator -> skipped because of previous errors -And I have entered 50 into the calculator +And I have entered 70 into the calculator -> skipped because of previous errors -And I have entered 90 into the calculator +And I have entered 130 into the calculator -> skipped because of previous errors When I press add -> skipped because of previous errors -Then the result should be 180 on the screen +Then the result should be 260 on the screen -> skipped because of previous errors Shouldly.ChuckedAWobbly : 1 @@ -167,13 +167,13 @@ Then the result should be 180 on the screen but was 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\xunit\FailingBackground.feature:Zeile 19.Given the background step fails + bei Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit\FailingBackground.feature:Zeile 19.Given the background step fails -> error: 1 should be @@ -197,13 +197,49 @@ Then the result should be 120 on the screen but was 1 bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:Zeile 25. + bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) + bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() + bei Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.FailingBackgroundFeature.AddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\xunit\FailingBackground.feature:Zeile 12.Then failing step +-> error: + true + should be + False + but was + True +Shouldly.ChuckedAWobbly : + true + should be + False + but was + True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. + bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. + bei AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in c:\Development\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:Zeile 24. bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.FailingBackgroundFeature.AddTwoNumbers() in D:\Work\pickles-testresults\TestHarness\xunit\FailingBackground.feature:Zeile 12.Given unimplemented step + bei Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in c:\Development\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:Zeile 10.Then inconclusive step +-> pending: MinimalSteps.ThenInconclusiveStep() +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + MinimalSteps.ThenInconclusiveStep() bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + bei Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in c:\Development\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:Zeile 7.Then passing step +-> done: MinimalSteps.ThenPassingStep() (0,0s) +Then inconclusive step +-> pending: MinimalSteps.ThenInconclusiveStep() +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + MinimalSteps.ThenInconclusiveStep() bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + bei Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in c:\Development\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature:Zeile 7.Then passing step +-> done: MinimalSteps.ThenPassingStep() (0,0s) +Then passing step +-> done: MinimalSteps.ThenPassingStep() (0,0s) +Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -264,8 +300,8 @@ namespace MyNamespace } } bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario2() in D:\Work\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:Zeile 14.Given unimplemented step + bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario2() in c:\Development\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:Zeile 14.Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -326,8 +362,8 @@ namespace MyNamespace } } bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario3() in D:\Work\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:Zeile 19.Given unimplemented step + bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario1() in c:\Development\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:Zeile 9.Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -388,24 +424,8 @@ namespace MyNamespace } } bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario1() in D:\Work\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:Zeile 9.When I have parenthesis in the value, for example an 'This is a description (and more)' --> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0,0s) -Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -Then the scenario will 'inconclusive_1' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 45.Then the scenario will 'inconclusive_2' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 45.Then the scenario will 'fail_1' + bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario3() in c:\Development\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:Zeile 19.Then the scenario will 'fail_1' -> error: true should be @@ -419,13 +439,36 @@ namespace MyNamespace but was True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 45.Then the scenario will 'fail_2' + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 34.Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +When I have backslashes in the value, for example a 'c:\Temp\' +-> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) +When I have parenthesis in the value, for example an 'This is a description (and more)' +-> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0,0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +Then the scenario will 'pass_3' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +Then the scenario will 'inconclusive_1' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 21.Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +Then the scenario will 'fail_1' -> error: true should be @@ -439,34 +482,18 @@ namespace MyNamespace but was True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 45.When I have backslashes in the value, for example a 'c:\Temp\' --> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) -Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -Then the scenario will 'pass_3' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) -Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -Then the scenario will 'inconclusive_1' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 45.Then the scenario will 'inconclusive_2' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 21.Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -Then the scenario will 'fail_1' + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 45.Then the scenario will 'fail_2' -> error: true should be @@ -480,17 +507,50 @@ namespace MyNamespace but was True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in D:\Work\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. + bei AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in c:\Development\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:Zeile 21. bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in D:\Work\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 34.Given the calculator has clean memory + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 45.Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +Then the scenario will 'inconclusive_1' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:Zeile 45.Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +When I have a field with value 'Please enter a valid two letter country code (e.g. DE)!' +-> done: ScenarioOutlineSteps.WhenIHaveAFieldWithValue("Please enter a va...") (0,0s) +And I have a field with value 'This is just a very very very veery long error message!' +-> done: ScenarioOutlineSteps.WhenIHaveAFieldWithValue("This is just a ve...") (0,0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Given the calculator has clean memory +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '{}' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("{}") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '()' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("()") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +When I have special characters for regexes in the value, for example a '^.*(?<foo>BAR)\s[^0-9]{3,4}A+$' +-> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("^.*(?<foo>BAR)\s[...") (0,0s) +Then the scenario will 'PASS' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) +Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) When I have special characters for regexes in the value, for example a '**' -> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("**") (0,0s) @@ -514,24 +574,6 @@ When I have special characters for regexes in the value, for example a '[]' -> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("[]") (0,0s) Then the scenario will 'PASS' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -When I have special characters for regexes in the value, for example a '{}' --> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("{}") (0,0s) -Then the scenario will 'PASS' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -When I have special characters for regexes in the value, for example a '()' --> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("()") (0,0s) -Then the scenario will 'PASS' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -When I have special characters for regexes in the value, for example a '^.*(?<foo>BAR)\s[^0-9]{3,4}A+$' --> done: ScenarioOutlineSteps.WhenIHaveSpecialCharactersForRegexesInTheValueForExampleARegex("^.*(?<foo>BAR)\s[...") (0,0s) -Then the scenario will 'PASS' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("PASS") (0,0s) Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) Given I have entered 50 into the calculator @@ -542,40 +584,4 @@ When I press add -> done: AdditionSteps.WhenIPressAdd() (0,0s) Then the result should be 120 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(120) (0,0s) -Then inconclusive step --> pending: MinimalSteps.ThenInconclusiveStep() -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - MinimalSteps.ThenInconclusiveStep() bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in D:\Work\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:Zeile 7.Then failing step --> error: - true - should be - False - but was - True -Shouldly.ChuckedAWobbly : - true - should be - False - but was - True bei Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:Zeile 18. - bei Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:Zeile 17. - bei AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in D:\Work\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:Zeile 24. - bei TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) - bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in D:\Work\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:Zeile 10.Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) -Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) -Then inconclusive step --> pending: MinimalSteps.ThenInconclusiveStep() -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - MinimalSteps.ThenInconclusiveStep() bei TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - bei Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in D:\Work\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature:Zeile 7.Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenDeterminingTheSignatureOfAnXUnit2ExampleRow.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenDeterminingTheSignatureOfAnXUnit2ExampleRow.cs index d4d1bccf7..cb6079c38 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenDeterminingTheSignatureOfAnXUnit2ExampleRow.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenDeterminingTheSignatureOfAnXUnit2ExampleRow.cs @@ -46,6 +46,23 @@ public void ThenCanSuccessfullyMatch() Check.That(isMatch).IsTrue(); } + [Test] + public void ThenCanSuccessfullyMatchExamplesWithLongValues() + { + var scenarioOutline = new ScenarioOutline { Name = "Deal correctly with overlong example values" }; + var exampleRow = new[] + { + "Please enter a valid two letter country code (e.g. DE)!", + "This is just a very very very veery long error message!" + }; + + var signatureBuilder = new XUnitExampleSignatureBuilder(); + var signature = signatureBuilder.Build(scenarioOutline, exampleRow); + + var isMatch = signature.IsMatch("Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.DealCorrectlyWithOverlongExampleValues(value1: \"Please enter a valid two letter country code (e.g.\"..., value2: \"This is just a very very very veery long error mes\"..., exampleTags: [])".ToLowerInvariant()); + Check.That(isMatch).IsTrue(); + } + private static bool MatchRegexSpecialChars(string expectedParameter) { var scenarioOutline = new ScenarioOutline { Name = "This scenario contains examples with Regex-special characters" }; diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenParsingXUnitResultsFileWithIndividualResults.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenParsingXUnitResultsFileWithIndividualResults.cs index 44ce35b9f..9e5637148 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenParsingXUnitResultsFileWithIndividualResults.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenParsingXUnitResultsFileWithIndividualResults.cs @@ -18,7 +18,7 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; + using NUnit.Framework; @@ -64,5 +64,11 @@ public WhenParsingXUnitResultsFileWithIndividualResults() { base.ThenCanReadExamplesWithRegexValuesFromScenarioOutline_ShouldBeTestResultPassed(); } + + [Test] + public new void ThenCanReadExamplesWithLongExampleValues() + { + base.ThenCanReadExamplesWithLongExampleValues(); + } } } \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml index e44303a18..b7e7778ef 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml @@ -1,39 +1,93 @@  - + - - + + - - + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + @@ -42,220 +96,144 @@ + bei Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:Zeile 34.]]> - + - + - + - + - + - + - - - - - + - - - - - - - + - + - + + bei Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:Zeile 21.]]> - + - + - - - - - + - + + bei Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:Zeile 45.]]> - + - + - - - + + + - + + - - + + - + + + + - - - + - - + + - + - - + + + bei Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:Zeile 45.]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + - - + + - - + + @@ -264,16 +242,16 @@ + bei Pickles.TestHarness.xunit2.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit2\FailingBackground.feature:Zeile 19.]]> - + @@ -282,16 +260,16 @@ + bei Pickles.TestHarness.xunit2.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in c:\Development\pickles-testresults\TestHarness\xunit2\FailingBackground.feature:Zeile 19.]]> - + @@ -300,96 +278,86 @@ + bei Pickles.TestHarness.xunit2.FailingBackgroundFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\FailingBackground.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.FailingBackgroundFeature.AddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\xunit2\FailingBackground.feature:Zeile 12.]]> - - + + - - + + - + - - + + - - - - - - - + - - + + - - - - - + - - + + - - - - - + - - + + - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + - - + + - + - + @@ -397,11 +365,11 @@ + bei Pickles.TestHarness.xunit2.AdditionFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\Addition.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.AdditionFeature.NotAutomatedAddingTwoNumbers() in c:\Development\pickles-testresults\TestHarness\xunit2\Addition.feature:Zeile 46.]]> - + @@ -409,15 +377,15 @@ - + - + - + @@ -431,8 +399,46 @@ bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) bei TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - bei Pickles.TestHarness.xunit2.AdditionFeature.ScenarioCleanup() in D:\Work\pickles-testresults\TestHarness\xunit2\Addition.feature.cs:Zeile 0. - bei Pickles.TestHarness.xunit2.AdditionFeature.FailToAddTwoNumbers() in D:\Work\pickles-testresults\TestHarness\xunit2\Addition.feature:Zeile 34.]]> + bei Pickles.TestHarness.xunit2.AdditionFeature.ScenarioCleanup() in c:\Development\pickles-testresults\TestHarness\xunit2\Addition.feature.cs:Zeile 0. + bei Pickles.TestHarness.xunit2.AdditionFeature.FailToAddTwoNumbers() in c:\Development\pickles-testresults\TestHarness\xunit2\Addition.feature:Zeile 34.]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2ExampleSignatureBuilder.cs similarity index 76% rename from src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs rename to src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2ExampleSignatureBuilder.cs index 2f14de97e..b5adf9ed0 100644 --- a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs +++ b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2ExampleSignatureBuilder.cs @@ -1,5 +1,5 @@ // -------------------------------------------------------------------------------------------------------------------- -// +// // Copyright 2011 Jeffrey Cameron // Copyright 2012-present PicklesDoc team and community contributors // @@ -23,13 +23,10 @@ using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.TestFrameworks.NUnit +namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit2 { - public class NUnitExampleSignatureBuilder + public class NUnit2ExampleSignatureBuilder { - private static readonly Regex PunctuationCharactersRegex = new Regex(@"[\n\.-]+", RegexOptions.Compiled); - private static readonly Regex NonIdentifierCharacterRegex = new Regex(@"[^\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}\p{Pc}]", RegexOptions.Compiled); - public Regex Build(ScenarioOutline scenarioOutline, string[] row) { var stringBuilder = new StringBuilder(); @@ -37,7 +34,7 @@ public Regex Build(ScenarioOutline scenarioOutline, string[] row) var name = SpecFlowNameMapping.Build(scenarioOutline.Name.ToLowerInvariant()); stringBuilder.Append(name).Append("\\("); - foreach (string value in row) + foreach (var value in row) { stringBuilder.AppendFormat("\"{0}\",", Regex.Escape(value.ToLowerInvariant())); } diff --git a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2Results.cs b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2Results.cs index a70b897e1..082389cfd 100644 --- a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2Results.cs +++ b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2Results.cs @@ -18,13 +18,12 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit2 { public class NUnit2Results : MultipleTestRunsBase { - public NUnit2Results(IConfiguration configuration, NUnit2SingleResultLoader singleResultLoader, NUnitScenarioOutlineExampleMatcher scenarioOutlineExampleMatcher) + public NUnit2Results(IConfiguration configuration, NUnit2SingleResultLoader singleResultLoader, NUnit2ScenarioOutlineExampleMatcher scenarioOutlineExampleMatcher) : base(configuration, singleResultLoader, scenarioOutlineExampleMatcher) { } diff --git a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitScenarioOutlineExampleMatcher.cs b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2ScenarioOutlineExampleMatcher.cs similarity index 82% rename from src/Pickles/Pickles.TestFrameworks/NUnit/NUnitScenarioOutlineExampleMatcher.cs rename to src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2ScenarioOutlineExampleMatcher.cs index 0438d7c94..59d40f2ed 100644 --- a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitScenarioOutlineExampleMatcher.cs +++ b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit2/NUnit2ScenarioOutlineExampleMatcher.cs @@ -1,5 +1,5 @@ // -------------------------------------------------------------------------------------------------------------------- -// +// // Copyright 2011 Jeffrey Cameron // Copyright 2012-present PicklesDoc team and community contributors // @@ -23,11 +23,11 @@ using PicklesDoc.Pickles.ObjectModel; -namespace PicklesDoc.Pickles.TestFrameworks.NUnit +namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit2 { - public class NUnitScenarioOutlineExampleMatcher : IScenarioOutlineExampleMatcher + public class NUnit2ScenarioOutlineExampleMatcher : IScenarioOutlineExampleMatcher { - private readonly NUnitExampleSignatureBuilder signatureBuilder = new NUnitExampleSignatureBuilder(); + private readonly NUnit2ExampleSignatureBuilder signatureBuilder = new NUnit2ExampleSignatureBuilder(); public bool IsMatch(ScenarioOutline scenarioOutline, string[] exampleValues, object scenarioElement) { diff --git a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3ExampleSignatureBuilder.cs b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3ExampleSignatureBuilder.cs new file mode 100644 index 000000000..f928f9f71 --- /dev/null +++ b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3ExampleSignatureBuilder.cs @@ -0,0 +1,50 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// Copyright 2012-present PicklesDoc team and community contributors +// +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// -------------------------------------------------------------------------------------------------------------------- + +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; + +using PicklesDoc.Pickles.ObjectModel; + +namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit3 +{ + public class NUnit3ExampleSignatureBuilder + { + private const int MaxExampleValueLength = 37; + + public Regex Build(ScenarioOutline scenarioOutline, string[] row) + { + var stringBuilder = new StringBuilder(); + + var name = SpecFlowNameMapping.Build(scenarioOutline.Name.ToLowerInvariant()); + stringBuilder.Append(name).Append("\\("); + + foreach (var value in row.Select(v => v.Length > MaxExampleValueLength ? new { Value = v.Substring(0, MaxExampleValueLength), Ellipsis = "..." } : new { Value = v, Ellipsis = "" })) + { + stringBuilder.AppendFormat("\"{0}{1}\",", Regex.Escape(value.Value.ToLowerInvariant()), value.Ellipsis); + } + + stringBuilder.Remove(stringBuilder.Length - 1, 1); + + return new Regex(stringBuilder.ToString()); + } + } +} diff --git a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3Results.cs b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3Results.cs index 78f4996bb..335c50eb0 100644 --- a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3Results.cs +++ b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3Results.cs @@ -18,13 +18,12 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit3 { public class NUnit3Results : MultipleTestRunsBase { - public NUnit3Results(IConfiguration configuration, NUnit3SingleResultLoader singleResultLoader, NUnitScenarioOutlineExampleMatcher scenarioOutlineExampleMatcher) + public NUnit3Results(IConfiguration configuration, NUnit3SingleResultLoader singleResultLoader, NUnit3ScenarioOutlineExampleMatcher scenarioOutlineExampleMatcher) : base(configuration, singleResultLoader, scenarioOutlineExampleMatcher) { } diff --git a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3ScenarioOutlineExampleMatcher.cs b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3ScenarioOutlineExampleMatcher.cs new file mode 100644 index 000000000..feb8bd994 --- /dev/null +++ b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnit3/NUnit3ScenarioOutlineExampleMatcher.cs @@ -0,0 +1,45 @@ +// -------------------------------------------------------------------------------------------------------------------- +// +// Copyright 2011 Jeffrey Cameron +// Copyright 2012-present PicklesDoc team and community contributors +// +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// -------------------------------------------------------------------------------------------------------------------- + +using System.Text.RegularExpressions; +using System.Xml.Linq; + +using PicklesDoc.Pickles.ObjectModel; + +namespace PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit3 +{ + public class NUnit3ScenarioOutlineExampleMatcher : IScenarioOutlineExampleMatcher + { + private readonly NUnit3ExampleSignatureBuilder signatureBuilder = new NUnit3ExampleSignatureBuilder(); + + public bool IsMatch(ScenarioOutline scenarioOutline, string[] exampleValues, object scenarioElement) + { + var build = this.signatureBuilder.Build(scenarioOutline, exampleValues); + + return IsMatchingTestCase((XElement)scenarioElement, build); + } + + internal static bool IsMatchingTestCase(XElement x, Regex exampleSignature) + { + var name = x.Attribute("name"); + return name != null && exampleSignature.IsMatch(name.Value.ToLowerInvariant().Replace(@"\\", @"\")); + } + } +} \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks/Pickles.TestFrameworks.csproj b/src/Pickles/Pickles.TestFrameworks/Pickles.TestFrameworks.csproj index b9182bc97..b28ffae04 100644 --- a/src/Pickles/Pickles.TestFrameworks/Pickles.TestFrameworks.csproj +++ b/src/Pickles/Pickles.TestFrameworks/Pickles.TestFrameworks.csproj @@ -56,6 +56,8 @@ + + @@ -70,7 +72,7 @@ - + @@ -80,7 +82,7 @@ results-example-nunit3.xsd - + diff --git a/src/Pickles/Pickles.TestFrameworks/VsTest/VsTestScenarioOutlineExampleMatcher.cs b/src/Pickles/Pickles.TestFrameworks/VsTest/VsTestScenarioOutlineExampleMatcher.cs index 85597910c..96b179b09 100644 --- a/src/Pickles/Pickles.TestFrameworks/VsTest/VsTestScenarioOutlineExampleMatcher.cs +++ b/src/Pickles/Pickles.TestFrameworks/VsTest/VsTestScenarioOutlineExampleMatcher.cs @@ -18,7 +18,6 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using System.Xml.Linq; using PicklesDoc.Pickles.ObjectModel; @@ -31,16 +30,18 @@ public bool IsMatch(ScenarioOutline scenarioOutline, string[] exampleValues, obj { var element = (XElement)scenarioElement; + var matchValue = exampleValues[0] + .Replace(" ", string.Empty) + .Replace(":", string.Empty) + .Replace("\\", string.Empty) + .Replace("(", string.Empty) + .Replace(")", string.Empty) + .Replace(".", "_") + .Replace("!", string.Empty) + .ToUpperInvariant(); + var isMatch = element.Name().ToUpperInvariant() - .EndsWith( - exampleValues[0] - .Replace(" ", string.Empty) - .Replace(":", string.Empty) - .Replace("\\", string.Empty) - .Replace("(", string.Empty) - .Replace(")", string.Empty) - .ToUpperInvariant() - ); + .EndsWith(matchValue); return isMatch; } diff --git a/src/Pickles/Pickles.TestFrameworks/XUnit/xUnitExampleSignatureBuilder.cs b/src/Pickles/Pickles.TestFrameworks/XUnit/xUnitExampleSignatureBuilder.cs index 98516f126..d7b989724 100644 --- a/src/Pickles/Pickles.TestFrameworks/XUnit/xUnitExampleSignatureBuilder.cs +++ b/src/Pickles/Pickles.TestFrameworks/XUnit/xUnitExampleSignatureBuilder.cs @@ -18,6 +18,7 @@ // // -------------------------------------------------------------------------------------------------------------------- +using System.Linq; using System.Text; using System.Text.RegularExpressions; @@ -27,6 +28,8 @@ namespace PicklesDoc.Pickles.TestFrameworks.XUnit { public class XUnitExampleSignatureBuilder { + private const int MaxExampleValueLength = 50; + public Regex Build(ScenarioOutline scenarioOutline, string[] row) { var stringBuilder = new StringBuilder(); @@ -34,10 +37,8 @@ public Regex Build(ScenarioOutline scenarioOutline, string[] row) var name = SpecFlowNameMapping.Build(scenarioOutline.Name.ToLowerInvariant()); stringBuilder.Append(name).Append("\\("); - foreach (string value in row) - { - stringBuilder.AppendFormat("(.*): \"{0}\", ", Regex.Escape(value.ToLowerInvariant())); - } + foreach (var value in row.Select(v => v.Length > MaxExampleValueLength ? new { Value = v.Substring(0, MaxExampleValueLength), Ellipsis = "..." } : new { Value = v, Ellipsis = "" })) + stringBuilder.AppendFormat("(.*): \"{0}\"{1}, ", Regex.Escape(value.Value.ToLowerInvariant()), value.Ellipsis); stringBuilder.Remove(stringBuilder.Length - 2, 2); diff --git a/src/Pickles/Pickles/PicklesModule.cs b/src/Pickles/Pickles/PicklesModule.cs index 52330a2f0..4419d1b02 100644 --- a/src/Pickles/Pickles/PicklesModule.cs +++ b/src/Pickles/Pickles/PicklesModule.cs @@ -18,7 +18,6 @@ // // -------------------------------------------------------------------------------------------------------------------- -using System; using Autofac; using PicklesDoc.Pickles.DirectoryCrawler; using PicklesDoc.Pickles.DocumentationBuilders; @@ -32,7 +31,6 @@ using PicklesDoc.Pickles.TestFrameworks; using PicklesDoc.Pickles.TestFrameworks.CucumberJson; using PicklesDoc.Pickles.TestFrameworks.MsTest; -using PicklesDoc.Pickles.TestFrameworks.NUnit; using PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit2; using PicklesDoc.Pickles.TestFrameworks.NUnit.NUnit3; using PicklesDoc.Pickles.TestFrameworks.SpecRun; @@ -80,7 +78,8 @@ protected override void Load(ContainerBuilder builder) builder.RegisterType(); builder.RegisterType(); - builder.RegisterType(); + builder.RegisterType(); + builder.RegisterType(); builder.RegisterType(); builder.RegisterType(); builder.RegisterType(); @@ -145,18 +144,10 @@ protected override void Load(ContainerBuilder builder) builder.RegisterType(); builder.RegisterType(); - builder.Register( - c => - { - if (FeatureSwitcher.Feature.Is().Enabled) - { - return c.Resolve(); - } - else - { - return c.Resolve(); - } - }).SingleInstance(); + builder.Register( + c => FeatureSwitcher.Feature.Is().Enabled + ? (IMarkdownProvider)c.Resolve() + : c.Resolve()).SingleInstance(); } } } diff --git a/test-harness/AutomationLayer/ScenarioOutlineSteps.cs b/test-harness/AutomationLayer/ScenarioOutlineSteps.cs index 8dfb2d274..69efd65b3 100644 --- a/test-harness/AutomationLayer/ScenarioOutlineSteps.cs +++ b/test-harness/AutomationLayer/ScenarioOutlineSteps.cs @@ -43,5 +43,11 @@ public void WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField(str { // nothing to be done - test case requires pass } + + [When(@"I have a field with value '(.*)'")] + public void WhenIHaveAFieldWithValue(string value) + { + // nothing to be done - test case requires pass + } } } diff --git a/test-harness/Cucumber/features/ScenarioOutlines.feature b/test-harness/Cucumber/features/ScenarioOutlines.feature index 01c86bf39..68462e674 100644 --- a/test-harness/Cucumber/features/ScenarioOutlines.feature +++ b/test-harness/Cucumber/features/ScenarioOutlines.feature @@ -76,3 +76,13 @@ Scenario Outline: Deal correctly with parenthesis in the examples Examples: | overly descriptive field | | This is a description (and more) | + +Scenario Outline: Deal correctly with overlong example values + + When I have a field with value '' + And I have a field with value '' + Then the scenario will 'pass_1' + + Examples: + | value1 | value2 | + | Please enter a valid two letter country code (e.g. DE)! | This is just a very very very veery long error message! | \ No newline at end of file diff --git a/test-harness/Cucumber/features/step_definitions/ScenarioOutlineSteps.rb b/test-harness/Cucumber/features/step_definitions/ScenarioOutlineSteps.rb index 3cf37dfa1..37675d8ae 100644 --- a/test-harness/Cucumber/features/step_definitions/ScenarioOutlineSteps.rb +++ b/test-harness/Cucumber/features/step_definitions/ScenarioOutlineSteps.rb @@ -20,4 +20,8 @@ When(/^I have special characters for regexes in the value, for example a '(.*)'$/) do |arg1| #Nothing to be done here +end + +When(/^I have a field with value '(.*)'$/) do |arg1| + #Nothing to be done here end \ No newline at end of file diff --git a/test-harness/CucumberJS/features/ScenarioOutlines.feature b/test-harness/CucumberJS/features/ScenarioOutlines.feature index 01c86bf39..68462e674 100644 --- a/test-harness/CucumberJS/features/ScenarioOutlines.feature +++ b/test-harness/CucumberJS/features/ScenarioOutlines.feature @@ -76,3 +76,13 @@ Scenario Outline: Deal correctly with parenthesis in the examples Examples: | overly descriptive field | | This is a description (and more) | + +Scenario Outline: Deal correctly with overlong example values + + When I have a field with value '' + And I have a field with value '' + Then the scenario will 'pass_1' + + Examples: + | value1 | value2 | + | Please enter a valid two letter country code (e.g. DE)! | This is just a very very very veery long error message! | \ No newline at end of file diff --git a/test-harness/CucumberJS/features/stepdefinitions/ScenarioOutlineSteps.js b/test-harness/CucumberJS/features/stepdefinitions/ScenarioOutlineSteps.js index afb48b9db..982c29676 100644 --- a/test-harness/CucumberJS/features/stepdefinitions/ScenarioOutlineSteps.js +++ b/test-harness/CucumberJS/features/stepdefinitions/ScenarioOutlineSteps.js @@ -33,4 +33,9 @@ module.exports = function() { // nothing to be done here callback(); }); + + this.When(/^I have a field with value '(.*)'$/, function name(value, callback) { + // nothing to be done here + callback(); + }); }; diff --git a/test-harness/MsTest/ScenarioOutlines.feature b/test-harness/MsTest/ScenarioOutlines.feature index d6cfb9d48..00efa6fc5 100644 --- a/test-harness/MsTest/ScenarioOutlines.feature +++ b/test-harness/MsTest/ScenarioOutlines.feature @@ -75,4 +75,14 @@ Scenario Outline: Deal correctly with parenthesis in the examples Examples: | overly descriptive field | - | This is a description (and more) | \ No newline at end of file + | This is a description (and more) | + +Scenario Outline: Deal correctly with overlong example values + + When I have a field with value '' + And I have a field with value '' + Then the scenario will 'pass_1' + + Examples: + | value1 | value2 | + | Please enter a valid two letter country code (e.g. DE)! | This is just a very very very veery long error message! | \ No newline at end of file diff --git a/test-harness/MsTest/ScenarioOutlines.feature.cs b/test-harness/MsTest/ScenarioOutlines.feature.cs index 678e9186d..843eb79b8 100644 --- a/test-harness/MsTest/ScenarioOutlines.feature.cs +++ b/test-harness/MsTest/ScenarioOutlines.feature.cs @@ -303,6 +303,32 @@ public virtual void DealCorrectlyWithParenthesisInTheExamples_ThisIsADescription { this.DealCorrectlyWithParenthesisInTheExamples("This is a description (and more)", ((string[])(null))); } + + public virtual void DealCorrectlyWithOverlongExampleValues(string value1, string value2, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with overlong example values", exampleTags); +#line 80 +this.ScenarioSetup(scenarioInfo); +#line 82 + testRunner.When(string.Format("I have a field with value \'{0}\'", value1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 83 + testRunner.And(string.Format("I have a field with value \'{0}\'", value2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 84 + testRunner.Then("the scenario will \'pass_1\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()] + [Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute("Deal correctly with overlong example values")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("FeatureTitle", "Scenario Outlines")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("VariantName", "Please enter a valid two letter country code (e.g. DE)!")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:value1", "Please enter a valid two letter country code (e.g. DE)!")] + [Microsoft.VisualStudio.TestTools.UnitTesting.TestPropertyAttribute("Parameter:value2", "This is just a very very very veery long error message!")] + public virtual void DealCorrectlyWithOverlongExampleValues_PleaseEnterAValidTwoLetterCountryCodeE_G_DE() + { + this.DealCorrectlyWithOverlongExampleValues("Please enter a valid two letter country code (e.g. DE)!", "This is just a very very very veery long error message!", ((string[])(null))); + } } } #pragma warning restore diff --git a/test-harness/SpecRun/ScenarioOutlines.feature b/test-harness/SpecRun/ScenarioOutlines.feature index d6cfb9d48..a2efda16a 100644 --- a/test-harness/SpecRun/ScenarioOutlines.feature +++ b/test-harness/SpecRun/ScenarioOutlines.feature @@ -75,4 +75,13 @@ Scenario Outline: Deal correctly with parenthesis in the examples Examples: | overly descriptive field | - | This is a description (and more) | \ No newline at end of file + | This is a description (and more) | + + Scenario Outline: Deal correctly with overlong example values + + When I have a field with value '' + Then the scenario will 'pass_1' + + Examples: + | value1 | value2 | + | Please enter a valid two letter country code (e.g. DE)! | This is just a very very very veery long error message! | \ No newline at end of file diff --git a/test-harness/SpecRun/ScenarioOutlines.feature.cs b/test-harness/SpecRun/ScenarioOutlines.feature.cs index 912b6d381..15ee1c0b9 100644 --- a/test-harness/SpecRun/ScenarioOutlines.feature.cs +++ b/test-harness/SpecRun/ScenarioOutlines.feature.cs @@ -237,6 +237,26 @@ public virtual void DealCorrectlyWithParenthesisInTheExamples_ThisIsADescription this.DealCorrectlyWithParenthesisInTheExamples("This is a description (and more)", ((string[])(null))); } + public virtual void DealCorrectlyWithOverlongExampleValues(string value1, string value2, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with overlong example values", exampleTags); +#line 80 + this.ScenarioSetup(scenarioInfo); +#line 82 + testRunner.When("I have a field with value \'\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 83 + testRunner.Then("the scenario will \'pass_1\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + + [TechTalk.SpecRun.ScenarioAttribute("Deal correctly with overlong example values, Please enter a valid two letter coun" + + "try code (e.g. DE)!", SourceLine=86)] + public virtual void DealCorrectlyWithOverlongExampleValues_PleaseEnterAValidTwoLetterCountryCodeE_G_DE() + { + this.DealCorrectlyWithOverlongExampleValues("Please enter a valid two letter country code (e.g. DE)!", "This is just a very very very veery long error message!", ((string[])(null))); + } + [TechTalk.SpecRun.TestRunCleanup()] public virtual void TestRunCleanup() { diff --git a/test-harness/nunit/ScenarioOutlines.feature b/test-harness/nunit/ScenarioOutlines.feature index d6cfb9d48..00efa6fc5 100644 --- a/test-harness/nunit/ScenarioOutlines.feature +++ b/test-harness/nunit/ScenarioOutlines.feature @@ -75,4 +75,14 @@ Scenario Outline: Deal correctly with parenthesis in the examples Examples: | overly descriptive field | - | This is a description (and more) | \ No newline at end of file + | This is a description (and more) | + +Scenario Outline: Deal correctly with overlong example values + + When I have a field with value '' + And I have a field with value '' + Then the scenario will 'pass_1' + + Examples: + | value1 | value2 | + | Please enter a valid two letter country code (e.g. DE)! | This is just a very very very veery long error message! | \ No newline at end of file diff --git a/test-harness/nunit/ScenarioOutlines.feature.cs b/test-harness/nunit/ScenarioOutlines.feature.cs index 634519e14..781cc3c1d 100644 --- a/test-harness/nunit/ScenarioOutlines.feature.cs +++ b/test-harness/nunit/ScenarioOutlines.feature.cs @@ -155,6 +155,24 @@ public virtual void DealCorrectlyWithParenthesisInTheExamples(string overlyDescr this.ScenarioSetup(scenarioInfo); #line 74 testRunner.When(string.Format("I have parenthesis in the value, for example an \'{0}\'", overlyDescriptiveField), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Deal correctly with overlong example values")] + [NUnit.Framework.TestCaseAttribute("Please enter a valid two letter country code (e.g. DE)!", "This is just a very very very veery long error message!", null)] + public virtual void DealCorrectlyWithOverlongExampleValues(string value1, string value2, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with overlong example values", exampleTags); +#line 80 +this.ScenarioSetup(scenarioInfo); +#line 82 + testRunner.When(string.Format("I have a field with value \'{0}\'", value1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 83 + testRunner.And(string.Format("I have a field with value \'{0}\'", value2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 84 + testRunner.Then("the scenario will \'pass_1\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden this.ScenarioCleanup(); } diff --git a/test-harness/nunit3/ScenarioOutlines.feature b/test-harness/nunit3/ScenarioOutlines.feature index d6cfb9d48..00efa6fc5 100644 --- a/test-harness/nunit3/ScenarioOutlines.feature +++ b/test-harness/nunit3/ScenarioOutlines.feature @@ -75,4 +75,14 @@ Scenario Outline: Deal correctly with parenthesis in the examples Examples: | overly descriptive field | - | This is a description (and more) | \ No newline at end of file + | This is a description (and more) | + +Scenario Outline: Deal correctly with overlong example values + + When I have a field with value '' + And I have a field with value '' + Then the scenario will 'pass_1' + + Examples: + | value1 | value2 | + | Please enter a valid two letter country code (e.g. DE)! | This is just a very very very veery long error message! | \ No newline at end of file diff --git a/test-harness/nunit3/ScenarioOutlines.feature.cs b/test-harness/nunit3/ScenarioOutlines.feature.cs index dbdc3c144..33f0a8a86 100644 --- a/test-harness/nunit3/ScenarioOutlines.feature.cs +++ b/test-harness/nunit3/ScenarioOutlines.feature.cs @@ -155,6 +155,24 @@ public virtual void DealCorrectlyWithParenthesisInTheExamples(string overlyDescr this.ScenarioSetup(scenarioInfo); #line 74 testRunner.When(string.Format("I have parenthesis in the value, for example an \'{0}\'", overlyDescriptiveField), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Deal correctly with overlong example values")] + [NUnit.Framework.TestCaseAttribute("Please enter a valid two letter country code (e.g. DE)!", "This is just a very very very veery long error message!", null)] + public virtual void DealCorrectlyWithOverlongExampleValues(string value1, string value2, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with overlong example values", exampleTags); +#line 80 +this.ScenarioSetup(scenarioInfo); +#line 82 + testRunner.When(string.Format("I have a field with value \'{0}\'", value1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 83 + testRunner.And(string.Format("I have a field with value \'{0}\'", value2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 84 + testRunner.Then("the scenario will \'pass_1\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden this.ScenarioCleanup(); } diff --git a/test-harness/xunit/ScenarioOutlines.feature b/test-harness/xunit/ScenarioOutlines.feature index d6cfb9d48..00efa6fc5 100644 --- a/test-harness/xunit/ScenarioOutlines.feature +++ b/test-harness/xunit/ScenarioOutlines.feature @@ -75,4 +75,14 @@ Scenario Outline: Deal correctly with parenthesis in the examples Examples: | overly descriptive field | - | This is a description (and more) | \ No newline at end of file + | This is a description (and more) | + +Scenario Outline: Deal correctly with overlong example values + + When I have a field with value '' + And I have a field with value '' + Then the scenario will 'pass_1' + + Examples: + | value1 | value2 | + | Please enter a valid two letter country code (e.g. DE)! | This is just a very very very veery long error message! | \ No newline at end of file diff --git a/test-harness/xunit/ScenarioOutlines.feature.cs b/test-harness/xunit/ScenarioOutlines.feature.cs index e43f367e5..a07eb4ee3 100644 --- a/test-harness/xunit/ScenarioOutlines.feature.cs +++ b/test-harness/xunit/ScenarioOutlines.feature.cs @@ -173,6 +173,25 @@ public virtual void DealCorrectlyWithParenthesisInTheExamples(string overlyDescr this.ScenarioCleanup(); } + [Xunit.Extensions.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "Deal correctly with overlong example values")] + [Xunit.Extensions.InlineDataAttribute("Please enter a valid two letter country code (e.g. DE)!", "This is just a very very very veery long error message!", new string[0])] + public virtual void DealCorrectlyWithOverlongExampleValues(string value1, string value2, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with overlong example values", exampleTags); +#line 80 +this.ScenarioSetup(scenarioInfo); +#line 82 + testRunner.When(string.Format("I have a field with value \'{0}\'", value1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 83 + testRunner.And(string.Format("I have a field with value \'{0}\'", value2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 84 + testRunner.Then("the scenario will \'pass_1\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class FixtureData : System.IDisposable diff --git a/test-harness/xunit2/ScenarioOutlines.feature b/test-harness/xunit2/ScenarioOutlines.feature index 46478f94c..025cb168f 100644 --- a/test-harness/xunit2/ScenarioOutlines.feature +++ b/test-harness/xunit2/ScenarioOutlines.feature @@ -76,3 +76,13 @@ Scenario Outline: Deal correctly with parenthesis in the examples Examples: | overly descriptive field | | This is a description (and more) | + +Scenario Outline: Deal correctly with overlong example values + + When I have a field with value '' + And I have a field with value '' + Then the scenario will 'pass_1' + + Examples: + | value1 | value2 | + | Please enter a valid two letter country code (e.g. DE)! | This is just a very very very veery long error message! | \ No newline at end of file diff --git a/test-harness/xunit2/ScenarioOutlines.feature.cs b/test-harness/xunit2/ScenarioOutlines.feature.cs index d85431fff..492e5d03b 100644 --- a/test-harness/xunit2/ScenarioOutlines.feature.cs +++ b/test-harness/xunit2/ScenarioOutlines.feature.cs @@ -172,7 +172,26 @@ public virtual void DealCorrectlyWithParenthesisInTheExamples(string description #line hidden this.ScenarioCleanup(); } - + + [Xunit.TheoryAttribute()] + [Xunit.TraitAttribute("FeatureTitle", "Scenario Outlines")] + [Xunit.TraitAttribute("Description", "Deal correctly with overlong example values")] + [Xunit.InlineDataAttribute("Please enter a valid two letter country code (e.g. DE)!", "This is just a very very very veery long error message!", new string[0])] + public virtual void DealCorrectlyWithOverlongExampleValues(string value1, string value2, string[] exampleTags) + { + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Deal correctly with overlong example values", exampleTags); +#line 80 +this.ScenarioSetup(scenarioInfo); +#line 82 + testRunner.When(string.Format("I have a field with value \'{0}\'", value1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 83 + testRunner.And(string.Format("I have a field with value \'{0}\'", value2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 84 + testRunner.Then("the scenario will \'pass_1\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + this.ScenarioCleanup(); + } + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class FixtureData : System.IDisposable From 98b36c59bb4b0f594496e7b8f87fe765136c09e0 Mon Sep 17 00:00:00 2001 From: Dirk Rombauts Date: Wed, 11 May 2016 18:34:44 +0200 Subject: [PATCH 5/7] Add new fixes to change log --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52ed770b3..ba61daed0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,14 @@ Features in Experimental are subject to change and removal without being conside This document is formatted according to the principles of [Keep A CHANGELOG](http://keepachangelog.com). +## [2.6.2] - 2016-05-11 + +### Fixed + +- Command line help does not list all possible test result formats ([340](https://github.com/picklesdoc/pickles/issues/340)) (by [@magicmonty](https://github.com/magicmonty)). +- Some examples were not recognized ([#343](https://github.com/picklesdoc/pickles/issues/343)) (by [@danielpullwitt](https://github.com/danielpullwitt)). + + ## [2.6.1] - 2016-05-10 ### Changed From 0afbad3ff85fdf07e5213c1c4ff3cd8876c4a6cf Mon Sep 17 00:00:00 2001 From: Dirk Rombauts Date: Wed, 11 May 2016 18:35:29 +0200 Subject: [PATCH 6/7] Fix typos and missing link --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba61daed0..5ac56e826 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,12 +26,12 @@ This document is formatted according to the principles of [Keep A CHANGELOG](htt ### Changed -- Remove Dependency on AutoMapper ([#333](https://github.com/picklesdoc/pickles/issues/323)) (by [@dirkrombauts](https://github.com/dirkrombauts)). +- Remove Dependency on AutoMapper ([#333](https://github.com/picklesdoc/pickles/issues/333)) (by [@dirkrombauts](https://github.com/dirkrombauts)). - Update DHTML version to use Knockout version 3.4.0 ([#325](https://github.com/picklesdoc/pickles/issues/325)) (by [@dirkrombauts](https://github.com/dirkrombauts)). ### Fixed -- General handling of special characters in scenario outline inputs, and XUnit failed, if multiple TestResults.xml were used ([336]()) (by [@magicmonty](https://github.com/magicmonty)). +- General handling of special characters in scenario outline inputs, and XUnit failed, if multiple TestResults.xml were used ([336](https://github.com/picklesdoc/pickles/issues/336)) (by [@magicmonty](https://github.com/magicmonty)). - SpecFlow conformant name mapping in other test result providers ([#326](https://github.com/picklesdoc/pickles/issues/326)) (by [@danielpullwitt](https://github.com/danielpullwitt)). ## [2.6.0] - 2016-04-12 From 6f2ea806e0d9ad83b36cdb8c725638b68d8cfbe4 Mon Sep 17 00:00:00 2001 From: Dirk Rombauts Date: Wed, 11 May 2016 18:39:00 +0200 Subject: [PATCH 7/7] Version bump (2.6.2) --- build.bat | 2 +- src/Pickles/VersionInfo.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.bat b/build.bat index 757a8bd0f..66d812577 100644 --- a/build.bat +++ b/build.bat @@ -1,5 +1,5 @@ @echo off -set "picklesVersion=2.6.1" +set "picklesVersion=2.6.2" cls diff --git a/src/Pickles/VersionInfo.cs b/src/Pickles/VersionInfo.cs index 16e0fdd31..18779fcf5 100644 --- a/src/Pickles/VersionInfo.cs +++ b/src/Pickles/VersionInfo.cs @@ -8,11 +8,11 @@ [assembly: AssemblyTrademarkAttribute("")] [assembly: AssemblyCultureAttribute("")] [assembly: ComVisibleAttribute(false)] -[assembly: AssemblyVersionAttribute("2.6.1")] -[assembly: AssemblyFileVersionAttribute("2.6.1")] +[assembly: AssemblyVersionAttribute("2.6.2")] +[assembly: AssemblyFileVersionAttribute("2.6.2")] namespace System { internal static class AssemblyVersionInformation { - internal const string Version = "2.6.1"; - internal const string InformationalVersion = "2.6.1"; + internal const string Version = "2.6.2"; + internal const string InformationalVersion = "2.6.2"; } }

    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 Zo6o;756r5+{r2p;|BdzgH{BHv{9pGV!UX^T literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.runner.tdnet.dll b/test-harness/packagesNonNuget/xunit.runner/xunit.runner.tdnet.dll new file mode 100644 index 0000000000000000000000000000000000000000..2c5b1b38ed184c2107592075ee81ae84ac5a2d29 GIT binary patch literal 8704 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 S`2Qr{Zn)=sh`j&MyZXPw#fLor literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.runner.utility.dll b/test-harness/packagesNonNuget/xunit.runner/xunit.runner.utility.dll new file mode 100644 index 0000000000000000000000000000000000000000..c22d733361aa18fa1a451dfd32ab9df7f91fd67b GIT binary patch literal 47104 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 c{{0WPzybAdryr1i=j4BQTmD!5k8FYe2LN-; + + + xunit.runner.utility + + + +

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�{^-xt%vm@g?m0OxuJz zjgWEtm!@s-qpu7^J9sMA@6bYD^uXaP1TN&@ms-}S9GpM#dDIwf(!9l5m|r;a6mQ(E zL61GSBav#z`!#Ra<=uQYv)A6UTIefCA1->+OWN3R;B+2?->Z6gRo0`?tKaCyZ^MzO%P|fe>wgWKgQ>n zr=EK1t2?o`AM?gHTGFZ~w8@hlI15m266!zswJ){Ex4zfru2{=D_cxqr#{MU1){l#` zz}Yxc&_+IXSZn&`KeX<*F4jg(oTOztZ_zqF`kcml_!)a%z`4T?+-+Gmw|@Np6vw`( z?eWK-xUdNO@$s*Hp+&zBJ@j)e-uj1Dv-CmSkJ$Yg>MQg=O|PN&*rU1uW3+a|<|j1X zfA)7H9y_Q#_Sj=Qx0>2e+~0zRy*?Apz+b)>d-};Qf274;#9l01o45X=EnIRxpZWYA z^XUKTxdZlF(qI!j`D-_8vWNPyrj6gSoBKMSAB_Ah%K1|=FkgQhZLD>B;a#o$>CZJj zqd|Xr{-@&oR^ix(>VWz3chi?VpyfZn`c+0{wPveL8DR^5V0nXT`xc0x$gYns+0a$0B#kt@+zr?}j zoGmIU>Wlr#S=kTn(JX7dt7U~=&8%-%sYDd9t~%@Gp0_R+HA#!N4~agIFEbr zpLm`1?qj%9-(E|`=NTe5yz8YiPw@KpwN(#qy@by{g`;{1bHZE4tUHK%$GCTGxQ9Q| znvI{S#pKs$7K5h0$89)-J0P11IW9jKr-L_d+woEC_KUc0%lBiIi(GP0i`(#~7iT*2 zY}vl^y~&d&TUBfYahK%gTecqNyOCbkcIHy8%YA#jIET&HeiUoXjbr`evVY{rk>(wb z?R>rc-cL2#p?{0(;c#pH=dJYO?e>1AJ+^b#OZDR#IL4uj+jkt``&GF6^>1zHnDN?} zqFH?B3Qp5*-E|oEMrsEb{0+UafAUn%1Mh3mPkq35YP1_}yh&^Q>UWy`;DlZF=PEmhb&bYkvNF?e5Ln{^53)wW`l|B^>u_ZXLP*gf{fq zQ+(fP{*`ze3d8(6c;&`TAFO=%kxy`^A)+CkpQ2@FXNQa)J^G4s7T(+Rf2w%z815+V z4fB35+*iC04EJqY<$f55{a-lGJdQai=ej{A*cg7o;AZuIAZ-))l)!gQM?m@B^tma7TAKsSfz;8w#uP#6=C0-t$^#{e zD$Qk}KPdDU%?Hd8^nv*;P<{j@kos7df4Jo>b1cPJt=3q&7BG;O1hM2J0^bYz+!RY= zZB}atwGR%21XplQa3Bp0xjH0}=7i*j#M03a4!u2;Q`{3;2KWMCAoUJAVv3^lurlOl zco>IHfj^3t03s*hIl)nMD1t*BO#%TI2rO;N{^ui^|E?&Ovo2~4G_tMLH}4_(^hYx)W2)R ztuROY_X7sfi>)}VORe5%6+vOGxo%@yv;V5r9C~wW4xK0P0f7euYOPuFHF2E7A#t3; zyTtzj{2_E&;2#8jC85pYSx&e3$67?t1o5wnUlJckTLr!+ly3y~Y{O+41~`&twP786 zqz%h|tIZl{!i6@hCw~{{5g5~!DdXCvwT-1)07GbQ+dyd4L!gJyv+zgIcWrZmBPcY1 zVZVgLgg_dVP=r+GCUCB503+zIg#KRO-x64d!xFhHT>)dsk!ZC(Vd76m#L{8-W9hiS zR{=xlBjHSL$N3!7j%7{(e1m4SWBz6Bm}e70W9bR;zYhP0)HI3PD5gF0X9Gsj^!8=u zR>VCkgkEXS(*6m02wmTSbK(H}kXCdc`jCzRhERIPPOCu52MnQEpoGwK0?!G&B=B2-DV;d9kH8xQ?gE4sbz=G4D#tNh4XeJ{2{bgU|d)B4-$B%z=&>4NfGE4xDAkPjwl^4ILxF|E-nEjji4xYF+6YzwtR=-!2QouE+sSxJq~A%{ za$1iRIszj|*$XTY+=C?SkVxrFnS#9yESb7dwqPF$b`^~x3uOKYGP}{Ov_>!!D2%Na ztd)*EELcw++bURwj_nX^ypBCCSh9H)x8LYUnw^x?&u%(tJ9GQf@IP06uO`0({Nf0jYdx?hF`W=|$tJN-PN! zN$<1{vW~9W1^?)(lLFrt_@lts0H${l*k52apoz+?BTxk!tfK)BiT^WeF8qOk698Wg zWS+kQj;^u?F&rtd1kgmwgU)i?AePX_#&CeZAp%F(0?>rz!71jzKugF7)3~b8kO1?z zs%U|60^19;14h#LkQ~7IA>#q9q4Uh6t2%{pDuY6IK#od4=^Z`#EVhkXP1NSFt3kNA&; zak^*1Smq}J|0ysyoGHx&wh`DNoH=_6ygG_Q(*kmnI!-+1!@AL zV>wstV>wqnV>u`NV>y-4u{LlzV#5J%k;ftGY&-|E<8%P?5_qwQGAGODp`#QdxVJ(#h(EL$mXWex3bWlFSPafT>e#YCJHo!!v8@P;rtfs@0K%fl z%u`lrl{Cy+L%mp>DTY!MM%#iuFyV)Y1*@f`pood(8s3cG)S>TQ3%5 zNv6rXV1vF42~RY2prs0oZRnxzadQZ9?Qzqn-0wXdoV@U0TNmNGgbjZ*2EbcGcPmODsc)q=%kDC|MO{-|TS1Zy!wg}oRt%92Xgda)ZU z*U(ow_Iq&lr&ot6&MyT^8Ky9gV25-pvI%pZ$WmeLnxq43dY!`h02@F}uUA+muxqKi zjukg4uneMSbZmK(Ld#$Z8m>4W1LqLxuVcr64Wr>Y_9^0BM{n!czYsQ@g0odTThnwJ zL6JJv5!fgiqGSDljiFo}%LA568+ELvX}M(_y{TgxfQ_dgbnFnY3Dj|fO5t6^%cJf( z_64vTX_1auBGc(6`a#E9MwVM9QRYY$uMff|(*zy69@rFGtz-GX3h022%>y=-Ue&Qp zz^2m$9eXG8Hp?yK9;IY{iLgR?K*z$O3M|F+qK>tVN~cn~AlPT7=}`+UZmJl~@jf$E zMul5u(`+4E7PZVWhi=!gN2AtSZl?=^Eu^QT(&!GleGJE2NJj;GCWo6l<@CU=}F`uK;a-U%vH7#&Sc zhovm=3wwd)>0!Yg(&+_yK*u@*dx<<^-ISDvge&_u1aVsFlFAs7;}FVT$VRgnZ27WWO0kjb7 zX8?8ehMK9b_|pZdR`a!&g@*fu`tvA_x&fhPatM!4qs%lN6bo^viDn9{&w1rMHx?Qw zl7oIivMQ0P8TMNwRzRb%IJf3s8G3nL)u#kV>efc(``7v9^_HK+c~gDum*|WcE8al) zYlgkNV61UN;F@9ot`lG|;Hy}h1)F*G9VxJ-z(j$a1oi+-HuV#KI^bOaqXFYgd4Oq< z!O&rD*6O|h2mB8LCbmj8Ip``t7kFYp8QE%8fWv$v^Oy?(UEut{G*d!d6lK{EP^tSj zx7v!(ClI&V{AR0N0gKJwv^o$_ZML@F6|l_AYyZ{eHm%D>Cm zfNC1l`V!#i*2SjnW@qa!k#14zMC7EhbsFuF+@2D6z}zY>%$jGi#}%7SBW_dcyXG-* zyXjrCGcL}0(Y!1!(RxhsbJ4sxuA_Ck`Pn$T^^#eO>kZC;_(4{O*%p6az;<(o_|eu# z%hmCDfY-+tn_619CRkvS|-J*QRw~ z4=F{S<)t=gS<5?Zk^&u;^KCi>=2uAdOeNt1Y~S%d_0qHjOrcUJ|(4@^IS#B2dy=93%OV*ti z#h+)1P5dS(&(bzA)np2geqrgI_yZ^d1zw+so?@AhXs3(hPPEvvs46kTltuR^a;bMG zhS(wlwgok{wM5+Jwmi$biS5Djx5O?smSzvkB9@j#f$fqJD_UURc0FyEB=xTa_7^x< z;BbMt0`n|c?TSt50eS6iww*TL(r$`vyLn;!blYmv!gi%L%qD|o+1{m9?QXX@0`|45 zu^lsscA1}Rmx#2u&a;Til|_GOw-|ZT;?i)|`PX(_B1=*lWl;#=0aM4M^|s0YuCYiH z?=;Os>ahWX$(gjv7HpDsF>wu?HWw!yvPGJ1P2wJUPts9@K9FR`slvlan*%G6pO}hb_8$^FPSE` zPd0r`E^A)!GSq(>Eeqh?vSk6hFLsIMwx1$$T)~&Xa~t5|_SM0KlG}30?Xm!_fn@=_ ztF|m)Rr^F!qUlk{yhKmJe~FGDS8Pch56+UcK6D%OJc}px`QYKIZwBCNO@g-v1SJ=v zK3UG!)G|5T!nyi5crbMJdq8VzQ^+MsNXD+IsUtYIo3Boe3Ne`mB)19~Z5j^BB~xB< zqG`0rnVb+ZoMt7PLUKi`O{RIt9pJw^xqC>AitE|y`o)T)7FmvMs8X1Dbayo)2WUTp_c;Q>R1e!togZgzT+<2*Ys(}4#-t_N}JHH zMb0I(Yl#XB^mzZ0=EO^S@xwY3+-omHDy)kDJf|`6Wj29Cbr>;RxNIQ=rI#p#ZHh3 zX;w=oJ9V;#cY+*iJpBEvgE~DL+QXXN3FAlrYju`zW|6DY>Ch~y>~t>FWyxzd0DY68 z%W_YrUhp&AZd%o;g=w_)Kqt0`Z1Y*W{u!EQt!~o;ePLm|7CKxk+e6Zt4@qxwNiTDl zUgi`{9|Cgyw+(Zc{sq6uWbWKG>=CJrN5opr6ndp8vU9P?C3%|(m>E_r{hf6q4d<&2 zR|5_Y+az$YP?ibYF7UL#JpvC1JSOmzz>5Me3EXbV?mQ-JyJ-U8Mc5qC$<7nP9MX=C z0Jc}@rozsX!&aLXb)E*evU3LXYD?z}A*)UMIzz8aY^%4MUhd2m>{93Au+yf0bgl?n zW^LMqTa9&ikEtvC2TUWo+#a^tn%}u5?0~7L%iVx;g?_)lXSyr{-)_eNhY8H|HE@|B&z;6`m8|u~QE2gxIMyc3SO}ggsR|T~B$~D~_g6_-~}o0K3oM_yx)^4K!b*>j9HY&s!KCw0shnWMWE&4i8$U1WguymB5Vxx0^Ow?nLW9W?2?^ zR4Au}atf3+ffs~AW|m_Tm>@7wU?(%j?PT6-*%o-MP|^ivnIE&fADAVflZE0C=raG^ zk{47Z{%V1Xg|bonn*<&c_`JZ61zIdpE`iqy%n&$PV3oj)0$&OEB;cO`&8)+$PU~#z z{nm%AZ&|;wh6PRz927Jn=*^(_gZ><})V2br9;a;{TV!y@-~qw8!6m^D1wR-3cJQBr zgF?bWazkc>Yz%oZ{pjmAeg*0;5qXGfu=9;=eaY%}gT zgo6@~*k;^pVAv6}cQbkn&dG?^QD*9lvoAArwk2R!Xts&E3A_sN%w!kX9Va+u%(fE& zdqVF`(C#God*iMH&WZue=w}@Pu`U2*0H7HkfbIf#E##Rgovs2L1Q}-ZpGZJg~r+n;Us1}_i3Cgh%wzlF>Q4GilW7Er~jaW3ih zKr|p8Tsc7t`yLZ5LtE6RsXHTe`PK-ZzqICbGg_f;+|DMem1z>d9y~@G%8#3L-3T`< zn2xq(|6NM^TG)xIMswQ{^@TrmjPj3ze^C?GOQH(+yEoyxD@4oTx1miV&}L2Gn!-iG zMZrbG#lXeFHHT9=94_tKk6z%S_0KLTs3>#}pg9%Au5$ad3YR^<(B0eaoa3Y+u0rQ{ zM|u8qr<*27@X!hujdGVvb32Ogc20G=oyGaiG8*H|cNUiyR*o%m7NnPzIg6$gRyIf+ z?kX!+5}aja870N#?vg?;o>T59uV7(iB^7QK>rK>-L`$9Sau&hm1(=IEa&!f$cr zmy7t}C5{58dq|19h{jYD7aLw@A?QZt20II#(;VeaG6+Ll#jdjH&H`^h=A3+IX}PPU zICr|cWOlKa4w1;GyWF2}S>#-2S-F?!Dl6qm^hV&ox+2CqT;&-R?y?d$6_w?exC>oV zD5tWl+*w2;r*OF_YcQmglsTppI%%Avu)>*JS?bhz>=`A6gzQ zQRH-UgvmV`VDx7&g2%gx3rc2}*}3Y<2yN*$T8M=iT%b*LO{;J_I6+D;EiH8Ai{EIN zL5?!$4p+a@DYrC&y`tPz=qj&NjY?Tu3)#-{=_LiKkun^Gg;N~)Gbp>FupAQ0d^J23 zdRXiza#CSQ{tUfBRQ1?%T_|K3$&1PvF|wI8QuJ5x8CpDB*JgWuIqEud7L<0Fqqv|D z(K4nxil;dX$Wc%*$?&_KMJ2PGUR1S#Q^iYn>w5}I4ft= z@bo+%eO&tRv6+*GWo8W>mU|g>_xw)BR>T_hLPsqy7x*>CL{ebaV zgL8+~Cr+qOxGW#zGRNd*W%#8x%~?KaSc%(pEBd{oFb9fLUhZ_GR?8i*B2;$eV2+(t zmhG71DstV5hGKSqoWsYljmU3AcB6s1E)8}&X2Y=1s1jFkIk7m^A%>SI{gxE#k#dj~ zKUP6GV~S1Cj6$cwO>C4X$1%%E{Tr`>0W&5|8iYQ8TnuqJ3k#^fUjZ)L#tD-fHuiUtRCH@-8ECTPU;R?H|lnkJP_@yvxecziy1n z!s`p5y8J$k*E`^t%#2L*sGOY4>_Nk`GIM+kswe6pc|)>>XO2kE&a5AvF>=I^tfAge z9=%|!9clpOv98E5CkvxM8KoB#kSLOoMH%S~BM)PSctf4#y3uFj<`-s|ME`NZ2*&t; zF~dJ1YigZTSZnJLra0U(22l|P%_58p$fmr}k$C_|I>-Pw+F*x!1}k)33L3G{kK&x_ zfXVl&#BkTN>E(4J38`+ZY&~h#1H;cLibf(!Lf5m!^pR7if+U$5!-igb7=<~%%&U8u zRh5m2$~OuYy4+{dM-~f#vWoLDK41i)k;R;OW6;p8Nk&OgX-P4HF~M>cQWjLH9D*>? zk<#CnimzQP4X! ze>pQ;rKRi{;=q87cLrN$%rFXQZ1Id@%!Len@=eqXU$&zd1C^WH`V!mTi0+lLz;CeYTsnsl zTA*q*s~Gyr0}%_+YnqI=>gtn5jTw1eW=3v~4B*nGOV!L1TF-XA{yfwl=YHgm4|hy~ zViYp$L0Q@9Lo+9hVv8|YM{=&u8a2v`4M~R)8LVbcx)dr^X{#xd(M5S;m03K?GS$dqoHHvB9W@3@VM&?OpTP4p)`!6^nQJ=Sm6LmtZyHA| zc$~{Qn=KZ(0ERirrVE3SG)+Y#=~JRIMlk&AVQlSW<|j&7Cke%u>&7Ix49ddOcwe?u zU=FH2e|oNSPB|6HoHC=NqPSddWf|V&E>jDyc(&e#dZ;$_w_Mz&+=PhlXXWdn+!AAC;_F`wKjoDsMHm_n z7Qs&t#~fQ)0DUvEGq@6ySyz6xvlwQ!Zjd2B_*HF4qv>pV85$6v7GTh6u2$WWDbY-j z>Z*$}4=U1?Z)Ab_q!;LXqFHtFqm)f}rc{)dmlUh2oRopJ&J0o{A#5<4)9jLpGH0V)5<0e&>P3dh<+*1)Y7W-5`RKn{ zP|-QYh{QZxW?zavik}$8(zpbvrb+%06s5r!Fg;$2GqTiaRF$`qSS6&b{2A4Xp2>Rc z)eU4-Ya~$VVZA`s-^@8Kj26;tEKFA`v2B-={W9vu++ePBLEJ4am!oD(I=$4v!;!b( zb+n_jq_mSk5^hCvl%uy>n4-xM-7MZEhi=$!6y>B<>}s3?r0fVw>I77TfP zYBPrSbyP%nydravD-{zuiur}IQ)*ryVfq%2(EV9-Ixp{ee?Y?3*x|>e4<;-~FQQ+d zQD_O35^c*s!6;~26 z2uf!u3%}Xz9FFc!Dke{t1m)Q%8q}9d)Vl22`2|oTx_3EUX)Vc$o&~6R?)1x+`ZUyC zQc*gnWDZT!Jw4R?r>A=L_Rb;d*)?8LR1_5tbMnp}CeVx+MMZPXDQB5JWhK?gbVIFd zx6f*eY<)VRM5)of`Cygfa%69A~Km+j3ZYm0w2c(EzPy1GHW=tKJ@p>f+v(^9~()GqB40vY_jk zH%nX<)7;qW^|m+?MSH2f=$}Wu=!@7U%1oRs7zq z#zD?$u40`nvlxS>M9_C)O9~5gpRACuO2nAzCMP*~=dTE5Lfy_O0vT=tVhV4-= z>Ov1MqXOBz<(U`igEw@&;YPnR2xU^;UfnK7?HW@>pPx$9Ot8S^hO82Ir8gVgxs5qE zCd*#tdP6`!mQUVEO$BV zv5u9fjcYa4ChW)Xc9Xe+a#6j`@*y~3aLz7q&qy!Flxj)^ zrh7&d=Tv>O+dGEHB;3bnR30y>9mSQG2cSC@ROFXm9*|K|TIuHP2Vanps-Dp-m`xl- zRt|_t!?+dMa?1N1JEGV$R7*bJKD1KgS zr&pAhpjEMb!dPZ8XSaYd3mv7H*vOp2*x%;ObDhpo1{?Z0f_Lv(EOIV>_NeNp6Mu~K zq043Jbiee+I8g1y(QN2Z&ufz4+{oNnKY?87G4dq84Zz<)4u9;IB!whB75aZS|0xu`cE=WtL`ouUHU z@a2_-tijH5L;DJyJX)hUVM@^~#_kFP3@#}`;Z${2xN)vnu2Wd2E-x*WlupW=i8S~~ zNzW5c0?@e%OQz{I$VXSh3$_?k?!hTLM|`%zlS$UiOkUWt6~cs!^QN@KRR)42gq6KM zM^fC*e4J<%PxBH*5zu4h_-m}&B}L)01J#j`f}#E6T{!lt@Jo=V=#FyAcICTE%1Wk| z+p)ROt0(kw8q7AVyWzot5nEYOIea=tJcr1sn8IXk({iUma@|fGY`Ul601z9Oh7IRj zs~tb|1xU|8*Dzvm6R9vR#RSQEp1|?00$2p54s)_)j4L9$S}4)DSZlWWaMK{ZyNS(m{m+qP6-$Xxht?YHPr1W zozD9LTs|+N!q8ZSzSx|$stWcQRUt>TcKzJQc=sHPS!^*jq#&@sg%(iq>eAS>qxb1k zWut^S6=i7A0#%vBo619^)NFurph(Wa7%W9cp^OGiL~*Vzr$~7@NH*8GQxrLM;Tfo^ zX_z_qno#eHQs+LZK4xVgzvz!RYF48UlnGneY%w^*$F9aMr+Y+6u{uBY4;*7$7|{EZ zoMG$36Z@6%Vm)Py8%(Eg^LYCif^~D0S-@6$5RT{NVBD9BdI7Mt& z4x|^lrm5{%j=~{A5kBlrfJ2&y19fF!W2Sqt_%WtDToXDKdxy{;0V>yq0*}SuC4%*E zchR5{H|(viY;14p)7TV>P2@ZXQk?53n}M?)Im?&vY7}-4<hwp7q|bt+iy3}dmewnk(8_3#tGvij3bWw#=(}oSON2?vrhJ_0U~GgwN<_3_J&oz*5FHXg9ujh^e9C)dxQ%;ftI$e%QccM1v}l`={0LH!5xo;0a^x~q)( zV{?~{ygp4(BegnTlI(MKM>uD*DUkY*`z=PLpjmOwtTYG9w_F$Yo}oZohFr%qlC_GS zSJ47B4u~8*KhoVf41J0#0Q3HA++P^MVz9jNi_8LZ-IYTPtDoz3;j)Yqg~H@s8Dy!a zk#YkDBRHScBLFR4#-o>{I^0=24PJ~n7^JvkU>XF24pG7=InS8xlqr{#RA0t=dopUv z>*s9i2yY`Znls&j>nJ=YSEA$?NM^BQOQPD1_aLa;E9Sk-pkjJ9)yV=1x+_(#JaQBr;P&4xXYIQh%2`ier%*m? zy2N(NF~H9e)EA#lZggj#Q%d#i0Sv|hiTAZdu6HMZv3fnqpRr6`ypfICx*N)Mjh|nb zEWix>3LV#A;T)ik)~^uU$WTSo)w6yb;@XB9=anVVuSePSaWviSmU}~)g>n{LuY_WT z#8ml)h59sZc$jXbtGop$LY@kC7$QbEOV)Jxix^1~?6=eYPBa338bK zP{cSUWSGA=2jQ%;K-mKCT!Vuz8>x6az_dWkTqKL>g@u^5@RV5U*E`qOZDCy^n#0(? zVe$HDqGZI_wNbek<8<(~a=KJ?Jyg1lOd(hwv`1>@ba_D#Li z7PcSmDsU>z=ar|Pyl=JaGZurK(;c&1FbuqnCye58V0CQt9I-KKFGAg8MEUrPkfqAv zz(BZVp-b7=jppI5R5)bL2NTJC2a^vB`WO*M^2AXE1LHxS6J$j+(i!RI*{f_i3159& z+N7t^CY%*tnb?H+#*LxKiLYYnVltGDELI13tPk0aX`HMiDVlPbLNM3(=`PItInlb! zD7_q)TT~eIyihX|8bqMW5f087e=F;?x|okmTPi5Sanao+rpBpJ`t2DmK`^=`LeX^x$C*LyRUem z+HQ2}vIZGp+Vv~c4F>al19ii?!C;^4Q4Z{$6xdz)C4SeseZlJBuF+uqfK9?FKa+69 zh;Va=5&)+HR!}j`fGeTdfC*GimH0jvr}(A|ucEso)PXP@sFREG$pPLHp%&m>1e|%u zdKLc=Th)uX_&OODGl#~4>;khLZztXf_*%%Z_&{g^gm6TTT8s|~C5T|=;Si>ACW}F> zgwFw5KEg^xf>KM7a-1bRLL;N z!j2yNs1nNrxICiB99@gb^>it^J_TRQ6`hTg=O8vNMd3R(osdb1WAJ7*C`Qb5q*}kh zDX}iqR|Cb6R)m-opCM)8M#fz|KyGSpXht?D+=N9aeG%$`-%3rUfRB}w)us$SE}>FW zUrsp=uAzBz-mr{mQuAD|T7wQ?Y3D(x3pZ+36u7O@N0mD+qpGQLaFieylr}*$LUrb$@VlT>Dh}HW9G`;1 zwPQ!e;5Ta!YZdz`dKVVIAV1-=J3YG&r-oKse_7av&4wWE9LPNq+lgLXKg}3$IuMm9RgYhNRQyO7TiXqG1UAVpVO* zLlPCp8mqiA5Iksb(b-Hfg)KOD39j6Hy=$=XQ(dJ5)Jl=T3ST#&1Q;a4;wGS5vsp5@ zSw1U~KZTo)4L|~@Y#_>I$hoKSELMWCepY!v_^q=Ht)i-i+m3rY+B~v@ zcQjCXM4hrFhpd12fChM2!_;`8#%aaZiKul4eb7n3=lVDeHE2n%Y2BC<#6y~Du;L14 zU8G1Jn7PN6ixl)aYXUxjW}cIH&%-lt(d&^zX$&f$jG1yF%;apSJ|`3swUz zdwuInRrd@>7N($uc{oz$gNxr8YOXp>C%WAayB*zZjue^)Ej9znARBR5Bb?}dDvrW# z*Ng1aGgZZ$MrSWCie9zkmnffV^?YQY1f^pIW%cL2U0<^Xf^xZb@>IdU^VID$ut~or zJ0)U5*|e~N^UP%SZnjWudr15LLzG-s;I(@;zJ%%#zKKFZH-!K56NTiGX{($!6y zs;YC*VyrxDk$DVe-7NE)rSY`U&~s&cj8L}v9D2FVE4$BOxzGWgX{cFWFT`LY#{HCS zKKE}5?GDxJE`QwLq|da>kv!$2H?a)v5Il0?>ph#O8Cod}VL9XY7Jl|AoU4+@0iLT6 zzFCtZjY+9@)M&=JDMlPlfje0#kDJ{Lqsz6yij(H$}= zMqRp5XOz@%c-^{E`7-9*Kd-JZd-t|p-Lx~j){??IV18-X&Yvf@7rr8(;XE7Np7qr0 zZ=`%iIO`QPH?Rcg1XFZP>ga%e6c;&_A$w2I4 zu``$vKnLsK(f*vus!%kq4tOe9irkc-F3>NUbB?*U^KhfuhwUjf<7GJKRarB(5TIhF z&ArONd~b2q4jEonzM%Re84xO>yD`gMH_j|ML5?DY9!e3Q(OO*y}Zv; zU$#lcs_F9ZL4GZ3hxO*Q3{SzS%g>KTmhSihg{g>Xtkr%=IzK-i^((70Z~O(Rbo(VS zDNUX<9fszG`;VyEOgr)I`@TxTswL<8n-y6cG#|1zxlPiNja@nGL;$oBND6UVjeePMB6v#3Z@WQ>(x z5w<1PJqK?sdB4yc7-0^Kvjj%GU@}F()6WV|R6oqtO@Rq!Q(RPNTS7=1-Xaeoxc-rYFj`6JhM=g!nd#%oE6*M^W`7^&}L{#-+8v zV`h)pwtL{Dd68#Bt_et>$V{$)$V~QTi8m{ND5|MB(1zc;vIItE!ev=f$OdN)NI?V! zSr8ThN<@PHa97t<=&O;s#LIV-@Ez!EO4$HjzM&L^w#??XMB79}*b=B&)M%i{ZPZvB zR7L`WQJu<%ye4o-@{ql7_9RG=1V-J&{-`uGx`T_5hwO*5CjkY<7pa&Sm>HmDD1eDz zb;7y0Mw|>>+=vP<3a~K|z{Q{ld@0P5!dOb2f3?&d!^`lSF`U~7%v`xN5%?Bj!EJgm zSS@G5RlrrkwSemyia2x4QB~DZRSQCN|Kcc{O+-aiEoM*E5_3cZ7cxE~kc(QiI0P^5 z1&C)$09?SFx~Cet!0d>lvoDhhYKFL+P%x?-ugIzu%C`W%An77itM&IfmCPm`-C_<5 z4@t0c!Zw>NJUAf$a<)Uf60kU`YL|+zCoI9D%Z{qrr)US%>u^9|RMjyCn;4vAaEife z3{EpR%ivuGA27Jc;8O;d82p97*Ql~M_I$&N6W0RiMOA%=d_`6L7^f2Yu4zJ$qH$iC z-XtNwVA{nvaxM6eaZw3Y@o{A!!yITxtkxwmD-x`R6+w5ZP7Xllj^N%FF3DB*QLldL zl@?0osOog}AJ)`lX+urh;Fq1+P(TQ*kuAs))sO!I3At~IZWxsYfu^{CAhS8n3cao# z9Y_{iM1M)i(}kFcRt%?Mc_@fIUOLg9oq3Jp5Ikia=(n_eE77Q~z9~urO7E)9Q6L z+(b6-fhpP8qVNMxfp}OS;(D5BY)Yf2W?hU^G(N7xO)7aH0AnnkYw=Z9`n3?>85WNc=7TC+g*Yb*;-7KEANHuw>~V3hG*Q);BCG!*C0@+kHzKNf zaR8dqiB^b~Omw~PvaoSjT~XjFv8$_($c28*QQeMny1j%P z9O4$r%>?}lXNlX^Lo&tLk_>$pRsEe+EFtR29Dy9bsBxo5Gzn64y-g#6(LY3yY^vga zlvj=Fdo@-rRZTF{qN;a=!5~G1Mb<<{)-5(=4xHg+|XX?(KNjP}y>CI+Isyv#a zP24|iQ4=5?!vN&sG3@gK8~0sU>;=e!Zo*~2;68wH1GX6>9QPMuvxJ0XZ~(s^$~{ox zM~#gNwxKgeQ`2Y@_t&ZgQ1WqP`+`msRS^-w<5>-AttLz5Sl-BJO;#jVgW{FU)nqj#tDohGtQn2w zh6J&=)#>qZsO!j@vFLNiYmaA*RCO2*m9NNq)%pm->^1PhQFs9Ml62tx;trCcQZ zkJSqm6)eqs6AT*9Qlx6*xEtA`YI?K^!Z#4dL_|&0qfS;#TmXsX5a#jnzAvj-p5KA z7X*IR6X`9m9MEHoOu)rrplOOiEW-~sEJzHM`Y%DKhD-wzwMjGKj>?s z+=v)&kl!WVrW_~18eg8lc2CQ30;lJ|3O2`L$!5*m?Yl~EL95T^ThkR{~b96KJL zp}=i_@6|J0_rraBW5j*Y)^ZGU^SBiU;?l!`v~)utjma6Dv;V}2w7Yg39D3-QgYWn2 zQ(Mk)3a*(r*g0$B9R9XJ9hSNCm5;xia3VfdI1wLn!wog3kE*`1u(V(bC-wjN=j|i< z*Hoe;e`S9{!$rE_$47*Z1-LWkIQbJ|>PrNjPJ02a2lAsOQ^K|4`#-=n5P)wF#W!dY zRYl-E2k)kMFU1=_h(X)%#>?-)lpfeo&^g{acn9G972fFWJgcnY7DHF7!V;2F@#a1< z3U9pp9%%SH{9bnhbk_Z=ptI239I4Ku2uB;Czu5@=LL>CA8lmfxP`{KFV^glA zI*+0!G(zv*2>n{n|9BF=2+ob8KTF>Rt_+V*Qa`{iqHyKw&&H1e$>B6Gw8^j_+Lr9Y zcNYQYM%JGRcLdRNZbbb#S_9lb@E&zMkd|{}>rcv^LG&lT`dDtkJ}!;JuJj~8e6bsR zSvbWR0Xz$E2>kpU4*1f;mm`AVw&M$Bjko+*6T&$QequQa4Hnus?AY<04YhljB^xvH zBU02}VyPWwK6&MxXWrfA%^UUX4)_P^(1bjdLxws(yIj(n!lO>_81}~gdv^#Jj_-># z$zEZRoE;V8!ovup!8_vos2xV$1^lUdR)kww{F})}+W370?$YdC;$32HGEGue{ZoNdmLorrmCOJ9@xF?2iFs>2lYkST#6hd896zTa@!`l$|lvIzKn>6Y#yxCjFePK=z2s{c3=1BA@o~*@o}BqtOmZ zpZH{%&p$Zb*(kXiyWsdbVQCY!&t}N2-!hH0%e4}>{w`$#`d8hSZ7e>wNeUe6@MJh+ zrh-oAd$_ad9WK5gp4v@oM;)ehphQ<9C6**ohZ!9x#hF4~r*Q4joh=ha15Q_opF zsSkect=Fx+;CfS^Tl-LN{NURF_W&Ar>p&V>Ig~QyX3}+K*U`w^MpE|e*)(q6cq%GF z-zzPp*|YJ>gR|$*ZMWSiP#=|@+uznZRDb`4##;u`9^K9y2e_oLKx;8}z3?cRjC z*n*2Fo9uMemaC}q_RiFKS7++6wFmXy*qgd<>rSZ~Q)y6j1`V1&h=x=RrR(mxp0ca5 zX~cpNl)fgNMpuod2@A*5*!#xP_yu`1Vetf-xa20vsm-AqADl=9iwbDQqFd;eB{RtJ zAa2Ul7Er-z+#On3M7OM)K{FT6q_X>Qg0Z}UZmqqY=B>f+EpDoy`STahqWc%qJ@?#8 zOO`C5h0E@u`&QjY_pV<;_us#imM&dJ%a^a9l`B`#s#U9L?b?TE-MaO(VB12vdn@8R zzJ!)-0?(rl(6Sv%X~mXRw0iRzs(q@KR_|R!Yxk|8b-UNm#vL1I!-kEtY11a!_{b)D z_~A!r%a$$l=%d?c+qUiW*ke0s*RIFu(cO>Iwj+}{ylgAO&pt~>4m?8#jvSz) z2M^NG!w2cukwdiW*iJfp>{)v5_#rxU>JS}${sA7hj-b zr;gFdSD&ZnPo1C_-Z)7wzW5TII(3R(f8}L*?X^?%$}6wp{TiKq{dIcd^c!^g%{S$*&E}m{DYb#=7Vq^Hfu?OL? z)o1RM2wQ8buE6P&5c}lT+gSeD+T^A_YGXcoOia%ixd8prxwNb#)Al;fjcHVAjlFP!!%&> zVi~<-hbsP~i$DWif*?M|eDAqa?JY{C9wNa?e(fpdmxp7-gqzoY^2sN!wg@+5>w&%P z!_L(r|Fx%T`!b1{Av3(i){j5_jY3sf8bZc$odkk1t%rbD=mq zCe^OU65Jd7>skJp+G~WDso@DH-+S-;`S&iIJAW!6#?B)2DDYFKEhV;p;TsAqGqX}R*<7n+(n zFg1N3yYzwAUr_b4J{=T$+|yeh-NApGqwMxphaZLa(Y?1sq^2P-EiHB6z=6ZhZB_Ya z0rm%U>5s(rPVW^{cv#TG%~R9B2?jhPE--)X+4boI(^6w!+AGf^vG%mIv|cgG_U?TW ze-DSJLV8+SI+7Xj2j*XY2KmVt*z}B4&i>fcfe1tV<5E?x+#12Wh%g{+#Dy&^|IDWJ zjEsTy{iyl39*9XDI3Ob|l zKra3OGw?Ss;(?FwT)cRX9q71>(dU&u)ZWP4aO%ZS{22qAAN}YP{GHEAV}XYJTI4~0 zyu1oeoqYb2Px0K6#sQ;0Sj+YQYOR;uh~|A?Rl@uilLqGIP5{63_t$H0oRB+V9Gvfu zF}U0e`~9DN_EDvs*(YSar`v~d6A)O}DAIqs(;OuT<7H!q&8=W1#S3nt!l zrN09A+IzRKy79C1+!KrLyz+DJqO~Wv_v+8qGiT0Vgm3hD?et0RTfh9l97v`?+F#!< zD#CQg!y?)eeamlbVqtF!w=R6|3yfpkRR4Wcr~m)$UB4a-ynekI^=Z_vQSZD?O@O-= z&bv^{zYTb)%leJt?&$mAc=7 zosQf3(7>{RH1PI;H0-uvG&8V_QHP}+sN-sc zW4)My^`fy(>|WKKdM@Zmz2{?Hy9n#rdwNsvC2&izzFmR!?dsmtYh7>eny~YZ&eUaB z7qUNwUpL#-i+ViLgZey-HRdC!l(9I2GVUHs*HvAQbs+Z7?#ZU%4-BX4)?+<<*C@)l zGlxdcA5CKyj-}CekESvAj-jzj#!}v*8|bFHC(_MJZl>G^#?rXjaWrNF!d8!?vFm^@ zoj`fZ^Jx6q36%Zt2pYX{G&$~@Op|LTlVi1mrmmYx(>F|`qNPPN{UPjVtSP2B%jVGB z^>eAJstRky`E=iX_tV0qchRyH%c!J^1j$57Xw&b=QJVJn;l=-MfXh@7+pI?B7Y-4sD~| zyLZ#md$Gpb`;@-!+e-(Z-bV+Y*+ofK0pT#Vtse$FdaRFb>HDb zbny5yvhF)_;s_mm`8j&-xuaO~9jD_bkJIzdpP&;bPGZe>l8(Q0oL+h9MSZRJGQIT1 zDSG48S7fdC>Z@w4_vV|g)0wwU)0wlU36nf}_Z-%BSlhk-?mKk;y?5#S2j}U+hku}p zAL;A3&px9s{`_ZI$9?tXm-LUn|DC@5Rx}^l{eRD|tpPF6KPPfbOmuVu|9aGzn+s+& z@Z45*b2M|@Tvj%9NO}X$#HCYW5MEFg$=7olcp~ndgz$woHV~vp!xk1GJl)pP``66t zV_L-0QiKm|sXxtZW^;he!0?V(h-)|A@MgBKrCXwG&AbfFT5|mRG8Cbit;zbGJ0A}7 zW9YaP@t0<_jN?CBJ$tKPjs@d<1;WhArZ!a^a#y3+J$aME*}%jgOM7&Pq&-%b0)L9e3R33dq48 z-t7~cfx`bOt8wvu<*3BOj`Kmk!)1%N-GcZ0{s`r#D~GQhl^8c};o?P$iduq{d@qu@ z+s2_uMtHl#wDqgk-_i_}q_~ls%c5pUNkF=;Mf}=PNl9_zOU5z@Puwk=H*MN7Hje#W z*Up0c;qWE4O=JQ;EthQFx^+WG_IBg^FU`Kn?@78UvEP>M+qd5u*Z!)cZYvR9JKPuC zCkg(xH|)eSto>D2NqF7(%o|stv<>ct#@*cs9$XV# zf&>T}+zFDP!M$+}7F>cQxO;GS4IT&@+}&Yz&UgNqdFGj$xtO_{-D`Wxl3G=7y;a@K z!NK#N0`9O;|Mxx@7Z=a}sc?bM z;Nk=?@<;#A>%qhSF5uJt`_z9I1VTV!Ay$ivo12T9=Rc4C+y&3Ug^Qa@H3XFJSW|)j zod4f!z&~jE_XJ}_0Umyy|7#IYwQ&0PdhiJ$PG!%9!Vd^0 z2?8v6Ajh1~0&rw=036>z&bbi88Kof3C}Icr3-|%vLOwtyUIuuR0!HJq-T``1dVt0^ zbwD>k8!(JB1oTqD-x-JjdE|I7Lq5S0_>}q)@Xq%EqN1Vz|1^IfA}bPzPmTv|e-aRq z6AFZU4+4UV0)f!-P$04}5{NE~2I49}j8Fyg#Fdf2m+ELBBR2!cC`$!mYCvAO3gn9G z68^*gmXwr${4U7zR+oTwz6!MS)&H^cwY8wFudM-o{%iu8TUvm&wl<)sy9nfNn?SqW z4)p)yY9yXTc>PAdoiHz$G9915E$ryovOTB?t-rb529}@4;xSPDmvOyrTJE3mE|o zwHzQ#L;F7q4J{2Vy$YbhL`O#pKK^a!|K$Mds;Pj>|7^ev8_3(rIvfjPvb3oRexo#fBR#_#8Lp$ZC+Ac2^a?%FIPh7MXkoDIY^Zc# zHe0US+L7B4_x&u-l$V>!jL-^I-NkO&-cKG8ktv?*S)TUu{iD6KqvAc!mGhQ;h<>BP zT30X{5j%L`Na)Xd2UrA_l(&4w0AqLWaV5tPXfmNY^g%FeT*S)oSQ(!Pc0v@vZNMSL z>DyXHAiU3NON>(+nYaL~+ik^ZJiL!`)0~ZEw{dTX)d+F5F6ft*LPA@JTGRCQdFQ`! z-EA+NOkX5yPLlBJ4OLSl4{;QiRWYj4RH-T(p(+!hDjU8Ec)&*3NlZ3P>=nUt^%{8g zx)!-^nbO=(^Auj*$ zaFnQ+7&99ibUZw~0rMIrW`(SL>jt>S!}8{1%Jd2|BNf!uy^?ZWEJ@L=xXpdIPUCDL z%KrElZzq2Lj;OEaudT16A&jIU$J83RD$hJNr3rL0>_p{GMQ31O;C#g$5Eq9N6&-Er z?oMpBu`#gy`8K|I8D;GG-`k7w&-K?+({F=s{}GYqxqtuCmzo?^zRcEEdv?-4`or+V z9#3h?zN&JS0JC1M$$0 zl}hsQtEcX4@AppK!F}m{k`tzkYV4>*oFW4kSR?;V3G|EWJU?R~d{WiCT1QDWVX@fEQXrLqgqKxa=M~p8c!Jb@F zS%Vr3SG~XnZo#6V8T?VuQZab7OQzKXwS`_j_5%qh0ms*1p~FY*JigYtDGKPMZZYIw z`Z3!o%*Exuwq|m1eVtcPfdz8$#H6H>{OJ_xnwL(1UGsi<^PVrffFk6ec$?3&ci7M?{ z3qKjvA^ud8EUtgD0H0FRMlYXqJeYCYYRKU&N+lW6{fac4nlzFI+?rPEf&wIotndR@ ztq4CPBxGXh&zGYkyNtb~zMUPWv)c!>jH(jXKQ3AZqX8jIuuLtZN4tu-d#Xt*-j>fZ zETwwQge6)PeP;x$*k9hz40FS{>)sVi5x=G9wwDy^JytEtInR>iK* z#)K`&_8uD@5eFTV=r=eq{gc0be-vu$&cQa1K>~+(FdXIL>N4kknmI$*0~hQgxgTmI zGOACma|UjYZhxZ745@f2zz+Jz0Xv2UcJ3$DHkfUMU}!hnQOuSbM9$8>kKE(w1E=%9 zp%)g8>g<$=LdW_i?L``>;FOEV1(>Edcn&N-8Y>j-lRHmhJB+>DvVMas{T>xCtRMm> zbDS0a=&9iE-@hj;1Y79hkcBC+z`>`D>lpmX=y=wHLcYHzY3hvsQ~yXA@M{G}En$Ij zzeRpvEc11DLTnZvA788MOtI#CqctAC%{(lTRg0D!Gf?fLkSrJ{=j7ys`9JxhV_}(r z69lXi*ybQ?cVWsKZ_(i~?rvBv#T#Y>$8JCNEgWc*R4f-_AF+lef|(-GlPS)v_ww1h z)Gd~6a zZil}UQxCbug-rOaqHLjtPfCffP4g)<8<*bJKRDTb4BT3ac=78Do%(-Q{$(QDdT zM9P`M;TkM;dNZ{R2fyn+IlS)|O`iYhWLdx_-yYq+u`gi1995>*V0ykaYGr5b&o*ov zMUypd=3opIC}&E(v*)9# z@ygIP;c7SGXAURl)zuMHvzeKCllM0@IUMY$I=i^gq$*OX^BuZ0yB_Y9?9T6dzOZSu z*d8ln8*aC@vsbx9dn+;` z9CC={Y|re{FH@mMWLN^up#nW_({1`7j4Q;LGwcTi#m>P&PXwrWB70Q^wkKU41Tm>Z zqsq(KzsCDcg zJlDStnV5(b-5=)8ts>Snj7{-8i#mx6wIa|jQa8=r>u^k?2X_AI#x(} z8mAy9Oqw=l_^q43XV8q?3coMa_OE~Ow({c)%b%r}i4G4v;cvN9M-GAV%t5Yk`P3yN zL#I(BshkPRfBKDLvB7My-Zrd%BbFWo6ww0ZZ#_9up$<0_G@we6($oa!YHfYJsk|Op z*BWO;L;$FS|Jj@Nb}CTHq}oiJGpB;TZfADgoH_p8@UWs3XddtF3fY>BjoIdE^CpKU zLyU`}?|dVa5J&q9G4CaQBnV+Zomk~g4$jtU)!wx6?Xrnt>9u(nj$%3Ct!N2B#C4#3Sgu zgN;e?D(Ljok+X00{QlCEijD|`C^=wNTYY@wqM}XbUq_j3yXN?LiA9(s&o*l>F@;1D z8;C@NTj3I~F_A`yGZW?%vw(J^N*f(i+VMCNO!%lwi3*-s{@#@26C_T&s9EDknwq22 zH*Xv47hRv1eeU1nJF&TF0>@9o?Fsbqp5K4`_|RK_xLD=0$X}{m1xHyy1gfO$cB)WJ zs=m1HP%cqX%rT({U$Nhdi<7^W&?T8c9X_$RSknLe!-U*tkn6(sI1u-IX#$(JUk$iyLj>Xe-{2GOgf9YiQ1(El0?J-G+^Vc1Almw#P;db`hohf%=^i1%#Rz zP6P2lR=g3~yr`y3{@(1C9|)2ZUdUCK$`W*$Bq+SVzYq@m@I%eo;dr^VfDd6WA1L>^ zZcZ05JbstNZa_L;@AJCe?oY(lmIbyXILjwM{Si$r6wuZtYL#X&`f$2s0W_UlUtF2; zibTM3ybhb>%R~FFy$~Gf0YHAe{Uz6@hMaMdm%>rdB%7zo>WtZOz+nENZ>Ty-ju*8e zPBdfCT!o3y=%?BJ)#CNRpY*J~Py6|R;aPn0!zX&&pYG@RO5pr0QGOJmEG&)yKb2hQ zGt|Jq037xc&sM8XpQbE*CI3OtZ{H}FM(&&nr?8!pawhm$|G3(IAS6Y;th6`r}Ck%8#nAGuXrd$zi< z8MS5D{b?c~6R@q0|ECrl{tn=f3wh$>ZES$J@8!#vR@Sx%FQ9aJc{{sDeJZ}l_eL&2 zuv`vh=-;m1T$#ZN(^4PwPCQ7V4nYF8yN@U@*_tCUMaW35Adgu+=ukk~sd`N(M-n}D zqYoF|4i}mmK1#(kF~OY1MXssxs^){!`E9$B%Jiyi7P#f&p)#rtd(+J1uRZa7e0)|j z=qO|I>dG)gE418hE-$F#7J@y6OhVJ8!UXLT zis+^N9P&<_UoD1il1XrTfCzQKg1c6m?U#tx)kDkg>k(auzSm)$tzpde{qU>TB6KEro4=8MZqnm9S*XAh)U7wdL3A_5g3 zmS0NN($NC`j+j|IWg;de@9F3Oeih+^W?NTR4=4N$=(}+Va|eJEBtzE& zwdiWv2CF+bk_Wfw3SYTQICw3G#+gjBTA?Ti)X1frzqfB6egB?&{Bwg$P2sB9_H}|! z1s{C?4|Qe<*5EGUNSm4t3R6|c;=nJ5o}@fFeX;=jT>iMk%O-IMwBF(5{dzaW`>*?X z<3O-7De^TA+1s~Wb0L}a??iKv+k2v(;K&+`)^yLfQA-fTm!f%#VzsZ>zx;;Bnc)X| zJs_~~ZKsNpgMyAXrB2&JMR~JbJP9Wm-YQ&7{}g#-|0L)t8*?IybLbLNQT5-<6N4@e z+#50HDUMi$ADp;U5;TAFZ<-vq@bD#N(ECH;Knu_PDnf$=0gjsV%O2*H95jl{{0skW z5O(VqLnf$BQaVK6_<1Ca0HFC>*J-R`RPfGfGjq@!ga)z71vK)wT{+kf{(wS6fHOm& zcMi;-kFSB#X>Gl~Eg-=V7c&$mrWYGExYTvINMq>Z(%Pjb=q^#K7FWckDbq1gc z)Ixe4irNmVE00Qq~*#q_M@J zes=wgIO0P&>f~{~KS7|$y7jh-kjCbooo6E52VJkV>)TZ`2#JY zRPL{A`7lo1TTkx1!9tx-P9Ro5h$zlfxwL&s4FUqm@&pAYVkK1M?Gw;{h8LGt%`Rp^ z?PN~>3X)}}X-v@bSv9lbA^<)0Vu(9zk|$e(1p;^*atOymQQ1N#K9%qzP|Ih6_{BGC zJmQ%(A|N9N^vw#ZBvG>kST!^WdSU4g8(lIYD#(Oo%dq0A^~!_Oj{S29{$whi_b(8) z|4|qH@GSC~DL>${6JiTxlh#f>U(#r4YPww%u^n?kV)~7RND&Z& z+3Ej~GT3k+|H4H`_X0@Cmw1_2ikOG{BRfc%X29pAD1Z{w^C6~RH=1mM0H(&0^Sv0L zq3%;C%5dTw>x3kj&s;(p9aNDL%n3-%R7l{r^|PG6@SzmZ@1n!FtfKtkL8mgF4L+zR zM*vRE|2HvAk@+%(r^Vcvg|7~0iWeJ5z{Zvo2OKu2|7d!HwZh_!K^zlm%!g#`e`TlH zVzVEl;8`x{b5$rp>go|wM-aS zwx4iAtoV3RSH=UGg801%HE^L9c+>PTLxn|jn&rlWW2m#n3maE9DvW}=0_^{Z$ zTW?vBY_pZosj+W(jllZc?+iDa4}_h-)o;%%>kZ6J_R>vC=y9;iwb zGX){I;w@&vw)hKVKlwdckD|i5MkpN8CNpcl_@tu|)%Yu=um%~rJ1-qUCDbk!e%<(~ z(+DyL20On_Z{uI&SKn$ptb@Fb{xk^vK4anR*!<_oNN#SVmp0hohJ?eOD0q3d?(x}H zp!i!&7ptM(0qlG*!WgnNQ4`yprtW_^{<&J@U@;>FMn>bT$|~*DmX^)4A;eRkjvBD= zM3g%O$6j;$1pq!q`8CFx7TN z8FEd1()W9ZhY$OyWRAGCt@AZc;vT_-QSApVfDrcmSe7~k!Ah7cC74|IS#9x`@eH}w z6=$|jvmWZIDT71WEy7wukO2WctglS9DrSHjieQY=-s8ego%661mBb?+~YS1EEA(q6(E`laL)>h7M`k~8wwS3w%-!Pl|D0N zyCSOCdezlR|6?sN50u5G?1(IUn^$>)b;i>bOftIbO@wqTP&VVQTtNz>wysVhp1wqD zx#%mSL_adWi3nJl-nP!`{f>!Bn+eWRA(e|VADi&xCdKvauf!V&mO?1 z*xht4%@Oz!@%Zo5Z7aH+DWzQ!V7@n9MMa9}aCJeem)8>qAu4Z#?Q2)#exYsS&0 zc1zGHZ1=jeCKq+bE~#d%BF~)H`W+K^5XSzXNaTx%$ih3peGV@ewFASU&3LB{N|Ycg zqEdvO>Q|bHZ|7yUdQNi?*WayBdcXs37Poq?7NvfQ)^iy z_V#sD^Iz7&Pdj-x8)zJ>KfWa!zu512W@(qfiFolqpdcPb?_kG+vW0RP+x-&@K4Q8X z)S!hSA6?s-FLKN5fB6On5(yhE|4!02N~+no2X^Fu{9btpmf8tLbk^2;k+i0i=h&1hF^`l zO)wSL{qdNrFcqRm;9J>l-@0|=5NbQ$<^BFu1!AjHE9&spc7*7D`Ubi6>!kbFlfP#} z1fCc4I)(Q5y`KQE+cW2DJ4JbqRj8(Zh20#g~DyIqg!FU#-?*# z?+Qj)bH!$^Q4j8=Myn6s=cCAZ;!nk^SObeoOiw2OdV%*xRzp7NYUeV zlCihevMaamMr{r!OXcFHdy}yYMZbIwULCjMEgs4VtS%gda`Jq!`5laWtSKz;{)OXO zZrUG?*^}2>x5+mBUX&@5+O@uRb4=<~emqd-`ujsB zW>k84$>`0XIv3+a#PQeQz`C#^@f*Fn{1#b*t?b&4eTKK_sY(C9gzoqI)WSI=Ip;?m z0f%32FouC=+jl0ArF&s0sXGkwEIPk<6(ew`xanYr=bz64&u`Ss(6JC)R4C?@a)}Wm zrX|Q9%D*;~Spfwy+@5YdwU!Z=#RCK3!78_=whiL;jTV?2D#6k=Rm6Sr0EbyYJN(sy z5VPWnA;yL0Eh|Z4ExRVTczToJ`ol13(^U*RX0eGmEcti`dJm29d&VA5=u5^0?N3M} z-56pNLe3YxC@Cw#0FfouK~Y(DxG^Hs4roy`EBZsC}akt-oQu}{`%b;+;zLOVvl61nV83<)1 zx8Ly=;jgoO!-U@jYD?0O*Xe@GF6i-W8!>@iv1URl3T5@H1Yg7t<&^_GI2j8yF%cTk zJ9;xZCy$6)pXw#EW;!)*YQFfPDlqZeE}-fpk(C4SczDF*!~oNY^h(9>K2k~-2biv7 zuu2=@KGPz|H1M~Sw%_ji`X?ew(Tw7U8*52l)Xyz5zsb%B#-)_z%y8V#YaP1-IaN8uJN9R2%=jz`;p5ra?}AeVk&rd!jNt=jbD+&U83Y4qpg7z3L7xHOY z36a`TsA99x2}D~vsK#K_q(eRj>G8|w6n|_L$?Vko=I9O{tg9X(t{E-;iM$?`4BvQ` zHM)v>PH#ghFy0j;xrV@X9}|u4j~!6(PWX%E-M7g@--=58Mj^#cfdX9`0(Vg^3L*M} zI4KZk6=En)XDzlo7muD6?2NU$Ww~L@)|UH^Z_B>jk4K<+*a%kz!#!`DP#)&a-2yy! z&G+n`9#Ty@P`UJt&zE+~4_eqTUllomad^b9LCebbwkGX|wu_FpZ#j^Fo;0F2)iG*p zv{~c+Dgl1amjZFy9tJle-_=m&CH=mfJZOQSSNqh;_`R|?oZPz!lxJQ~qT~wXETIoJ2`lm^WRqwUJ&K#L zuTs!0lTlP+sP=3axvy-*USBqZJ_e1nV;SAi)XFY`zAO%UC{fQrmQq0{iPW4N(b3a} z2;rpw2@LPi2z}bGDWy3C3}!NCTi=Z@6$-;Xt_+Tb?je16>{u^4i=Y@|4|8qLyn82c z|Fg?+w@<9|lR!IR5H^%3Y^vfr)5J6`e*WrK|1&|_cTM;EBI#jFF`6qQ|J%a5k`R(1 zlRvrvnj)0Q34yW2_#X_7pCuZp50okN$f1kBjRa9j)}#`jg;l>C~1p6krUZEkTm`Mgl@m0P>rjJZbRo@y($hA;zM}mfiZD@PMP|wUVwb3J?s9oceounYYwYVFr}U| zX)N&rswDl={Ya~O`Mpr)-LPa;%*$o_$F0cJyLbM#ssO`b;q|fKt2F@xqcHWw1|@E! zQYnU2kU!Y^LXC-%go`aD6>Vc&wahkC*iL+e7qqP3m(Gmt_nePqVtY?&6_xkh8sjwr zj-gHfn<_b#sK5Q=nci%veb#O7*)oFs<9^s31DvKc3O^Ntc<>2YjZbhHOB;WLCPNj% z2DD7O;yWwcSJcnp`vNF|<HXEyWE=Dj-x`kWl}gIbjqXaoB&#ivua`xdMP4aO zg*h~rqvI?!mb8>a`=j^yo)|8#u|*!X>2J`4{|e}hRKOL^Nw114m7un> zES3HkR4~zTCSlh;|J)Pc$YyVd2?)M&fQE)f8@r7k$#)q^5Ge782M{pO;xgZ(-_Y`* zC`&!&{N8DwT!~2*6m_{RsI2`7AE72GYGgA_qCvfcAJo6mStFa(i{*RWT|MecacL~+tV@#7V}$JtgQYZGZXV}E8cze zCsO5pYBOg7$u9(>7m3Pr7A;#n+$g2OkWPB-C`Dt1Jq{LN<5thL1tB@}`Mtwf+~C$w zxCVwa=c;VSu@rZ5&-T$%3*Uxbclm_UEMtm4K-hb%iDofFxKyudsT6?tV%_U9S9Sfs zJm|iMU*l_1I$?yGIm1S4#ZSsPL+_Vqa7w_%lYN9*0GKDzt+N^T!QGtX)Pa1?=(EW3 zdDHdk^2(n``{%Poxxf7vWU@Skba|VFF!WZ; zd;(778!#?^_wY9bb*jnzCloMKI3o;wNC4)DGAA!q~v^C;GVU znqOK<6+Z$seh~jm9l0&sR8^v?up@npmef{Kkhm|oq6vk_whh^+BYGbdmY51` zC~6_+%L7s%b)Z1~3W+EJw~~i7?rsskMPTULnAC9Ec`E*O-wCAj?XOJFVF3rGK#=VLtgy&ZLGQV1{1O4>-k zP>}!J9p%MpON5gH4HM+`rI?Zv*4MiVJHs#IZRb4M38u8E0r^E3!YCB}Fsey8Jl_1Z z4Y#E*;bA=#F<1L`5^g;eOs}JZxr#YQ&d9iO=I$6Qc(r=;_rv6vg~K z?7lQDNbebyO~`6M5o>5kJ4fgKM8U+uoEbu$U+JCKmCXUjx_W66Ouc>&4`Nl#Zf=)t zzRJ_j=$N-cCccsWdkCu9BdPBTDi`SS;2Pb}o3%p2RNt zu-01YwsTdOOs(AAC8lpUZ0*4r*#8aB%V9sSA*tKPA~-8lG2)WrHzL&+HpJrk%z4Ae z$ovt{kebOU)Xs)cwNLAx91iza;3b*C+NiS3B&S73F~p9USGCl@6WRH`puD?~az7SW ziKL^G6&FI-Q1mk|J)k?$c!NwRT@D*8&XDwV-Q!@}sVXxgdwQyFN6NwPrpuckgw2T& zM$&>sZ(u!dr5TcO7V*oFXRF2|+UalN*as&;-v|684x^CGvSG*Pg5!Rq=kvgu(YTczINM6d5HoSg7_wj; zExdT36T-n(sNg+BRZqHgERzu4(p}UA77^R|1R2VLT5ud#dEPCF(m~XiO_R1AUv1%;=Qi0N#JBNi~4tN@S+%6F1aIR1(-_1%-J_FI~(Em^U0`^w++8R*c+__GQ^aU zocIXY(%hcF3w0Ng?2s3-?D%cTZa4ICdc~T+$p5bW<73H5n?NfT0H%6iec@|s9>n)nqWQFhv6%q#q+s2nM?Z|C$}QSktMhj5!3q>YBw00 z;y~%JJN&qGb47-O)^`#kb|*VbgPhH+DhEsCG&jc>D-v3jejMGRyh>@;*-rr9|p6Myx!Y(ruu#6d7 zfimMfZbVK)$MXP38@-<9~Ft{EB?!pz8Av z!;Z^L*|xwH@&~1#ouN=O;&BvlCcrerBx>QAE$xi#8;W+!TZ8hYnLk!b&ibheFnHF* z_W{@el5N?n;U0aUOk5p!;JkLV=_MdC@OM`yr@EO%%El*fP)6@Z3!YR{p{l-ZiAMpP z)WuYEWWqr!#52+#bXu_e$h`ct*C3_I=j@VcGvHEZ)*Vt8_9o4ta+|u%^?7c{wLKK( z&P0tPj@Y=+(d%&KXlh|eO68n1@}zv$(1`1Q;P5%cks3D)n9%aFO;Be^RM?2|TZ%NT z3KPhcFM3PoRCyN z!}P#MGq^53Zl}jlda9B>qm9I(wl_`3?Y<{QIB30K%st}Ux3&etBpooEY&@E#3BWjx z@3^BesA@d#^fZ01Hd|ny*Rci`dL9aTGPqzKnx*vzc{UPm$~X$0g7!NDTW9k%mSUi3 ztS|c=LglyDZ-r6&{yVxBCnU!#&Wy+mkLRa9g`{uNT-H0~+-l+H7tx>Cn-J{$(1Rv;6nYH?MxBtvJTlE2EW0jFHU_uj2`xl(dZ_ zXI#y&LhD#=aW!t3sM7Kn5*5Q(<#_w%;buy#ull6=^Ru^JIc&bJ&`zOaX$9YVa^qOz zBJXqQN5fza!*dxxTx(7qKT@H)V)JY>6HI-L2tR;|dM}1%l6k$?8$M>UI^j|uNriJ5 zv2@Hm;zNfs-CRshP`3BZel9i$?C*pGNlG~M5%w?DoQoM2C)f&_1RiexwaGmIF{h1@jC=;AJNbIR1xNQxOJah2@29YMkm`4L`f=a|as zh7TS3pxt1{CkTsKxpIuMkj+H%F8uNo*=1PZt4L6KFaA76iy*4{#0`Tft zkm8n8#qORDe9*}~9g&Uaf1;U#DP9K)HB_M0(f+;UPvvuGXtO)NUJC6A$+ytj&>ex0 zk)>!zzGUAj;hN?E+6rdx^u=3| z9oDx*#u@dA>W`SVcA6y`!AKpv*)sCOqm+MR|Bfmo^bM(R zYuW}E+wlP`zvyPd?}6eoo7UPziPafR$ODUls^fdq=UruwNoL?}dSo}-;rGq-)y4K3 zenBI53z!gZ-$|(0k<4=kb#5oq(bM!FLHkXQ4+Yr+h>DO8>P-GD=rA(-`Qd`m*=2&m zRt54b?|a6o94C0(aK{6$Q{(Omyc~Q`$l# zg`NhI`N6cxeLgHOGrdBx^@S7`I-{eac9Ii3;+D+ZphdT%&FaJUSKLJew*|d#thy^O z1p8-Sl1<`cu3gLe#^_P~tP40x=MkgV5PTRR$apDR|KAHFgQIFrB6Qf3} z4VkZ9fk{TBjQ8+j)BbAAj!ow zJ1>tS)fh}+8-TXII$;&A+C~A> zzHF9jbJj?`imTjKAQx8{9owgCS20V`Z|e=!j<~E?AYaQPhtp9ogc*XNG8WWP5%s%$ zmVRpnMjdCfo5Unwj@y$IMmwcw1s2(C1p+uaH^&^=Zn+I=Cls@%c>53Iu6tqzBNbT2 z^#UQMB&Opck&v)8DiqIq#?;mPX8Qm&waU^wikB}>o4gA4g{}@?!@e#14#Y><`|T_? z9xM&BsT-@6!z5P9@C`fVt$J?`O+-U`)!f53eo-W^Q&e~$X()C32ZoaQQaD#UBZ46x zO5Y=srRx!&nRHJzwcXAB)OU}pW41}!&dTDz*9;gTTIG<~Fu&=wyMUd?38BMSm1FlS zx%dSNTa)O=d#v1o0;~j;rH7~V(<`*)ax~u}Zbd6qcauqV*0ym3`}UVhmND1;kB;7( zB1VvHa@iPHn&e@=2hvi#22$Iym&9`Dt2NJ$3qyV1Bz@W&^_$7gUW<%na8eJ6)e;=# z1fWp!`^Tc#c|Gt8yZ!ZmN=eu(R69b#Zl}$jJG*y|4&iC=jhdgb94<>L>Mi`@APK{+ zIv>n5yuNCLzL*-BH8*P88V(EIASNg698?#<5WCKo!<#MDLFf|_eQJ%N`|+LS^JAGQ z)t=&`!CD38QDs>@lQ=;?yuflz$j!IigtWuL&kPJ`l_A+s;tw}H6aut~O1VDr=`+%% zG#jg(bn||z*n(y^zxa&0E-TvGY%r0Ty9sdM^c353r{@jrRsJ@v6KJjeI%k)uQt9ZF zk|p&S0$`V)v;uiTUO#VR3VU5F47ohmNZL1?m$9_hnEwmg5x#^6Y}mv{P(T8SPA|%n z>F(>}%``<8+y?pnT$zM0<)@3aEW*dfzYrg9dejP~ckNclFAT&;uk|*!-kVl|- zAF7nSw}!?89HaC4m3dp7NdbQQ-!N_AkgweZCzqjZhV}QssYW9g>C%r%jWy4;RgD?2 z8Eu#jt}**LJvXGt8&9O|+0lEypdo-Kz1Fs!HBFyh$r4#oJ_Y&9^r_hXS+} zo0%d{pp`!e7Twxd;M{}Bi~_Lgt%kj}7oE`9V3HnVxQ3^P_rg#8{cEQK^VJ^k-iG!< zMOOY#FK{>Jo38<4vzwB)&!|}*{gy1hLS&qb)f#9(ggK}0jbT{-^kKlfTF~>ty?Z7ZKk8wK_mBs_fOo$apfMH-J0!{}LwEr`|1>0PF$Ck&N;*fhIHitWiyKQ5< zkz_-o6U?5JFWPnA`4RD%y=Q>=q~A~y9aO(!DILUCgj6vhoAQdYq(gFrCejajSA6d6 zO|(0u?ivOd6^nHuBzh+z3x$NDX>i+EqN{lRI!9IR!p-!zDt`n zWJj<`q^nncszsxE8VijBGd96borxF=8IPJGQIP0d>;9LI?Y_CCwO-%ej`1>%@bOic z3k2wT; zy!rB($=ER+VCWeXA3(wW1b@KXW$~JM@5lU9Gg8*mQ-P|QX3x56Z7qMGO4Dknn%bmG z3t6fSrrvv-UJ9yKy!2%IqDEdCKji1DrwTLc7WhF8(pH~93^6tKHB&TU#b3F8y(o~K{t=yB}9|zyz9b_$cJB)JiqfXp5nzpC~E4a;E zU=x3}LtQqji^$anB5>G(@;13%Vv6_suhgGnM>@IRiv?%?gnpoSTS?ypbz62|^ld$! zyOEls!p7=%TtG<9;rkWg-3EK|ry2HImUDJy^Y5qIxR&*c@ycp#pk3>izme%=ET7II zB=~Ga<~p4Z6i;HV#Q}iX%ykx8iUMqhHxBKSJAENib~cOuGlTlmd85bRVBUFg0F6T^*UozL^+Y=RL(T$Bf+tAxbmiWaK` zQE5Q(;rU@_*mERlBPB(y>-f6!_*`O&7`2xc75tfD z*snfa?*z3TGgVHd?m53Rd*TuFfV&;~{uPZsK9I&PG5CxlwVCfgu_~$~nbU8#whP#a z2(-^MJqV^={yH{Fn#KWkc6O#8#f7cxuyTAH*vIRAQ5}=}LkJNrz=mDy9g^5<2h6|c zGGO_nmxr(-4Ki~HxWYas*1|3KCI&YJa+hV!7hi9i{RmO==|YwBVPSWvz}4Xl?R9qA`HWC>BDly)brzblz)XmF z>}d&znJWKLJr`%;QfMy7ifNSxUC8 zmf@ZQYX`*Qb@(Us?0u@7g~LdtAt$gu-H4FU_(OB$JQ@-HyjT zQcD{_c9ZXY!?%@%k@nILF4F&AHgGo@?D^?VvxLHp=`&{ISqwqtQc+T3+J)}uBe3vK z!iPm6I`I-=P=)dGVL=Mc`~WTtx*{C!>+nVLxwF7BUU#+Bil?q#@>~l%<6?^-PD<8q z5xS!gHDB+eX{W~BCytFN`+MG&Y9d_0mT$o;hBj>-#DT@TqVamZzG!Ev zrG_{Ft($j&V5^pt43wD*(B7aKdv3w1s5UnhCC(jQhj4cVF!J2{@}I2^rklXN$~e2luJUEySYgxRpGs|LICM|;zR=H_Pmc>``@PS<}O zvL=?%pzN1f2w>dYDH(;S&F+6|?@PdP>bm~#5+xxDp{LS3X`VG15-CXoAxg8-Tq;eH z=6TYfnbJIm=6OU?giuLBB0`hS{;zXWPdq%s`@Qdbeb@E<&(*KJ&%XEGYn^rW*=O&y z*4f*D&Wc;Pg`V1Cm(tbJ)#T(9R=4lo-aqdPVDpT%+OGfN_(M6wdoqPiLLVHrx3|{s zsYy_cRHFQFgO|>D>IFacn*wde=ydE2+<78w=1?Qj8BAgTXA{wQLdHIMD@p}k=}o%2 zQZGETm3UXMlYI0_!Ib5y9s4)DkGi+zFnk(c=jxT*)`x%gTFUcHzsh*K%gcimMX5eII@zE3u^Mw|%|0?2eks@=$Ii z`NSMDp(D%C$JSn}5=22cO}~tMCOPX=(~?O&-8T=O5bt&W3@$@bV@KtdF*X;;M?#rZNX_z$`> z)6QJ)ad!Ye%G=tK1rc((@9z+n?68w}&-7Wwle%QbnJvPm6ajs{w(wz*{(@kC-mp*uI14FHq!}UvJil)^LX_d?8UHxwBgH!tM5nFUb`yCVYqB*?G>zeSFR0bYW4Ql-A;2GQobCe4%RUseUW1% zN*~oe)=Z*dx53#2?QFgH!EvHYeCSTfk_QEPH1JX3W?Na&9h#b#r0mxQ3O=6nnHA8Y z&o+6xmn%2s({gB4?_#(aTf8L=3HJ~0x#v-u>Mu!%)PMAXiu|D15`xTy!}->Oj&EM- zw{l5Vj80MtZDaI^aL`sRB?w=LSj$8|K+v1Hb=z=N>ML=n3&*z|P}@)CpP?!fbTZTTTGFh; z$Il<(<6HOwTl7sydcf1C3{&4GfK&c1b8DS4%Pu*r2cv~%SBNfhv4Tgf3+XPcL! zmcug@J??J>S4z^Fkx1xAd`{Bb>e033l`?~*emJ%e1} zJGn_$+DOv!ii-F3D{3qqo%3Dk<(^(Rcg~H~cCWPKKwaDC>cd0t_+ATIg4g2hgw@H9 z95SZTK9#3i9-R_MJ5pJ6>A}IZ2c6_P=;d!*tM%(y{&@Ov!u1!1y~!CFR0ny z$g$`>eVi&uNV`OL+jSXuFyyw(+Rj~{nBG=6@i;-ZiVB{#`W5_O@s1sd$ZSlMsZisN zDyXm&UlsCOStYiv=fvTg-KRdhI*23{Wu9AUHOcSq%T@~(KK#XAB6i6xPLA};MZSC1 zE0YXaUl#CuS2OM!Xo!CWdp;x4nbJR1Byi?k-?i0MRWfuPfrDLXAyUy(M~=J4-yzCZ zUDA$O&-MhBM&W7yv~4uY+Cx$ahd&o=k5cg27{xtDI&{U_1+DH^WR8$`cV|p=`QWa` z`FuoYs->l+@XR}ggc-&uE+tNFnYl~%$7wpwcTAoie;F)EN1qYZkXe=zJY0Lv&1`no zSUO8{t(55Ibu-TcqP#XH)~$9xgoamoR8&+0ejIKW%*D3lQx06%;I_J%F7cfk!;@Hx z?EDi7cSB;v^=G!hgNENStv;hv2mWq5x>^m>I%A>qG_sq6T&s&SDLx%|9@?;a5~H4L z!NU#M%3e!AbV z`g4etpgZmuZ%(SLI5E!kS;kC&hHaq7s%KxFfwxbvtXBhzPguvW)w?RW`Ui(o-xi~M z_cXeq zoAt8|j@B;~IQ>0!DjeV=?-~mScU9HZ$6eklz_lXD_j0;IwyS3S0-VYdTsH^c{q-=3 za_LwOS*FX|%Vf&rDOV_zTapC_NZcOI?R&%UU}ZC%+s8DWGg^&~rC3rKar-b`mX#&gHg)Yip=+_>=}0|hEMt^R))+mc z)uN~W#b`j>u^Ks9-F`oy>gKtVeD(du_r&Ad2I`W&kij}VEiEBKtNr96euq0fv_`QIZ8HObW8ZnF!++QBwu3kY7?!iuD%U?bsA@wrb&eXG- zPMFuHOWh;wvC&Nv-uk*aiiW3tRR>}`d+n;1!58EBDlNC=kc;_Kmzh;NYv#r*-#?E~ zB_*t#CSw?LEqQ$Z=;be-8A;U7*3a-V;rg)G*Tj-tLrsmP;s#Q7hc=ySpl~W5#;S^dtk@9NLYaFtM?-=3pUU~^D0<6pOa&&YF z;SFP7$Ouj6`Mo*j4ia7NXUmed4U0427x8MjFZXQHrEf`-ni zuhum);3+FL-+AVYINp`^sH3ITAi6PSC!nY;O8A=^Zt^vY1wazY9r|k`)_p;rZ$G~gB%<<8?zyKj!7qWZ!H@Y$ z*4tBibK+tdDp;heogN9V5k7RnWxNUNeKcs&vTN!j<1wAAofpp1cMW|AEI)PZ5tkqH za#GgMkHs0Ql?C>yZHARWG^cmDkWez)usj{nshJE~D-?S2f3*(@)W?m!gI~*h7 z-_&Uxt{~w$rS9pPs<-#WNKR+c$gF#%#F>2s#b5k+CoY*BimXnWsEyxpJ5*kaqT5kk zOqSX&YSmVm_m%4IGSfFx$6tQTwkxYmdWA-&o?2T--W+%q=UL4toMrjBluGH1`lZTI_zLAt`UPvvKqK-teJ@`pxZwP3a`6vy1`!rp~vg zrp~lQHQxwZPQ9Ko!#k8U&P`2#)%w}Fqz6eSB%cRWNu6NvK;58$8ExFb@dED^T4fW|+8qb=k{QA9jTag7L zeQ=wMTVhi2hl>wstn~Qg>06G|c{d68`=(N8M|06O8XTtd+Zgv&I-K>r4mWM+Nx|PZ zS|qL8H&M$qx75=ci(sP+JlQX8bJ6*8^c@^!wiyy@K6BA>vKF(Yax&9W_H{6f93!Ll z)`LGmDo=gVP*%ZBQd>ME^hx%F@1k#MExbfit1v*tyr+M|^Vv8b$%O9C3mEwluJHYw zPk0YbA8lm`kts>Sap21}f3RG&Gm@bN1&frS|qZc}takM4Dr@XYGgcgwBceWXY{U z{#ndzAN;CXi+EXhD8qTvW;aEfC%g-`Jtl3_kCCr<(i^%qc3+eQt->z7J&~=)x2RP% z3T{u$InN}q#bcz1AlG2zEM(-6F5IkL6lODF)M%eoFSv z8`a=mSF-EH+Li8ixm9zPbWV&*ukI+Cc{p^5XPH2va^l0XAk#RBynXa7u=d1p?i3@w z=1J+xJ4keT)ik3{9aixFprIQ~Z@Gjk`l`3)$Ailo1n$@k9+|BUIo;=&*!r=pC@?Fl zQOzr&QVuFhkht%}m)tulv+n^}UlBzEwSpQfTmt4<1MT%>1GAyj@;8p{j?$#+ckG+( z3>)HD*&xoDwMnxf`CumRNkZn)#Ql+c>jPG3+sUl%pL{hrd-kDzf)C+YO96ay6WA(T*K{%|1}E`GzY!a@iFK|D zR?Fo5;?iO*Fk(yJqD?kTa;&$hjQ3clErX16i6T3)ecC4f-dybL$=f5!&HCnj%is%S zwcLAm_OaCqG=7qn?pN%#&nn#nbp`i3xt-C5n|*x6QcAlot3DkG(#pP|mP^X~!bp34 zwBg`vwN)EUZ*9@(W4(rA@iK!NA0}0nGd)qIhFy9mjVC12-qUr9_zlGX^Ho}D$GBlj z`QRblJ~4k@^<1q?t!%pR?YDBP=OS7`GQM#~uW%nSEj?1wSHG5!GHl$H_nWVxqDmfnHeMwMMqI6jY_|X2ndY6 zMK7^HwMoFF>`0H9sML0HnbrVLo9B)+FVF24e{0KrVIB6*wLfZ`Ltt1*n zR5UcNXz;P@U7Kzyl+;;xy06+DVJu8cJ4r{ZNp>(%G~9W&dRc!^i~cI|CFv2%)oAtT zmgPFcA1UR&8S)%otS;9m;>s1aK>xa^hcivG3G|X~&#wy|&Ctp%EGuhnZ*Q;va)#b# z(5lr$nw`Q^K|t1@IlXvev|$$`RrQL7JBrlut&%z(ux0Py=g*(V9-24n3g}un`i?l6 z#O+S&N`7db%1H@=e`Vl#TDxb|{?VA&Eu)B1-JnwpE8sSj9v;4C$+f5 zi??H!TBC_bs=HOKqX; z`f2)7x`dDEAJexP0TbSR`Iey#(rKPce;OIWi?o!)zR)Y#|l=0xa0xH+0SG7x2B~Z^!FRPyC+S%1ZQROmiF06{l*oV;A?u}7kL=H_5~A_%BN zJTdNk(D%epHYsgX>fWiS)GTO18$)(Wl>PR&+I7~<>*2dC24}VtK1k;6CE=D|aDN$HIK(^Jc-9V^rqEf+nM{$?Dnr1yyZ4s|h+S;9C6em_4w|))e zr8sBVWE0E_?`rFrnFVa_%`Yx0@=WD)Ol-M*d)4II{*kt!7P9T~#Sbq(v7k{{Q+0lc za}`4fgUpOvzw6`^xg}x(WUD*`Jt=Oh5ZIDeX^=b-x%K`3*)2=I>GdE=ClpWNx`y)xmC^g@2?lP zd_2(Jyeuw#jrSIx^CWPOhwA2LZyE{1njrfUR;_E$m5MF6R?z|LBB9=Q?xg%~RvP2)!FT*i{v0 zZonLuoSdA%yLD@qMJa`+$K0GNNTsi@?*w`uZ;4S%)zWVHvV?4-mz69jCxQFG?!zSO zvqgHBJhBSz+o6jcL0NTxMgM7EdeNZsl&3#isPRy&ouSOS*L(4SX7SVjnoo%PXW_uWaXH7S(26r}$6t1_nD_1O7LiI=6|{RvcM;y6 z1?a}duJyZB&rQ8o_ewrWF;UY}h!`8DmnVBzEur$_IY9b+?zpA9t^N?rvj@=cwzs{l z4bK~zuI5~scx(M^^pM2vXx7(z2M-9ovRtpQX69H!%*N~C=d;T#C(Lc1PbI5eGy7ux z(N-*KCEtnan;A)N?YH8^Z+z}jS8%olb zPi8)JphP?JRn#xg_M-H*v$cI|ILdin*l@R2iT-ag*9e;qTa z+Y(*IHRM)%Zn`^eBlXbdsg=J@LV4i9lfFKk*LFvWShv!&v~n%i$WHa-qS}xfaB!_} zsxKW3ijP$7hd!mt#Fv588`eO*Om|hpcx8F?$;} zHR*e=T%;Y8ahmxUasn2N&3#@X$b3(Hw+R{nX3vuDQTJR&wuUxh((%Ldwz;U`;ZG95 z@vKJGdUQ}$FqhR-FY=X^5*?YBnpe7MfW}EBveHxQSWLMO-sjQC>?+yJt6EWVlRYj! z#akir!1myX?aL(vpF4&e*tt&T4wn;KmPHg>@vUZq^D1T$9e3I8pSpOx#Ktc>KK{#> z2-WLub5gL7=LjsBSs&Re61I}2YWBMANHE3JX-j@DxqDwqkF4yRka+p&L0_M~rKRQU zM5i38;PgK@#<1n)97%zX06HyHMHslGbB@M~!uF)6ZY+B}WvIsvYO=u%*DU5fTcQ`1 zn10HEm+N6>?*HJy16@O>jRbAA2d~wK;_3aNIgrbx#*xa~z zu;SM6CwulG!J#&<_l`FmrH#ZAglJ|H-XGi0|LMJJ5)+kQ1j+LEu@{qATAFkPjWxp$ z7-&G`_4&&afDTXV0~eH8m9&3g2{B{q|fy_O^SBtQiW!Q0wy+i$RDq89H#?x>fOvl77#*i(iwL&5l4bSr&w za`OD+`7UPCErZv6fR;WCb{^Vsf0m9}k4XpLU-=a+j+^Ah1aw&(W(K*nJ4@>WAz1q34eEc+<{0@^jJ}Xh}eIAK2 z4pqm+u`$rgF_u5Em;|MbxrK$z^asODLEh9emu)ip-w7w|_ggET{P0xa6UerCyytkCUaAs z61tJ0!JWcx&!>Ia(_MnDpyFB!2xxY8mY#v(nMAO_bhhTB-1Vi-ziFz$uyX2K={oo0#(?hXs)JwgthSqX3nX>987OyJb0t!1Xo`O)J z{>cWP5C+%oQ)2P8A0CTb$bUO~wTZd(NYIgk{K+u0ttlRosQ-;FBsLHh=wjKOwkD#D z%vQE#KdIlV1C2dzRE^V;*goDEA91|6$5=nTSdh2dKsxr$yUB;}Jhk-oNy8h@XEg)< z#!HlSZ6AMW(sdgig{_eZd83EZ_o4xhjBVRM;zh;96SqccW}mp*>-5UGo&v7V`u6mb z>0wEJ0pVmD2T?wAj)(m&ylEV>u1q{UAu$|Fr0WHCMH|}b$OY4|o}JO@UDs%BRSVMuv3RF`x7jf?mC<(% zIX0Vim-JIV*lvPcg*Ln2u2*Q=nKieWV#5G;f%nz5(u0(j;RTWFKDWXB{kunFpHJl; zH+FK0wa93IC%x1lyI@p8Ioyr3yUpu{ssD10ynS@uw3HW`ly}H*v1rjQRZv@R?K#AA zQ$em}w(g{qgHU*%YWqMp1-RsZoXb{-NFQ?Kl=?c>%A0HoBTrjrV@QjwV?$T8ywP;ij~;P-X4b}ZCv(% zcT~$p&y!&%g}Cz%W**?W*d?+OzUh}%yxP?6ExC7(|D$B|*1 z8=-Hhl>|Lxz(E9)62R+;8-Ks!IQ1anOiD$a1Xr7X5HIb6nM#i z4A!~swHHyLvB=6(citH-LLe+9+Y5UHz;fEGew_YRI`B3u_q9~XP&e-jhMmM~um(nK zeAq?y+6k-IbXx|*b_|@MuJ0eY{sLV&F%wW0u!16@hBAj~&%oMx?mLbOcMAJn!Sb|a z*uB@UUnjxRqing$a_*n%xyxOvWcYr3kMdUWO!kkijB?YGY@VF{i7Tj$tQihEYEr+? z(N9m3oO9=QM$)~Jxn~^jy)UXksb*50_6gV1W6;!dn-X1D_t9pgJBs?)N^ z(=AHLFpO0Bp@ydB9-A+MCl8!FvNQ(U(on(&3YIgzH2nq7XJL4`o!U3h!%#0Sor3bV zQB3p&7T$*syAu-RTxM^HpXgMXP}n4QHqLiwH{)6Q6)5u1)SPx@c593m(>bXY)`I%Y zq4NH)*81^>*KLNI!2?P~r#DFBWp`Bi%2L*u6B_rH(qx#sloLQR7O*SwdW`7+Kh@64 z#!V^#JqN`_M~kF_h2h@Z}dn++w)f@ zB9Gve?Km^_e#qF;(aE&7bNjBT$u;TjtG9gNvt;@*{dWgpXD0tqTt% zUIl%d)8(i#2Iit9hslSE=ATrKx+Iysn^lM;t)a~93=d{gQlx33uxZV^L}v3`Vt3Z3 z?gUqIU(zI<;J&l7m(-^Q=coynR7e?GoZ5RxLtAq}BT#g%T9WzJwGe8or1Vsfa`wdw~MS!4Y$5m-_AY7P~XeQQiAa@-@6$6smLjaIjOg9mYpCG zY>>{XYpcBM)t&m{R%ls_JVio!%s1ysqIwxxj=0}GIyGxNI7^$;^PHbqh*Wf!e?e5` zed_J?c4mb;7&uzr4{g7{_468~JG*v$Z1L6YmzciRR5)B>UmTKS$; zBH_IyW7mV30!oGtA5k3N@_1)3eg2M3w^m0C+nO(prx;88{4Smqm92?>e<214?p({T zd`l1ajt4w#N$wK8ZDyOuCnWZdR$UC@VJy=_?^uD!6QJlKfAKlw)vnKuLY0Ac`%|1xlzyZ}1DQo!FmaK3R~O#o*B?%&|CD2}HsKL1za ze^t&6=r{um0QfEWtLs<|d5!_xmM&fD4V(3(Z`-!5N>NdbrKZ}Yz|j?dRU|J&}}yPG5=Br9N%GhzG>kR8qm?Z}N_-{1cg*y^|y1tta|xCRs!7LH)G?ZQ>7R&AW;f91-RJ4;K; zreXhEEI1|@<96mouty+<1NI0c#^=Ky(--IYr}4#g{#Bgci66UBeFMS%yO@iM>ligP zHUB*SJUl#B_wV0F(C#r67Zr@tPT&%ds&Zft978;XgE z#duwKG1yZQakxSI0nEqe!ynTZ=Yc&bF?MHm#O}zB;edOC@U-vp{G!gq_5Ug^>MV+& zKf+>T<1l4q6{mUrVc*X{ z4}VPO@PK@-9Eio11>-d2#KM!q5g1Ca*0xqm$yNz5TQXy?hdEx?pVqm!{$IsKT}2V> z0fi+dCSeB-s4egheQI1s$4!K%!)_)R>_3WNFH#K0e0)CqE*-9q-Hjas-Vv`MFP2e| zflW+IppPFvVmLaxI+3u6FveoXf)Vf0pVYay{$IsK-NlHq!TT9CwSx=%8yOkJ!M@zY z{)g8S_&*Q)p9lT{^YQs`J{>~D?oQ+#6EG1#h1UzQw_{`2ySH!AJ3IuyIZDn-!kCSj zF}Aa8UuE)(Iv3aftGJj4&i`X9HT5#4uCBhozp=4N+^t);QEF-$;`QQ1oEM<|{|Pv} zfOije#B9fm#7>K$a_E;|j*R>i&xf8NGv8Bai{%z#8Q5R;PwW0Ox?-N<(EmJvcWgS+ z(9m4q-^9cu4(~rNU%rBE_1=nc`T+kvoOrl6{x!{;li03s-sNoNu-b-dY_Pu{0r2pr z@vb|an5>NqVs&K2IK6&S=l66L)BG+j?j??3n;tA9<0_`9skOkrsi|q)ojZ3>dU^)N z=fj6_`EnsnU!Vh+j}t?ngSUUYJu5mXqNe70?9qc>9Ozs4%Xr?kT*Ph${VF^!MENYL zdoi6qi%VRPKu@1O#WFLqFfFY^3;drtbtn^%_H52jq@*yriu0H_k#h(dcn^E&n zL#-`M=x*ojzm2Zjw~>3C8)CL*MtJ+<^yB;kji1q7oF?HT3HW4O(o12FnKCHdKznPhNTz7Xjeq9(}An+du{09R6Ux7G$ zq0Kn5pu>KLvD%tStop`v9Ozs4d%XMxR#sVpA~V9V`kLzB(--B3-!U$0F2v@^hRbJx z&SILsic9+A{10GxdHI;O_K^kt&CPNCdk{YE=L>@N6AbO=8*mz|uB>SPh5ZP4N7svs zeu^6<#i+0%5Aj*>q2COCLx}~K&~-@rF+ZL!EGrakvD<>n1#t#JJ6c5V&*GASl4xLH z0OjWwBG@En5&x&-V6KDk`vUu8W3WFq;tU1(hj3zS7ub;KSy8O2t{jyW7GMh~Dp)wb zUQ&b#s&X-Y2Y!szgB1ZVp)*2QO?~A;p0Y*xYpW`dPRKEg#g*l&{DIa2%|D4t21x<` zgIGa95%zQb^D(|K;6EJr4+s8(IWcAzW)xc-gO!(-Adnrl2*mU9(o(FTCJ*8BB{nZ; z6Cv=N2Sa;vXTkI$^iTt|qia~o(^h%X%4PXx3d07no9;&SFfw{Eqen)32LpuVaS<=5sSE(d7O-fZ|i zBbI|}CzjpfxCOSMFMRF~a z1=<+9A3NIWycKJ@31x_V)VK2A;+H{cHK(>i{0+dBORS3M2B5{Y?IN z`^TSa{%C%T`yw~uy2yobMsVVFquhoZtPA>j=)*A__j`J<=#prBY>a{IaK4H8@iOye z@i?9i&kv>_O~Exeb4QL7!6eL;thTe`5SGApba! ze;mj!7Jy$vFpM+L!5A6F)~xQVxUBGdgMdE_&$p2OXK~1bw?lk>Ue#8KJ%RE2lfFl2 zarhMG3m2|>BW4d~j58A2VJzHFoc<5>Nk!q$?*Q~ah2Ql*i{D@Taln5(@E;H5zk*m7 z=S6teL_?nhAYNBI(D;^TasHpiK@MyIY-q=YomlUK``ELAegs$?Vo#quMoK>WFg8Cn z48Lzbt6M5s>f8IP;Jf$NsZ;p)p&P~z*@!l7Z1r}s}@iZEOK4fHg z_z$RSt3y1{U$BR@%~eEf{~6G8sTApidWfCt1L&W`w9_)$Y!BO=b#-okus5e8v= zAnPfI*dyT{B*8sc#D`=o&i_+lJ6Sw_HZd`U`O6)czocV)Ng)4Jkbf%3A21)E4}VNw zoab-FL5{3JtZ27~B8Inxi4PyJZ&-*Q3p|e4!r?hc`JFyqw?v%ePv z!tOj^j{!Nu_~D4dy#6pOEGz`qU*Y;&;2-132Ki^h^#kVP^Wl%_i}U=`_~JVMPFw=y zfB$|jhU+=)?CdS)`3JqNBYs^t{}Ra(7*7uHp9A~@=Hv6>kLio^{L}d2I{!|5XZ%hC z^K>jBArU)w&hzj*|DcaneDdTeQLn2Wt&Vtdq5b?X#Hj=`R9jn%5)u+HZ*L#mOiw(L zlanb*OH1FBl$2oJVLq6^RRP4E2l5B-4IPR&;Q2%w{U^~Mdv*KV*Kxx6HODvLes)9 zu#Mt6Hq67r1Glk%cYwWjIsD$*+xviMul5b`Lq{WyA=x-tB$_OWM3P1Rs}M~RL-Mim z$ROGPC0|Yfn^7Ebe(vk*mj`y#?_@uJA&`d_p6z;kTypK&H7q732JS~VTu&%|&v08f z9?oO&`M(zf`@iFKWF>vih zU0q$+ty{N14{-|*=dt+wUyc8=9E`^>oIbo)LEoR+1#&+I*Yi`k|LkH?Qc}pEKivxV z;0VOc)6&u`|671@q$SAF4D6&@(6_ULUFfHLV>siC1i};^g4fJA9xfpe2Jn#N_plZ} zhohGG|Nn=7C5HiAPK)F>FV}fF&&wTu0WbmN0SkUw)Nu0G$4bZouCN3pfGPmDh5tLC z0`+VItOxw+5P}~Z)~s0*$;HK;B_JS>|L+2P-9VI=i~ki|2BZ14be6R&ZXmUZJ9tB=Ye>D@6gf>8#Y{k_umxmqvDtBhqQf< zAT=+we;YKtHIZAQJF0K0N72z2F(DzLT=4B7-U~`f%HP0;>KXJ!NXcX0f7CBV?5r57 zZmdSoS5MQ>(Co$qz`?<>v!bFBIfgm@S9~jU0(DR&=#6*m*n#_=5e^?dtc#!HGU9Xv zUDn?K?o&Vn*ysOF{>6E~=0F^)!Q3_(rw=w#qw?|!u%oE{r7r^bTM+e;tfyHKhxu2( z20ZOoehEKI7jP9oH8nNp^l6K9oIdEtj4CUukgCrCg!>2l3gC}`*c{oAgrx+kZ>>j< zK`*E2u8COB059N!@T+n^rVF?WqPn_zWMySVqz^VGqnespq~@=NaQpbr0Jc@c=ER2E zh0)!fE;Rn`9TA{2L_!uq2yCZ6E%&p!1kVYghK5FDV`EFC4>k%ToS%b%2Y+h+#%-Fc z&a7z9**)lP_nklJ_R@>5AQo$uueQ%WvCYrh&xO2%P*YPgf_V~=zJ-OQ5zdcBhz7!K z$&111&53aT0`>Fi=+2$n=<%b6e?Z^E2k3O@X~gCNwg#}TFE0PHxUjb{?steB9L^Bw z!+kKq`Oyf|L|pzr{~K_-FkYvQ|1s3j+JZW7cKi};U^A9;kt51rzWlF3VP9eJO>9Sw zj!xg`TN~m0Xhvuu+&)RPQG#ue&4Uf;1?!?Zum#mtR(yy2vK&-Zb>q9V%;I#!eg@is zKgi%)JwFSD14K}Jdk1oIawgKZwze_CeT=lCfj-z9!M29jz1fjgpcbmQUW%?27cN2( zO3aT(?AGk)MDPhzac%MMMaVVL1+krj`v7(P%3diFB!cic{n@iFMEcMUjoR8ekXFng z#1%%gPa=VH0;s&Q?0Xw2*hdozj3Ne*9su*?@i$cu)>kCi)-XZ4UP@2rCE$xq{vn zw;$qphyY%}&Z8Zvy^wdljmDS7AyzNY)#3KKh5TR3iAIY4K;H)B-;NGlI)u1mArIIX zaJ!*Nk}*oUk%;u-^bng58`J}OKlpty@VvNXhXv7NI39k@??zOSGy79SzJam zTJ*d7ztH{?fIiq)h<1`VXa|wd4nslSQE(sOeEzo|L!1Y0FK$%ZUV{eupDv*Leist) z62)yZ-<1`K5k>1kW zzw0}lwQ!;c!sTsiYe%GSW@ctoRaK1+CLKgP8KB?#9{_a8h%=EBe2w^#R_I|Q1n(M- zc(`^*pRZRqSs3B+wzjq=(zmg(F~rAzYRPH{*Cqc?f$LdudR&*G%|S@iyDq9%I8_+N zKehPvU&hBj5fKr`zFt4*_dvh;pN43vD2zX=P(VPyC7ga_WTZr6V!^2x0Zf2-J%#*FB?B1<1S&Ez zGIf}zyTV-F{jUIe1Uo1r4gie_fkaqXI3y%0WXd!CJUSP5?l0k=6ae4%xDUhk7(3xR z47%8)*hv8w0fhTo{9POmJC48xTL9m62zn>`Al(0bG4MGgyB+wKfIt1>^!fN!*RA+> zPF>Q{(!xGzP#*lR=Yji89}PT;1_t|)UI>ge@HyC`-|;y3mEii_yD~De!U0zU5I zf%|(JgzKZn;4gyv*miYyB5@D#h2Q7%fzK{HtBH5z7s=tnflMQfaUV<6 z3jRtB4K>8@Qf}kq@5Exn5YHuE zqV19YGC%SDYieq;g@D{}Ti8E=ScVvW{f+Sa5VCV}ZmK4!BK}N%#FxeQmk_xsid@oN z;XM~No;KCDv9z@`vfHX} zd0I-(_B5Y^AT!fxJquGKLt8to#nhlGCZ>hT_8J&k*qPcnea8`>0M3<#-f1AO;YB-_9Y$#?aax_%t*) zU}NfFYHnz3X!|#76`rq^369_EQE&trILFF{4uL$eB38ox6K>{N=l_m(Y5oNvKn7|4`8xzB#76ah=U>4x0u_F>a{qTO L`Tt+(?-KZbu}`k} literal 0 HcmV?d00001 diff --git a/test-harness/packagesNonNuget/xunit.runner/xunit.gui.clr4.x86.exe b/test-harness/packagesNonNuget/xunit.runner/xunit.gui.clr4.x86.exe new file mode 100644 index 0000000000000000000000000000000000000000..22465a7dff8b4ff85694fb134e019f5cec30f0e7 GIT binary patch literal 485888 zcmeFacU)A*_cuN)%d#w>G?yx@h`Q25z^+lTVFxQ38!Az3R~HZ!5DP`YhFwr8Di&`pavjQsdu#CA?D*BIE6=QNE0y*-bMtT3(s7bNNJLGEnm4_7lF}_rc4e{5+XodmF zWrK|Ddt?fb8eOfR5Pwb77y*PND}&6O*GQyBS1ZOsjItbjh5pk;vPqa3+ul~jewf6# zO`x{yg233FpUgPTf9GKuV9E|@2_-R*Mv+9LBvBJ6F;!a=#)L36IaRCNRxwow2P2e9 z66mQEsuHah#_(xj$tM})kj2;nBiIpIl0cl)_MC)+4gh1S;gJM`20#A%Btsu%F-o8X zM^0;ub|SR19_=W&0QR;=Kk7n4aJ7{rpk1j#W@&D!c12+<1U9jfBobC`t_F#ZLS`Ox z*BkWzRv;xR9b4eTG^R!u2KQRqp-Gc@t0Y+ z`^$V>92GuFseoCF21(P7>RN!6pG?q-mpE2JZD9PY#Ehe07&xI03hpS(ePwc;I9hq6 zY}g1<9{T_jMt#M|*qRD}6mdS#vO?x(u0ea_ePl8L2!*A&+5&@FP3?;e$m|28Y!B*T zENs<&z$w-KcseN5^^i=32}}KK9X`q6O=K|vKuseQ#|!n5mCTFwlgEUiRN*rY8ONY% z5@og~3Qej5QSK{KLtip)eUTcoTIOpBqL^@AtFgpNY3)->ZjlYycwsfoXjIn(o3Qap z4;yt5*wnt`XyF)PZ6Ti*9e70&16L7=uD+j7LlpJk(9;(F_lTW*nGUn#rZJPS@s7ebBnI>&)AU7NXo)O0M48YE z;H^8RweRq8Hi0vhFk5C*LmYpwVt#(i^g9f?E5`IG@=)eic#Di%gPWy!lXW1A!Q_=$ z$;~w*sKpQztQ!F?=9-ua`It5+5#SqSAe~;J$Xt_JAs^G0NYQm7on4_wfCD3JPDLyf zN!V=_u#TTh$d$?D)^|L(`I~E%Kr_==Ar9Ua7-D9kCY@AgTh59)A^n`ZYS7R9`^=Ok z1^I)IpvU;ys^QgSh5-=TL2`vw`2<^vLP^x{Su#IUrH_f@9MX=^9)+SFBx;Ph%*sxp z?f{%|DQQJ4wYD==hgK>jbxYK+2bsOpPO9!$shG5{EjF_=Q+KLVOlsw;g3P!@QmaG_ zJ2k@oo9etp8>+!dAL;Z}joo@J!tUaVL*|bm7fqJ~KtN?8LJPQ(%aeJ3r(2|w;N-Dl z!P&`@uoy^bY{;({AXPx;c9Kuk%rI1TSkFKzvy({G@b5A?d?V2-WkMHFI$HV!iU@O| zEAr5xY!21?q@<_N4LD!8OR8cnbVttIF~ZVZLA2na2sJ`M;W*Hq5%Z!S?FbWqfY7*ESpu@#er;yF$a{)WtSU*L$U2LVAM_=TTA5JBbFmpGYMx zNtiX5CVkPegw`OL#8HSq#=DOy51KJN)cpvHSOYqXMhRV#1gh<4tyE1zPAQUzNT(oc z5m^E27-Y+_U(!1VSt~_0A{SK&IC>1x)^4aeO<70o{vjGUPQybd8kcPjis;hHR!wyd z8P#Wc5L8jdYKDR@N)beerC+VLyKe*-diCYaSF81N?G4hv(va~Za8Ao=$>nU8T$*VHThDe zR7%u?(27Jo7*F*OJT&G~gkO<>Vus>jX-YdAg}F=^j>OoQ?U}|&oY7=wlDF6)mixl5R zYn$R_%KCobkJTAZEaTc%ti@I=bgdZXC*;xknp&)Cux`FhW>shD;Jd8q3lW~E8!a+` zdQ~K~_~1E4P~0e^F;S0(blNeQV(M!zNl;-}5Tx={Xho%_>M=;XX%1qU=a)o1mP+8g zOIqO();eY!@@j#Qj_UE0Xll?%Od!yB9;r2iQL1B*&;npZDb`2{3j*gV7}u##wbVg9 z83n#7O>1zufN({ko&toBfJaOs9tznsqT|HgE>od6DcDWpskr9Cau{MLTZ(99nq=_d zR6-K39g8K=gzwcV(#`#E(&c=W&Sh#{5~L5g44FC^EyXGz`!tS4Z>Ir+c-mFnp7j5n zK5W1gz|80jWD*QP%H=|T=>!7XGeRj%h3Tk_%@p=bgpdg{kT(@(;z_Z9h)Y3E<`@CH zr;U$}4l`@${8f}YH~i*EiXSxAHk z(|)2qWI>o~w4cz$LV77^nRe1G(^#NsWcZ4!T}$~W+%e=8YQ6tWid5e?O56YuSN~vy=W`GE+upY@+s0jdEl9)_jlQ8>XUVO?X5bP?< zA&wkYD#bm^TmvR%9$;a<9-%oy1I?#0ui_>WEYK6ECZj!%R^mR1PjHd7kfkTlTq7O} z^?47Ku!u779<5sAvF|G`#F(vmF;OekODIt<)$Ruo@Yasb%9!Oq2`dQi ztj?yy&DG5{CI^suC1o`}pcY+|QoV{WO7&_=9M!qJoc7n$W~w>6ag|uw*DHj zr5;I(0v01oLOe&%Ga;T@M~BK1ysCLsQWGqpmIu!|!Ej)3bG5m+YGVaQ+|9Du}|;`c5L z=dWZ7yd79phw_s|zhZWhBqWdu5)$#GAV|j7j82fN8u?Ao)1hM$6`M^XB)*4$17FUC9~=pXfzct30M-aF zQB&b4Ky?Wo!ZDHHI3*NJ^x_S1gP^X-gcEqymQXMTa~sE>WB8K{(3_t(E=KzpWvqqV z97<8cR5*#JwNEz-;d=lIE}9jhvQx-$sQ^=>a`;JJi&`_+wwBNY9mVGDG;k7xhi8zg zN1;6n;VeMEO~yMSZT&K$rH~C`j^t08C*I6#&9jJRIj{am^?_2CR|^*MRZHDGIH_C8+1db=n<0)fA&i zQ_TrHd27OTkcxgvDg4agNg&g~la1gYQk2wDxB)6S2-+^g@`E{6Q1MJ4GBGz%PPTpv zskv0RO^I*^Pti5r@wC#Mqki+#W%XSu;GWrVa?9?(V!5=We=g!Je)hyzOV&Aqc|sQ^ z62S0>d`xM7gFfRV4|DAcuL5tVHz)NlE-26Mrlw8R!kwW6I2KN?R4>b9Bezv#BL=-*`geZ(!}r9^j5 z(w8-yE6x`P$ri29=|aZ#9;WS`=yx`Hh9V8SQw*#G{M}UgK52}9!iKD-{jL!-vO49;!^=~Mz?Tu0BixMnG-%1j=$PPLo6KG*K z6r?C^y!0ux3X`E_2eRQmR9D%YvP9`X$Wsp9RA;d6HP&GA-qAx5`K{!C+NsmgDZE5 z`FE<>O1WpENsWUsGoclzFuGC1jW&ro|D6zvzPbqDk6ADJM>!idnwBQgtAwHVbYpfj z&S@|7LyhXs^if?+pJ{Ps23^x|y zOLEcW;v(7}t?TWe%9^~LZ_ti-kk;N*c*mO~l(X<2u(Do#Q{gWF!rxz%IGXYmNRnVo zE>U`m_TU#P`Y7Q8D*EDhf)*Y}e_l@hssi3g#FOu;fOi)0&4Aa6@sVWt2M<5asX5j7 z#Iugxrov|`g{>fJ$V7sjdh{#~j@_^a!HJE!hKUvFTEcF#{*6o&1k*V)#+`W?*>K|`ApX^i^@hv6-d--d z8Kl!WGO}a`Y=yZSxJR8PkB4}ZCGFX##vze zPNJ_y#xAF=Hu0AWGPJDKNYjp=KYun%51B2ZOk3@1ny*X`9$9POK@4IoSLx1+{nnZ$IaPiIgn+(AUSP^0INp=wQVi;--v?M_Jsjk&a>Q(IXA zPo!K_T~78%cDRzTdX;Kvw9;1ONJD~hp6EG>$WO8(l{o4LL0d!1QH&6q))I|Pj1uiF zY%QP&?b*G!6vF57dDoK7Dbv~3Q+B`1g!^Bbcjy?a&Fz6trK(V`V1tLUeif}QZIM&> zz}WS34Z}hnN3cVQjITLXKAuJzhR2|CbAwv>Vy6vjuYM)0)vXOJng3WZ{xOBEu7+%M zX`^l<*}^0V}YBV!vf~h272A*m>^mA@I`cQ}K7@Gy7IY)Df;xhq@8s2~UOn@bFj~jCo z2%1yGu+p3|uQ;2iF$>vbEmCU@NxPz_RrKRp;}O?u4>ncnmuMeR zL!yhrxNqfA6+Su9XZThS0ajHx0xT__$6?qT)BujJ$cVKyb&!!Hw1@a&)NatNc72rd zcU>|c6Qy8}ag!tr0o2U2P&PZ`1UTXpx-LBMEE|E$3 zE?Y-e06K(Wh+&l&2ZgMiDG;zV3ijyGmHGHfY9+J;566BcmTU-H0SgOr5kP&Os_2mxv_dg1rFMF;zR^DL7MgI#-pl z3rxJkAWl<{TQkYUJq^#RU8v4=?la<1q6w-6!B@9kU(E&!im~(CVC=c zCX)?JNcOKY;Y58o6FrfE3Eu5USvOtZlw5BTC07y>s$lF{t8>|DUB5FgtZRVpw z+(F(S)06Y3_7F4q0VN()=>pMf6$4RiGsd5|%IbgmCFc#gWRu!yM##!1wW7-T@XIA$`Kfu#kPLK|kNFt!3d0Mtd|em@z) z@QS-sz9&@*Sb5QlZh)$2AG$s&qF+q4($pyS0P-xHn zy0U;IF=n4y@$`vioc8pIZ;iQrMnOL`52Qi^u<-3K6&fP-XdQ&m#^8MEq|nmG-q`kK zjzS|)YR&x7SIis-T8%-0qzMvld|1?!Ql0JBWF8@g7^@BBpi3$=1Cfdj5`r2SMSena zpq2GKB?&!2Bo;`87C=gcZ}1df8MOrD4O`)oi*x2%J-PO@KLm(=LMu>e>Buy_@lFd1 zxAxEgGLr55C*A1ngNOJ3`*efO@TSDhXn1Eh0#OJ$(AKCk9L+m}S@Rt_Lz)-@0zs@C z$t!b&SQ$FkYl5S7nxJVa9-r_t{1yz$9?hZFP#V5_8V#>4ga9^I3T-ISEFnx=0&$on z;LJkd7-Wq%9qj>$FB+gyz7E$w>I+^t3q%=CX_-VJ!8ZvmXc7r_2{Qg-LZp|{Sr>gP zs-=%bbrT%6@xv;dbIEYdHJEw|-v1q11W)u8sd^6$Io3}z{@w&lAhzeB;}aD4x@kNu zbT73k9m<(_e|h8?lZQ&;F{kLX=$sD5#C2AYZ}GqL)hV}?qOx*F5~h-Jt+dJ&UjU&k zYLmvv9lH8&wy$pq-KWz@ob#w~tG2is72Bi7_-+xQf>h{E2x}1`=n=Mr5S&Oe zl{~CbC&i9k(z;bIy<0^DJdikrf%U&Q$f3{%rzs@6`UcecxoE~_qyGWC|If)(+tc~) z9EcLL8V^@~{;QDT{8#2E#$5$6Co>*^708^c=uj?I%;pqfCKbqZr^K}qa5OKKMkG;! z&@&W?Sws>g$aO?g1%;F%+ljI$rPN#It#HI-CHq74&FULus}0fSlV}Baz`mTgbmHl> zqZBjuH}n7})Cm*8rxt&wEEU3`7ye#He3XDh+!=#6eeVN?{L-F(J5c{AD2RcwWa=KM z4US5&8%j}rr6_kzZB54I7F*?Sp~UU9V^U-4ozmz4UweYgUp4DCW8x5t8#8f1C78~? zWekBP!_?88&2!nZNVZKCWaI5<52r_>L|mmEwYxoPKnGI;I=CTVUz~+dpy13y0w1NA z6Q2TRr%W46bO((_Zpp^G=u|G@<0~41xub-SuQrDdZ)jY#IcG^C4XY*-wbeb*HH=d) zB-;H$Bb4ENwdg>#F-dO}TlrMQJnI9990`^ed`PVBi>%+1J5}(Fu@ckDRcM9L)c=0t zEpxLmsX~K7wo{B0Q7?QKb#rR0W3tdJffPn*G$_BVZ@d7WAV*D**z_tieKM zq70XT7wz(h#8f;pHx&kgpZF980mS!9gQU=Z=`fK(k# zDgU&B)=xA3J!>$=z*HEb*9_ho89J}1&ebd~ypEbPq-Jv`ahM9soiz_QLaSzTS7?$m zB25;UyNTL2=i1lLXyrMLq2ZVvc!=-OL_aEeDg8MQ+!dc)kI_}}y$U}`(oTx zt&Qg(=P-eToP&mg6R27Y2l1;fMN+&0Bp)w{;aGC1Jk*G0o1qTnRo!tCs_hof=X}vEUhQHvc{2)HqXK93RT7mO}_PW7U!pG_4I(l>Z8IPBy~8oK&WXH&mniSE_NcRfcM0 z%6x>X^AVz-{$PyAg%;RKF-YV=0b!KJiV%j0{3mc2Cvu;FTqOzQJps8%63BT1(heT+ z*K9F}MR||L6$g*g+%?EVt!rKz>QEkoXQ~@KoV@> zwn?hjoHS5TUe(i}E}s9ggS^@!gAA013^OaqK*OndZQxG%uk?tMRjaC37v;e%r4lz< zNb#le6z&~(#>T@&wEhG=PMru)NaA_ET#!R{673Ubkg!i$a|`e}oFsvkTtHfDBWjHw zNil(YH_Cg&djyCrU}1y5rn;KmL?g~Z%6m+#=-xPu(d42$dXrwMH`KT$)xe7Km058b zqX|cOuu7}Mim!##Ptm#4YjyOqJBSPL;e)u+5RFpRLxSJgwk01sm-mOTn%#yzQ(jzI zv>sdRHlZE0D+{sJoH58vd8LP~u@|BR*;Saz$ADlZ)+wV#Im-C6c0y?G8Kj`RxHK>2 zQc}1hep)V`P4Kl|ETZt|UyArzzl<}`GjvueosCygD&Rke5t8-N3Ooo9+4CU4hzAvc z#g{y2HC8nx?Y1H9ifS`(-=!DBNvlTclanxww<^NZ^{_{Rs(Ph?A`*?cjovsZ@6kc~ zb2x2t9A{<3UsHoBEY$1JQJA4`17?KIX&2m?98J2^iA1p57g7*bQ{Ny3b3Uc~sSEhL52*6hna5j1bZQ)1d-zbwt5&03?TZK+LPud9 zFC*BE|K`$I--OjHF^ErjkGdXJj0Gp0yH;*azs8_lG6!7?1iN`OH)c;L%}xV*%6qh{ z$evfzvgh>24D89SJgl`A%ZYJUro0(=1_4j$2HH#75jw+W#eO%WDHlVCTG zuExR=O7pWpSjsyJ3-oNnVck|~SVgKVJymsWR|u~gVUb20VS+Kjar&VYM_7xF)uY7` zrrv4Zkxb$UQ{H%lX^QFePq3SZopF~4W&Eoq%6kM<)IZ@|v_f-w3tPQwqq(ZrKV_XBvz2`0`g%Bx%; znAUgFpeTiYZAW1lmyTfkw-kuyav)+6f0}52xkg3m6+jBvdQ!~? zq7;K{D)*?No2=qd1mQGw>_Bs!hc}eRgiY1!Pdr1QKIOrz%&sH> z`4f*S+U1EduByjm)kYCHVKwilHHeQTn(}F78yCfK;M$7X<6v1?NzmI4tB{pyu>qP)40Y7PgXG z809rSAoc{%T3O*&s{G8q(tIF#M`4wrZbyTtV%chanUj#KhgH7hLrzrc0@cv^U@;3sam$rnnZA>UBiUk8+g) zT!a=D3OTwbSBQuvfpsKYc#(v6jP`xHGLGQeF)cqr=nDH*g0=1NmDZSve(BX!B!mtY z7b8(Bg0)P5(323XMT@p5QWGqq#a}E-)YJ)YjrPAVpk9w$(i9M>Hvm#^q{2W+0>|(S z{(FY7nIF%-Jc7lNW#Jyvb8<{<)L8!>Q87ZCW>{2=9_kSlIXp_^s~Q_KOwf#p9_p*= z6QzlX7RI#*_79+czN$8HV`AepQ7y(r#l>nO$M~wk;)afi9@aT(axY;fL(pGgt=rNc$^0G`^8b6eVabdX`<=F* zZ8eec(c?z=cN`{+^Ho(u{!i2y5cFMx?;3qqzy9zB0g*wGg&p26iCeIC#~-`?I88dk z9OoZ@;bk4OYR@9^@^K74ni)=I%qk3s82lr|T8LStCmRil@%Trm=P-#@TzdTQ;4}4t zE-M<2@c-8(HzWS`71?qvQFC%qSKG+gNDlOjo)Tp)l~g7sG!fHnL3%g)2(kZ-$}B#5 zc%4{R% zN1EZkw&^HxF<~lpcs)Mnsg76ByuONUsKwZ`QeA!IQE$<&y80?MQp#Af5ByU>dTq^y z;HGx@Wg#Z~Ny?%dSDiZXtZv=OxRaQ#?^LGI#IV@dST=d`WR`@V-_)s-&eZDZD4PzN zH2f#?QjyMP{{FL=kIy{h=dt?r=ds}6`OMpUA@B=Pz69wKyU0hek0&5pvh+q8mvLO4)-S9TYxWS_3G`$ zy$>=J3k4K7J{5my7ZhY|^BatV@?ItatB1HfT@*i-=eU-W$NT2yN|Pp`kn2(4ht3 zyB2)%*{D(Lac^L8ad~X~_(Jf=XH%yZvI!G5f_D*kZw787`gDv12A)L!P9i;n`v*1+ z@=TvTou#Cvve~m|v&_snZ0_8-Y}&MCZ2tUZY{rZgEH!l{%gD%KnR8aKIk+=3SAu30 z%gV}P3l}b7OO`BQOP4N3eihPHY{l{wEGK6rTZwzss#V~X2Ojz0pU39S!#%fd*KcJT zH*RE`Hf?2FwrpYfdAr!!HGA3S&Bbg@!9ljZ@E|M5Kg`yxJ~Li`kyy?QG}H z-E8;n-E7~^ooxSZ+`D$MLwonIy?gfqf0XUtzaRHecKGmNR&wwFD>-zK9Xoso?Hy+u zH@Q(Qj?n!*+qLs7J9g|CJAV9ocJky&cJ|cw z?9}N~tPJ;w<7a_8!_J&J!_MJ8d-fbVckUd!aQ-|yfBpiyc<~~;a_JJgbnz#4<;oRy z&DOQ_N`m2{LUSA|K2_J@cw=F=-~tQ%fpB4$>YcD$&<(I@#80epRiw_K4s6J zJ!8N9_8WWk@&$YS`Zas|<_&xI?wvU4@q};F!~e&C(u|oilqKN;l7x$7N*vC;E&ySw{KO(q+9mhlF(QwXF1Mc}DEa&Hq+o^GsRs)8ekp z?dAy7Zqm8o+fkVc6KWLKONwa{IpVq3|V=yhYFIY zoSjwf?kaa@E$j>gswJ1tG*)b}ymTALRnG42Ztm{RfatPAO zbS*;#9|&iXz_Zt_+amLJC z)TRplsE}J$R(1w=*_ku+x7*5DEJFFRiG0XrW{d%;_HuU1J5f?{_;87M?XyzpO8ost zPUQUKHb)t7{-^-@lEa7aujHV$vr$p>L_QDVa)$c{`3K>T|8r3kp#^@OmvVAl$#Bs~ z<1&T^>92bAd=wW*e7a6r`GAl9($de&h}NTmf_&UAls~+A^VYq4w;tZR=H_Em6dkM8 zPnH4c<8a~WZ>(%tJwq z_!Z>uuo3>2?BL*fJYM6z;N~9`*ogiG<-~D$4y6=FGztVJ(BEOxE3&xPulHFi@;LDN z)qZz>Uf3uiMKrkUhc-tyYSb7NycWIX7W}%XT0MV6Nh{qXU_9Csqe72wkM{fCe5JE(a!r`vV1 ze!8|D-8`HK0=?Q@z2Db8fMB|UT*7akXs71l4390_@$n8s!T5-jxGN%adLF%=lG_wm)BrIO{0ZZE6;3_A=`!u$cRXopwA3WmLD<}MyztQEEZat z@WmxW&NRRNB{^f8f1Q}JY~c9u6>10rl4IkZR+L>QQgL}{Y(~nkL4vM^FnCyMoV>K$ zpm-grHr@QRG%hY9C1Kc*fddDAmyj}99$WhKU#Y3m=JKaUXLggv#Ky>F^0=c%_Pe?JogP1H^;${aYOqn^ZiQRFPsJWqe;MsllarIN zADn?Z4ST{=q;rwZ#lCJDYtdpF_Kz9Z6V3xZ3;ROahteK&1!z_QFYY-50#*QCg}rAE zYu-E?bOpHA;if(2R_v|vQN9l4g-B_ywS_flvK4%G@O`Fkk6FJy?Kcl&znH?hc1>li zTFu73at;gYp2m9i%wT={&Sv4^bFtr>hrQ$+lxJZtxD5Ng9PB|?v-a&*vyL5CU~ia( zdnxvZS*%~gQtUOCq23DYO;-cI8g;YTkikpYkRc1%u%Rp1uwkpQUtEQ~;A)nbxEwsz zuuh$}vOxp$u#er!+O*lrI&|2DbU)wkRLX*a&fq@B_m!#GSEi=UW;18b)9)|m&6~#-%%6|Fn_`WgGK8|>zdTkO`&TkOv5JAD6j_wGGbe)j>pSALH@dhmcfeDIJx zdi0BS-}Ni|UAy1<^Upu^ru=__|Ct83gZ_U|H8Xyg$>3p$cpv_iD|6Ve#FX^(^vv|c z=;*932!=&xPHCmKu&}aFx0;d}kIxm2uk^v06V*00HdZz^7P!?hnbF3rqzsBBMtZ0zulE=ut)AT3_cAu=<-&d$opMz_JVva++X3rLUGGKfxZgksY= zYEzNGR9#16WoOqgJ&_YEiJk6EP-d^v$topoDhO6=@hG>J=yAUZwJ#l^1SrlO*C z^{iZ6tbFr|ii#TAx!47!aR$+oU2v&au358YRbwkF-<-8;*5s)PH<8M-;=>8HYq%sQ zJ7-B_-=*2v*~=T-5iUF)dQ6FLU!5+yZ{QN<&tI@0b3s;XI~PK=k55PQiEacF!JPEe z)b#Y!%$|1DtGff^5|0L=69IYBpG)I8@HVOQdshzZMEy6I#7`qjgZ)@|Lqxdn z=`H{w#PMP2LihdyYqG56q4@3ciF@6!*z%D~McPh_J zAKOJ&rc1jFO_@(+{K`ll+f7#>rrjb_^wmL8DYW5jQJc6ZPO-tQ!mW=}C^peu zMsZ5RhVu|BEWu6Z+6xhvEI_&xF~wq}t8pHki;G!t z|0@l^O?Rz5!*y}<49!Nm9Q?`M6A8ol&SxUP8XP%?G~824)1p=5+QBimLQxiac!ud*FM zzGX8aohA+Lx75rwF&p1=_?Cg!cHe{dMmVLJWE2c>lChE`@3sJkxm_~ zPpCI+nsRl|Z)={Y(|_(eXmY##bzLu?u+Cr4#)UWk`^lQBY|`=v`x2zBub-Q6tMU0a z<&)jrPECK%IKaxZwM|LD9G~|OM@U;wQ_0IG-{~z6?mF`^zVd1po)>+i+9Wi3vmsDX z{kE2j&X%1BxG-+-#c_LYzwCNBB|1B-ceTRkkZW;I4pixSIWO8Jc3{h*O}}p5`YfFt z`unWUwnK-vxZXIC_N4B#Z>0(EUaT^CRjaj)`|p1xR<)R6^Y*Vq8>xxgsr@s~?eIpOhcTpZbIX;d%oC0pOQ%uO5J#O6_}BYhm!ZH{&cmw$f$ds)5QBXu3`694kr zkuUEY_MFziDQ$9y!^!lv;Xl}zyjxxVO>WhxM?LP1cghcw7e`oSg-Y?9-il2JBQKR>3aqR5sJRI)-}L&1%0!E}Lo7 z?sfJzmxH^iGwx?U-n8jJ?SsB$7vgUJaqs4D4cWdv<|hKm8&`pd1?m}5{jSZGOC{qD z-RqyHRzR*zSG+S$dO{+|1$cPB7dvcDFO1q>x9s=iE5UQsroUx>vnzf6+|`onlIOP% zzB5@G^;u;je{Lz2*x63h9I%`*ZDeo;{zAQG;BQj%7ujz;%!YQlHmX4{?`jSTvuiE; zI-G0~b@)i*CSwnWCl#=^;nEWU9Ejif2W7o z=O`c%^aY_ht+V^}kEVF`>it^}#k}7)?C!s1nbnE+Mau?H{j0?K^Mol+Lb{ubvHSDI zZCBG*T~s!c8bU%VspLgn54m(e%WssKHL^lgE4p}Qg(j{oaZQ^(*L&o{BW@=r6kHkgPqk^e zM?U^u_UPHio`00L?rw5R_2+Ll<6D;PXsM7&23JiDX>L2oZtnb34`!Vl8oI8>tWys> z>b^a&bxn_rL!zTCu&3Gjw95}8G-ns(nw2Z|MLKOQDfYE2+o6(6x?E0C$+wSnwK@UU z5$5pdh)dc%Z~5;ZPQP5QR%91WkBk_ZtzhH)rjNY|3*b{-K4aRDfF}p)&u%M$#jfZg zGc`4Z6_q!BvFY8BLCy}D?J#UGr0F5~l zy<|bXhsApiq;*;+8F=|ZpWb!+M$C*m#MfeVdHrMsANDVQ8OWEOja6;;L zJ7-ThJhj#3UCEy>b*^`K$C>2&-OVu3UA7B%zi}@KDo}sgyU?p^ma6*fAMM{XT2@wL zNvDB-l#UK|jp#S%*zx0%PA5HoPnBHl(>Hu;uRL|&jj@l{nzicbAkD4nTh_`Uv3$}e z%`dHNN)N_P2P>omkkQ5ZE-Vs^b@d4y?j*Z9qnuz;?n z4MQ8`nVq<>YKDh>TK=&BU#B$Lx-BIaFuSczT(~%{C?M9fFfwFkaLF!{jOnV_QBKG2 z*$lnt6u2UI;Tebfvm3YX&>^eSdK<-{jb7F#TCMAG?8Xh3rOTELY&0uEy0%JwpQ2TL z93CZ0UR}nRZgdR(xEwBg{`8~|f7WNKt)-G=x7ls~ZW|tJIP4^O1SU z#$R`qypgCgUO2qJ;4tKb^{*z?7p;zpm?jySeZ*7AO8gvOd^}`!bI*arl5nfE{1dXK zGsZm`cQS9>lMB79Gkn`z4nFN?mYttpYwwUJvKyNeHv^evo|DqIY}&im3qtG`ZuI&) zCdtXkt@Qo-#+vN?-6qyvVY#w z9|F4ct>$6d=l2%v!pChc`Sw9~2WFdS=lZITMGuEZOKlgiyuAw-NL^+(%X`)|xOeI} zCpeG;SHs!Zb=K{o+l)IC_LDOB#Ecs~m`i}4y`*fqedD%kCak?2ZDnOOWaMz^q6ZH` z*I(|t&%&$E_Ctr}ELl?RS_@TYtYSr1CU>y?=uz+R+lBjkpFjQEyw#F@3ipKP#dSVT z{hZs@GplY7jjJNn#!8meY2AXdM*#r=(;|E)rmh(5zpQ@Cmh=Dm%W`>c%lS)|L@hoW z4;8a$w2()mqOAWca%k`FN)2p&};fOx`d}@Eb6W(LShX&JoN}eyZE!s4rPv;3; z;+=QgO1rc$a(UBUU7wZuL?{d9cko?`X?xQNaqy?Yx>%=oB z7s=c&jcMaDF4RAF^B>0=3-(nf|DiY<>690JpyB&sT@GV#KqsLx5RA=4c zV?%7RLQAdP>>?jezSH9N>=K_0$-ry*>Wpu9wHeg$UG;Fu!?*K;UF2s16Vs+IUgZ7u zTcuYA3)ZSMK-Ki(r$53*y7Zpkqo~+-_~W+cGd*wkW~SYppKX7*PDpnL(~S;q5tS@y z<6sg#&8u@{cI}@gx^_DFTOYHlqZ*vfm@{R|youkYZraoAh2r+c7PCTat*om=PI(+W z@x`s#_#|%Y(bPyM^|G>vh=}oil1qy&jM|M64d2-7)7gMIpYNS?9Q=HOGrCTr38yr_ zt!HxWjy)FqRF3iVva=W-=sai699356zGIE@9;EyG`j-E+vFGxfoD=IhFT-4oJR$RS zojycsU2phGs-6)DVtL#>cE}AL4v*YKHd~-%MD2wmPJWEWc?~XZXxCnAF(Uo71%3eLLcjW#3^-aHdwXqMI-{Q~f<8sfxYg8QZ++7or z9#W(2ns9X3s%q7mIp-#ty_;2j^z)|=)Y)IpD!g}ltHW%h?w^LR9;%e_UYBM&OJ~T_ zW{kuCu}jGG9o}zZ_rz`IyLgw|Jqiq*E0Ya(p1DbJ_4RF`x06F^=8S2b3uY}D?{qTa zhb?Xn(qp&HFPXN!<#E3c0-@DcOXmo|zi#N&w9kyKziuBA*CQh<;O`wt*Xy^KdprKt zbbJiA^?B=qx4*~w?muAPG`Jv`?z|ZjZq3l_PYexTEF67*KXd2JeNi_vy04SGzj5tI z?MuP`oIfp7D*Jdz&1+`|^NQY1a)`M!oP{cb-E3F(rG( zylOsweB+cO16oe(^0MTIAFSYX4sPDve$DigC)@e@`VJX8)*2yQM!|x+BbJsuN*4NE z&HeOzM9U99#i^$L>QHj+$e+8C>Tor=1Vz;_E-C zw0PL5fM(4yQ&TNR;>+6dLg|Cz#-3U78Tomx&0c-@C%|gWvt4zXJezX(g>w6a-7aar zPkvh#D7*1n(ch1A9n`^d+vQeW_HnB3+8*0iEe{QFik&%ikk9l|Yln9G3l1-T|L0nV zrfyY+jT|XI82|G7+wphj;u}Z*c_}cu)Ks&TEtB1^jH-s1bhoV2x=TOzDf;8L+<%^r z$la8-ru$sUq>rypIkRN9%#)uIIxbv3Ygj=CPg^WCbLP$ST-B|nlhuLG-SfjrF0Sb? z;p6)WE1Sf~cK5d~j6Tr1MUTfGSW2p-+KhJ}bSbriOMm&Wc{l9`Zz)KQt9JR1rtKGZ zzny|7~l}>^|$u>ni6C zO&lu0$;Q5CTMsS>^}2PwrdhvIzgG==H@RB!Szg|K@T7aG-P?^R@0rislRv)32I+I> zz!isb9bVfU^FXWzGg^3N?T0rA@78x)bv&zPhw=9xT5R6>FtVR45u=RliEr8@&wJiB zc7N24Zn7=6-?nSFS>K^?)tY%%>$1E5-b3}0cSeRebTgMUt~R$|`I&vkdi40N>lEM6 z!zR($oBA}ZGkN2Hklp>$H|;jLDQk22^zfMLyGOgk-#u)8`SRs~#Va-Y=OFfooI2Hg z^yty!*7V-er%is?q`sGT)gjUU8hdMD&WzE+;`dpwx#sIhr+U?i zItUg{&d$@lIC;ot`hp64j($c9#e3iiiB1#5c@m`oM`@81Wzb?yNTJ^XbFmT(jQ#V|8X`Dy@ z*3i3K#-dj)Bm1vEu=jFbn>2^4rpMZ~o~Hi0B)}@RYkKsG4OgE<4D5IE(pkGvSF&9n z*H~#@Jn7VwH%r?#8`mLs?9KD@=FT11bi)18*JE!j^*dGPDz~3@83muP7i!Ta)F z7v<%uw6wGZoz~sTt*6XvJn^|xmFi7X-n@CUp?A@C-y(aDS?#kruD4xMFssgk1zuYKN+PeDirrK7E>3^k{8#$6F=eHty~3 z7_MFnFF){E$*!hJRk78sS+nN8cXtx%2L;WH@cm_K`~3sH|Le`;;&P?1d%%t*iQjzg zd2`R_9LGVE?%6*rO7irZ_RoiR^D_(He~t=VQSa2y`lUnb!^yt=$a+C>a{@$)-Mmesq*8hX6E~^VEsVQ_2k*JHpzoM0#{gRlA1Ky*CFL_gl|EZn!Lox zMEBW2BVL`1c^uGli|6pE-nUNswL2YL|L2iIymC8i{JGSwUF$esNnj3p5+ThGb6V&% zeZ=JL1JZNR5oL;Rnc6|&|5Sed4Yp%j8?;jFV*3s$x<&mmXX~^1-MV)D=gqBKx9ZGG zd1$|${rU3l=g`J(pRmzt(na3Dezp_}4`|T>^S<@Fssp!Od;Mdxm*u;!4LbGV)QE83 zhpmf!?-x5EO8)!9hpcno;m>w%`^bJu?ElX`+R-^8>-^)a!TnnQ`ZhW-da8T;Por|* zhklyaYM1YvMmbJ?4q=b34+eKpwhnhQrf{1m9CL9#0x?W!k%Eq!XQI{Qj4u z(>l)^W369L`oS;4bJv)XM`uF2C57DBv3dQeQ>W&iKX-1`?O(QB@0D2KQ1a=Y54qS{ zBF0L@+!+<=ncHD^pA+6) z+q||}W!J-g;hm^{$~l+Ybqrtp?eN~dN}LCU3s-Heq_^AG?6I}$j00=UXFO<}RrvI- ztF!Y)eD?j%lxFXS1ihXe#y-4zIpW2>2lGDH$~pHbXHxTSofoD=_@-gcuyJEuc*z6P zk6<79?oN{9(T|Vn)lW!N{`Ju%VowD*fOABKiZ2aii(^X zPml~=oqK9{QQS?(XSe2+`&ri9F{k?I(HpKkix}Q-L$|@w=#+x!11I`9DGr+Uh*%ou zlyzlZNWItrjc@L;oqy`s1UDS&d3CgDcX8|v30oQ!y)?=Lp9Xh(eq;Bu$1yQ6dy~8$ z@99gTSH(X4^YEQNuRp!9UdM&cURJGA<-pV2-Mbqcdi}j?<5$1rG>-Yj>c(#kL-K7j zKl}du_urVe3(gF082qkp-@f6#%44gV%~9QW+82GK<4D)A}!m2Lre;5i?$ufh`*cU zi0xk#l8XVrfJhR=7im-zVuOI@vQ#46}jirBYb5`qiS@tn{iAv z=H|o>g-s?*pD^&+(dJE>{B`!$tpPCyUw)o4;ifnD8|fkWgV$Ytx+*29;i_)Kh7XtG zOdnAUQwQgCJ@nyD!lXYOkCr@t?wfs1DVff8JROsMu->W=UuB!-?x|zr2S`Ig_G5>7 z{DzCBPPg*C^#-*qTz2W;qpSRQ0z}scr`v9(B;Q~IsZV0rUT)|NX5?=Z6;0GBvMKUb1a!>dwbMw!RWvI;{TMozV|9P2vL(A8SUx zwM>;LQYDyJt+5Hb+cZvb(8W5SMa<_tCc|zzEsc7MVIP^jVY2$XUzy}Yp#MR8b|Kiz ze%gz-V;6U-)yt>%$OCC@J?~8nvQrK_e&}I2jIpW_Yh{26y|Pfymp z`Rmda7e~Hb_B6JsbLL4Lr)71iUB7<)i`AYV+&9TqIP_X}XY%9fzW)9=F!!>zc>C^M z%|$=PW=~pK=n+^pukHJy&YkxSo2ab1WwYu+*`vFA)W0T%WF1g?cBDvww@fn&pym+$?R@J>W}Pq^(B6h^Uu(6 zzd@Lq+hb#|#q#9Zi;g{f=+(Y`dmFiQNOtWXp_suR?>jc0 z^h(t!Rq}BtJJah@{_mYs?(=K9%*Ao}uKs>F^lWstI|#R}Y(D!__sNTXtYcBP_sP(2 z=Ep2eJ#Zo^w6X2v)g6NEev_JybFu`2J@I5iF)x?`FR*Ve-*RpAtp2|U7DG#6ZEDGb%$mX zz}*AV*)=9?(;w8`vur-x_1E0tVB}_Tf59HcRuFWYufTMqU1`8c2|g?!8MG?+rKOV_ z8u&##Lr=GKJFj=DMZK>{NfqUospQ5g|0WKu$N6i7)E$aEGdk=&T5qj3y7?=td3~l0OGq-%9GtW7vMxCK%|DI#SLxnXR2p)iN$L(+Z;*!kL zi*gB4IWscqRK86sPP2ct zUP6LstCWPSEGeKX0URVb<$zOJcn=wAeBxi-|8eg#x6?APcgu8xhq>DCoKE@5Qv=Bl z*s1hTeH)UkRe^}|dz_|X>E$)`FVsnh%5O8z_psXH4x0k}f*fhIjbw6opBzBD3N)*1 z_tL5-U{~SN$RzWcw@(RP$wY&ep^x7&p~vuF7_prJ20({vBA=CoYm4F3E-jR}7)`|| ztlaTq6*fX>SR*>jG3SPrjm;uIFR#m1KdR*u)NiM<;u>BwkqgR@B4vmOhQ^>u3=RrD z0RbrBa$hwi_%8WlV&c>E0#q%lYf$0Omi3wqfg#VB^-yEL>0Nv~GIF_>_PDjg{y4Ns z4uvw+HY!o^!`W4#1TsCm3K0214$sF34dK6+c78IUDe3}hJL@x+&~GbN&qiD!O-ygI zhqd$+3(KoBBR&P>L9+P4hnb)l4Sv*j= zb)AuCW@gC=3jM0ox^d;ElkZ)&ddqkf{B}*BocwTb*0^+jf4_T_&Xq`|J-Hi>QXz(4 zWqM=*n^T;o zYCEyKoC3rUoqG8ns&UM!w)7vw?^iT8CXlOtV#kH}O}N)OT}uAd6Qkx;subyb&(3q` z7tq|w!T7yO33|V!F?prI4_YEO<4h+kQL@NKin>0?g|?IE+1c3_RmFRm`jEi$y{qNM z**!$5hy)FONgeOzTOVQ2dcXiI>b?R2M6ax_kiaayF=jkT>L&=%J*f4#3awQzA$5&) z(bZ!AY34VtwA7u}B|`H}Aksv*)@zG+&D2Xc!ecL+%gCIC^k8m&c#^HrJ~embM*|Kfz-9pw6#Rev|1AYz>7K_Zis$)= z-A48?DCjcFGn%bxcRondb$e9~4NmtfM_}+7)f6*~e80Inc<(LnJKlB{f3wh0b{fy2 z3cHM_%v}Nv2v%nfGm+EokoLU3C zii?M5<>yD)?6`i4S#fmDYcX_t^}5iQd|Lx!)|sApTR{6mF}o|<^3D!tR+lz<&7RvAq;rVG>+`v%&^KS(pLNXJ}Nz(aBz*GZLabJ`Iam$w5jV#Q`l;PI!}Tk)QAne` zIFn3;V;#8HuFZjvX~0=z`sAgzH(5V;5RLmxt^RX&oR@{aBNm*k9rK78GG*EJE99p& zKjtLZRby%XCX81gOj0ttS1CrLnTWBH6aZ6+?@$VToy+DON=q2j?|Qr9%98K$1eA;x z(|zfT{i|2lfcpapCcpJ03o9QV@|beQd=*P~OUPSNA7wS7AGLawQ9%AWdaPVuVK8?v zzq=}|td&_b{pz`wR!EGMsc#rA=j79x5||L)sFJ;&u0XcJ&+NpHyW$2F6F)1(aX(gF zuO!n-gaq7P9=Yrb&-3>ejR{eLgOPrJ_+n#{xp&p#?Kg~!KZ4Xk^BF|G6L z&kIqXQ&`R@t93lUBht_M6N=-S1+8;n4}f8iT18qRQgunckFpxku*fRqkpx_hMcI>7 zRe3*;F{w$;$kF<*$*zcI4O2om_I$6lrZzaKtnChm`M66^Q=*5(tjVF?tCf=lPfv z=UnLJpO)^Y#3@4$(s^1Z<~==#zk(?9&F;5%>wYJrE&nwXKtN%K@=+=wxu^Z17~%!P*yw8C;NX5MEd{;N>Liy~x3u5I zsnJY-xDu**dvcCEjhY=cn9;vC;+h#sWTR+CmsjaD;aBSjkw?l*#2cm=W8nKK>e2y1 zWO|uK!e_6X0?Q>4`aV1RN~FznjOU!u%rI)K+JJL)RAhOeGQGlbmi$*XIH^AM&(cLZ z=9s1Xe*)n7uy~1txVAD~I+p8X`aYfY#1_{IIZaFT78oeHOWj-*RXhyMs9)S^ zVmKLpf2St;SQRqfaTF%Y00GC7ctvOV?!*ToJ1|uZD}2>_(K7GCD@asRwG%1fdvH5a zqMWkyWokv!@PD1?v$OCGyVcpMKOIns*4Nj;6!M?OlIzwT512>5yK1l|*>FZ%^2J%Q zZ#AD8agu%F=2>0pk4;-(I_R#A{q4`tL8mrK74XfRL1T#%aI>@mR<`J zp3`30xp5R*u3JW&1#WYOrRZS1XvmUAD10>dikSvOVK1}vV#t!?&__ZZk$P0J-xdCsKAg0^sEj>*Bt2Om~Xcr2`E$X^kKdzc-l;A+=0Mt}_ly9CT$)M^v;y6e% zvu)Dz{MP_RW`wVdl!e=12!=Opz~}hi4x}_geaMRrR7GHRz}1Z0LBsIY#2je^_!t%~ z&!>rCA=)AKCLD zjZY^T_o^mFh53zXErFis8x>~YZd!1Z0wVar0?k2>mm{L?b%}n$mc4am&KRn*pZPGV zGjU(+=HEt_XCBU{5br!wQgrMrZC=k;i({FxSu6hB92Wy@YQH*C+|ib2^^wP%HV6+! z?s0n}a{3>$)42@=9LC??+RB~NI5V^AR2me$%IW7Ul{0)A1!n}b^5tEK&x9YVO9YTD>#Q4DSNuVt>ujc()0j z{awgRI3!5AfOS`W;zD3ig91?USy(=G3eVq)?{VR0 zSy{2ec9*|eqZz#Mu&N0t9iC{0XNl@943E%*hc7^~ZFr>CdObYh-1>Xie{ zrYH-c4|flYd0L^F8ul!akJu_$S4o0I1JAja0+D7@uM7cyY9sgveBOaIkF4*Anj;x6 zSmfDtx%u*M4THM2?R_f2$5>BCNAuBXTrrrHf9qE)sE zQL+8H_JU+$mLF4hVxMqYL*md^6sPH2CqoiqP`YLnmWm1}(2CL@!7y}cGJy}Go*T8j zT>hD%!b^VUbX6D>K$aaIe83q5l}yIbihFJS)9f7JsxQM{=~%uy&=APJP4p7i1d5tF z4QBE>;J7BTcI6wM4+J8+ViPHN;e_HSea|KFIk>~u#YFx+<0c2=oBQ(DujS?i7vZxi zm&2+rKLzqVosZd(tgo{5UV6R6Mo|0BV*;-~`1@iZh5I1tytj$iVLKYBD*=o9(^ZQ) zm9C2J4PzT#!^WZAa|31HpM%uz&hoFR2hm{7CY7wVkFqE+s`|C%7R*K(b*ujrI*J2B zj};Y!-9{jf-@Cn59%1l2bKeBoUW?4n$qD#(xZ3}MoY1CahXOT>J>h|$E=4ee;4}6} zBaoY-tSJBcB!Hhl)>pGG;LC&-_HQb`58fFW@!R^D&C{lY>~A-}#M?v@=(5|sCK+xl zyb5x-IO|hkw#0$%xzF6)kwV&aATQW^d%mD)A$s*my>c+Lb@@23Kdj%(lK!)Uh(8FT z&ox_#)tOJP80kalpIvs{Y#3IVr}yxvPUvw^4l{EX5HzzxtFTRUWkskgxyWFEvBO2B z(Tpr(rzAxmBMSL5tDL#>^X9d-SOV0U`pXHh&SR0gk{?LC#;6-wXTQ30-8}^O3Xo89 zuc)i4iYFb`Zf8G>&Q8aUFNMnJRg%7H0__yMEAX%ZpOi+)#MJHevAezy@f)C0|}+!1)Q+BkX|A~DmP zn}pA})`0H^x z2Lz&?7^@eFIe3!y?NKtS0+A0hR4_eUSQx|bt!1-GJy{u7Ez}EXOYwn~rttCUv%5BG zh?8+4H6Axxx+`}W8ah{ofPvz+5U!(%y@Ly9v;q@KPC1az7qI0<8Z9ZmtpFo_c7H6v zxa)Pabs~4zW`1BYFg%6Au|vLZBTudXxeH95M}3&||4Grfk9*b8;JSd0@fh+wvLCnp zqBlFWJI~JM?80!Hvl(@qQ^q+`+~q{EH>nE=BgKE|XM^UuKN|^reqOBWA(^$iqP`or z$#l|h+GdU4laM$792k1%^gam#Hzx+t%XIZ>b86=+k26*f&8kJ{j?+??SGQ4lg_V{T z6e6%K#Ok}(J1|AMb|hM=f|jI&niN2L1$gPuJxZ+tarD2QIp;%dh$9zN&FKsadw~4^)ri{#DVL~sMJlWwLwUZ| zL7v2;N~jrjB!5;I-k9Jy2zT(l%0m+LCZYJ9%(lQaR!X9lHJANCtjT=ML?1GDv55I5 zIii?7=m5u}H(gsM>1cQuKRad|6H?2OH*Dvz`4jgbbOi;{yK^kytQsLE0R23RW>{xo z{7g=_aJYI1dU)UQg10_i<wo(S*fL~BYy{pit6I(`rxD>|@B`*Z(a8Pp zA>&VrR?tTPWkQ%ZxS*>sfV6n=LVmd~^1HCG2u@?sb_!Qy@W7s1V05TE;U83jur>d^ z_xa!MEAqeQ2O_;_Br zW?@qnki&$yYuj$2)E5iB%VgmlNxdhM-`H5)!P*wjIusgI_R>*?S>@CxDnjz1g=bLk zw?DmD#dgm`FPT;7^Fa5@_azvxZh+~FSiNV}7=a8Os+8%&V*7PSqu)Qc4i#2a33mAG zUnhd9a@%oi-Ns(Y4?OS(ZEW||7K>`WM}gJAo} ztw17H%6`ntuGtMmWor59UDu?eo6wy9^LYv1i1tl79o)zcWEaH^-G6ZAGOgej zyxr&UrXaf06^1Wr=*{U%r{tJ@&2=BmOCY}5?BhLwp?1|r4bjUaLS0|q7PCLMxP-p% zmR4Bz2s)WxmSfHB+HfMe3)!3NqAp%e0aBW*tpHz;w54OE)3}4ZzjnY5r;{L2mMwP_ zyzr})2>!~+)r7O~q_dEf39AMo!ZACQ84J)DLYgIOtz84y6W(TE4{*g2&`Y;wPq$QJ zuLLgN(DADNN(8JSFbeiIe%c)YW}L!Fhn20#l2)&6;-H9?Qx$b^I3Ea+eccKi3Pdul zxPNpJ2Mf?`s(rw7%;+fnyIBIIXWNlaP!QCIMewO^(5gu2Ner)*=PPVb48TPDbA{p5 z^HKB5?skH$_IDWJpI>5mRaw4beP)^4gjxH%7^=f*f>REZHNrPxXOOR+^2Yy`ncg$MFOYf8dZLMJIbHu}%Mc6JD#p^tB`~DL_4DCot=hXdVqMUPL0uD} zp9SHy&x8QyCuisyzS^G!(s?CvvA(zzg^xeJR4qgwU^#hp6`VPQA-~4WU=g8Y@Tw+!X-d!55C} z5Cmy&@WtXqN2S5eRVm3K0Mr2L_4oIumJ&)|u5fGRNdr^`M5w%@#XPZ)s0G1-@y9`1 zgx4c4M70)Q-Uq4&nVl5;Eq9?l555Qorb%i3@VeVEr1LCGQc_CC9sbuX_PIeOjq$DH zeIsZt%k5W+9+;IoVVVQ!4P7YBq=Q#_Z9R3iGdcL|WuA`=B=Juo33_!%DV0|q)e*}o zU#{w6zbJx;A{6uy6P~PCBwQfvP;$Tr%htM1!5!Qlfc~(g{4Udrvw?kQ6DtTA?EQEv<1ZSx3&t^ZNgIrw%XifHtdVD;n-ivL`Nn~tT2#s+ zTOl3(w-j=-U*P)fsY?R%^8TXd0chwCEjC)>nh4;J4Q``(8xO8bC+EAkznQ?rJ8E6O zQMYROoi%l%j8CV~-0Y2b`^Pu2ZCj>r1nMv^+=@w$Mv=0fEP)(2tu=e$qiO!;O_H2z zlMZJVV{%G~8E4-qsay@g^R$bwng%ps^~*?$E9`+HMg=CK+k@`l7f)_wH}8261Ha1D z3m+3vvT3y%LF5s%wh(Po$f9enQCI`__o@UtR@5GS)}JSmLV!0mk9DQ2*FY5pn;G~6 zQ0JQ`9fV{NLNrt!U*`8$!PQa)^pbvuF{=E+ww6!EPsWu?bmNM*^6yIrbRAn7T3h4n zs?qaL7%8y<1W|eWHb`7zv|st*yR_n-ina9@p zQbqum2?GYyQVc&+v&f`+b!{*aJm0}{Pu_SfAu4q6LT=yA7V6Ot?~tJ~>ry|HQ-68tPdDS!_W2lY95PogQf{gH4KH&}nw_RnH zFCq$#T2W5PZJ{uSd8HS+6W{F?zc37WI5e3!Jl&n}!fUpTd?~8%Qg>jTA6URM5jgTY zujcm8FKf*@?h$>Fm~L^TCow!AFxJDN`W65aFn@$;eGy1gk^TLY+q^SQuM#cB3aH$S z2_f1yB^bt;lbjiR&4cTmdwAVGPAK2un^7ltxM5b5xGBkNCvTx|EQMuqwV)|ql~uVOZLBZ zFrirP2BT_5&tv8p9*rB9s59(vSR!6;)=0RmF*C91jBv9{@cHYW@L^hs-ebw@^8<82 z>FzQ$%g<3VS2HhDSy>qrnJ#O1@6@Bpi<%J5CiCuf9MAj`im=wZGB zkEC_?nhBe&7B8~LfgzC?cl@R0vUL6Wx=vh*W@d0(|JaDq-|LRnpT$mr2i|wmeq>h9 zib$UbUZm!P{Q9<=d2T{JM;bjf-IIJcfCdHx0;$^XAcL3|upt<$)f#46IJ3&+`GxHg+t=*zD$e*shIq?ai1jHEH*oW{|LzW); zi0bWN6T)6k(+Zp<=-!K!9;u7vX?|OOx=4!$@ymFuXDF@Q;&kf0>KfM`+~K=YS5H%j z^*FF+?{0{)KPa%%eA^5?VMLSfb6J+47WNBAeknbX6u$0Q4x)w-KE(?cv$C#FRS%`vI6OlGpRQ(so;2(GPD=#uHcF{phi5 zAYt4iuxRl?DKPn!>7kH^)iX0v!o;Uk@}98i-3qpAqDoDRL=nzZVaJrC%*WWy)$=S6 zJK2qQQ9hyu)E1@x8Wv1nKezb5Q~V}BhA{95Ul`YBVcCJW~&wC6hy8~^^aJ8Cvg`_ z47oO$SUx9rDT_|BzjGdMe{F{$4^D1$l$SjhfrtAulmGBP?k=G4dd~*G3hJ}^ey%T zxP=A1LJusV*lJ$3WT|&75^y?m2;hrXc2P0XKX^b1R$4{IYR?>0n;3i6fMDF>u376~TlXU?UL zYXiDaW`sW}q3Rf3AaOr&ePTkocu=`Z{i1jRa6>Ce1Q15nj?nzVF)d4Knj11L6>ee6te= z`)|%`nzfkR@apW4Qo0W)3)hDmmHOZtlv$(9lXu^zHoe?@a*Br^L58+>dAA%Jx;f@# z1SO|o33KJ@m6-V3A7xSE_$GAsMI3T2T9!R3JMaKRMwidKjC(S9&7l2_4tZjT;j5Cz ze_apg=U?8FoRTH#R2hD6-1{~G*eSnQoXH9Acj_#pC;k&cNkCE2L@Zd90&N8B^JRk2 z%l=(Y)Y@t2%k9?`q%eahnrGL^$N2(`h5~`}~u`%#P>&^OEUi_CUSSgo-k*_H#s&Oyh=pSTAUy-&7a~iD21tCs1pg>6q^80y8q z6r`zrr3!*au~(F3u8BxsXmmu1lcRScJKg~4*K;SnDoar6LW!~afU~QiVVL)5JE2&X zmz1yr%eIHwN-EkYi&!>RKfi>1DuqVwZqFFBYC^)|0$=Z z&-aBhA6Ds~WI@~paKiRS&>*s(%wx^j0bTP^>jP7^Mue5|1UG6wpKgtT?vpGzgph)A zzKU%jdjdELQf{}DW!g7>-S0L)=)ma3?|GeDj%A1tCkioCt~5}1;Ua&CHTKblPI@zn zVNj+BhoYJ1c#aIke46~ngwS*Q2{d(G(Hleoe0a0yy8!vdrWNJ4W|S6B?$?8a}9lEUU)U(JwONxIKnh21Q{`i}d{TXMN zONYPOTNZ|mP!KWqN!-1c!H+vv^J!!5{bttfO~M?N06GE4KUP88)upY9?n}3 zZm8xO0bY=b`;$$tHLZT^&n=I(t*ceNHaldu37md!e@6qy(kyHqXY)6&vw-gJRM|zhSRvSsk z$;9*>^;}W^T@L9`zih+%8FEasBA=g|+fb_1?~UqZhN+2&Q~D2^xK}w-j{;+O&h8DD zS_M%m8tPrh!_#S0)AaGfb@~TUa^Rbh7tbqKwd4h0n>Zds%Ku}eovtK-a?6w!_LuMe zZEX)2o$n8=21NXSjW>NAX?7}+pxO)3_P(4!>2+xF*zUSW?YJ=KD~1`m$e-TOx>-xm z=W;z`pp0^v1+mGyi>1ULzldLDiFXo_Pl$1Nh>>lT$-jP-rb?A&<^GTo`lh=Bi7}4z z{roKaU#m;cP?AyQd*vEEApVNprWY_gY~&tJ3I#pL1iI0&O?&_G4;?q#`Lh&Q-O*&+ zXyf0POd>(;#K6q^*~ZS#I3`#?UWL`h(w(@`l7SG;V7YclLT&#T#~)P#mWsvu?U97} zKbB;k;Y=Q06X%xFrL4K#KW1auG6%m}s$T45PU*EU%iMp^Hq83reIRuqIesP8QTsCb z>jEx%p!1$4EQ%e^kH;*+oAFS@jdfPV*VFT@5tjoymF*P%=~)qs$xSdDw;TDmtkk^D zt#u>E$u;bJDP8(ZRTe#U~?cW3}E$q=83k-)(f7AAZiI=@?l2;gW$>Q-HX47In2 zoPr9jPr*G#ky}mj%OvVBs6N8lu=kgcLFGU&{T+MKwxi^9nUG8(GEjwOdU0!K8>@=f zm|VuIAJ5tEZrAZrIw^H{mvLPrNXG8g?$UUK?=pP(-bL8Lm$uR%p*tK!$n3>QpvkLu z>fymkBoWBq^UpM)hkcg=+R@|VDwz=VD##=qEN#UkrB*Ha&#h!FwciKaeukaeGN%=P z>E8i)AShIuco{~GiROoQB)({_s?V3B{PxV_aDpF8E16zxti7UhUn1u{CMJ;$KgH zz0ARsZe*}?$U61Q@)mh3LW1Rr?Hj+Cz7znDoV)G=z`!Eab+?t%uyN5i_3;^JYYllj zVbI0-yx4s&YAMM$Co#k>4)Ugy@HrEpTf=kZnnQ6<`c ztQIMt6op%UrhNGEfr}g>vfwWNj5WPYAVD#Pp>|oL?CV}PM##+KfLg`mS+CCOjdV8> z;Vir@uKe^Nvt%rmj=$#{oLlx6;d@f(whrvJVEN9B3W1PQE-{%{bF9(sFH>SIV9Oh| zDo5PTU`qG0$Q+`!s!eL}1tTsTRk6y4Qpw*vE2n$v^b*I0}QGSUp1L5h)f8f zdNYthI$T>!M$3W+Z_rIe zBPL{0f^slIcfoxidhrs{r;M-k^8j`}Zza>64Mm_1yQP z%F_h^(tax6x@Q*tR zIEa6#Rz&)R+4YzI6O~J_7FMxVF*f362YIFqs&DrNapDNs^gQb?3M(plFog+$n%&aq z-hzV7g5`&hS3sv^`lwh}YLX?7!1d~9&d@p`5n1{^Mt?P6W~;_KJU7|t$WUeQ z3hh&=-SjdA$lKWh{s3fGINyQgy#eOQ?k3iWvQ2W*bak`q! z#8cGrltxs%{aj{dis5 zUIFUA9*|u0q%+Bp>tZm?e%!N%k4j<48(n$%fHCW#0>LstMW|66TK7?IkE+Wn?EVS< z(_XDcx>#N^Sh!Wr8&iLlobu?OJ?GQSQ!rC=@f^aSn|1ole}PDs$UCFI4PxWk_i+I~ zYyp3u7XL21J$=khZkmuuG>B%p56=k;>M>}E5K^r`y!fvu$-K?X(jbIz(>$$;$W|Md zA~SxtPPLJv5LF>*yH%>d8^5B*1Ys}dfmZ-w^5(T-H51y##^rV3lDxMk=q>enc9stM z_ARJm+qgq#j?JbfwJH04mwL5VPkEkdAQ)_O9N_Ll$}&IHFBV?Q3ChS88TB{piy{a3 za2vC6BOqOudcPW9%p{XkW2L>Kt3-jvRX-D$R&#+oQ>w*)K?6(Q$?D+rIyQlABgwuf z8)Y8B4pA8$E3VN!Nm%8f+9Q2=cY^6}=z+5m&uG=D#~ z+z$dOu-#~fAhPZ=N>B!coo9_ulQcZp=`*g!7X`>0pS{W4>g-Rfk1nj)}}o*Zx}km0fG4 z#A&Hl^Gvq`@bir;=R*l1hmW5P62tS}Xr&9ozA!t;v>d`10Xzeksjo-JJ!F~3L~>)tIer>yOp7W5?cIQafP zlD^X+o1TH%2umvfTo8nt`o>^|OY+&;b%@Ts*q33&TX0`RCeT*yD*tU58=?CF&vehE z(5S{~f10huRX7)4#FrSbK?3Htk^XcwMu}dZ{muL8v`i|+A+k(b49!?Se;z(_3zg_O z|6TX%v&UmN;(dO868#((+TC5(-xIN*>3>L>TPytFO^N-?`$Wh&8wc$l%r}KnVYX!- zcf{f06;O%}gl8ed#1D4UO^=Sg-K(@Rm_GWM7_FW~0HXBAef%tyo3AabFi&@jLxPgS-$h&XfzW-~)#Xo;66dv$T<{I;wog9aKd2^Tk zmLc|_J5bkXc@V68scQU3qj@bKgwSL(J{*;_cKYj?X(?~ocTq3V>nGt5(JM)=)=U@O z_l#(d!gADqBFJmo4Fn9xBnPMrAIw}#co+}cEUsD9hEmeUZ6D3?g~dES zA)IfbiA25gqQGGvUk|-IcYA$U+wmk|BSpo4)1!%=!5w`EYDTew6ZCAYRanNLPm~6T&xPOiGvm&mWNRqKuEI9+!uDR{es4 zK^qjIX}%Am%M%^`g7W=TFJG=--d`oX)ryUY6`5Ex8}K#jK3}@<G= zQvMV0%^z-RmJ_mNI3U~&tuf1k?#IeDQ?D8rb*8;f>xrLvm8f0eV8+74y%amC=w?P@ zPdh4Z`+o}8YJM79TAiG)P7g4*@H#-gCc8gL`t7es*JSb&oD!mSyx^InCSRqo_Q3JX|&2Ae;e0RuWb3 z_&pm3@Q?xNEWJS-a%z&>DB*k)LaFcp9mQ{OcyZtoI_9W2Mp1}Ly2whDt8^VNh&vjj&T&bsn6(Jk;?a((I0&+zNy^0s4X5a(ing!)Q+_nZyK&-@cxsDj;da_+Sw2|)scP-iwscfl$ci;(p%$iF^djh4C^CX}f7iL-GT_<^x6y>Kr$)(ju z>zF%LVxojUBzT>qa_wH1u}JkGijDDMsqFR3$BC5f77*#01-)C_$40`4 z@A1#@&2e?_m18rBM^tlRpawRcg=U~$EGnB!^FL>AeH9n|XHT44XkUl3xmsb1+j$Hx$M(Z@4&NG+hw`{ zRzCp#fXOF>O4K$lZ*agB&DNF5i`t!7jH2jHRq)P;339B;D?4HNw)e7-`BzrqWacWl z3lwq(^>NIL6OV>4o9MBuxUiurXvo50KWU`Y+$?yXnR#F32%aTmKOB!xQZ0cYkN*VW z(WATVE!7}AoM~44ns)qJ|3&OOzIzmp%JUU3%x(Y6?g8%z?`O2j6!5=Uxz;S4vOj;S zaij`3gsq}p!gydLe@VCO{Qt z+D4yZEUp4LdHZROjd1{RkM^p z#hOCF0AFMJsnF@=&C%e8AGGGO?>dnm?~G`0WOX=1`L?QN!bpPYT6P6AL(X^~-d2a4 zDmUb6+SzYTce!WidG2j_2)j_N?zb#Jd-Ej@VD~)j+D$rV(**k{lba1crj9NKRl2*M zM^B$JY>$yh>-iHZL9iQEB4RJ^8skMrupwmznrhi8UO1Wr5EvnRx|hEaPU1Ty%Ir@< zQ9{d5ycN#;NM;z8M$!9>^Wz?INNp}F@^Yl-?+*QgM~-GLQmR|z$!+VB;{#&6_?mQ<0C|~%z#GMCI_P#|JP$7 zWe1pMq7;fi+FKB!tF_@GuHP#9{J$!YRAGY*UO1QuF?zsR`-Uxg$DMm7a8oYlICnOcCve6>lCt)v;3X4H4L+DL!5NB#brOfh=A>;V}_{Gf5l~y znyeDtG2D2>bs!U9j!?^9#?!vtI(3V#%eOilX;~nqzNNb{cRyxJirw7xyUyMOK|#@+ z+7oq=#eodBV6J4nqb>=(HDJo0&72!y2z3WVUMDyB{rk(;8CYD)biw+R; z>tXiCM0SrIqblPQ7<$am3)CvDUltKUdH2|ZiuAmQdAyHX)O_w8D&k8Y2bBe4nX-8jynGOc7_rxO=9S|{a(Px3-X#+lG^lKSriH`V)y=#FfhNr z`|8pZCW{pL`oy%5{Oc$>4&#lS{edldZ{y_x_%t?&Opk3GWDIx>N;|NurC44)t_4@# zaC-Mimu3j`OnV%+5VJju2Op=K9+itsetEICctM)vLhAIsR-u*Gq{_uD?r{?ylAW@vSv>$Y(WxEOFObOjaw3-34nLyBX+ z`?g4Mciv;KyocM0&>v$WJ#8*7Ow22+e~zpbpyuMVzSp{(?4Q96!f=8;cX)g~vF}!r zdW;?>+|s&DERzhPR=HhD#78aQMOqnc`Vkrh+eueET;{{I37HLwI!R!%ixqr%UvQV$ zv(iX^D+g3UZRsm7%JrT{W; zPuK?B`D0ym5+*zw57{yguYE!uE?&+Poy_aPR}{sPY5akOnIo$91VMj8nRP#tV&&Va z!fV2;!`*C%nvn2Sg;^~C5GzIK-((f3p|Bo__61TdIY3PE4apT&) zUA_)BtA{ZYWBsQ> zn#u-#d*3h1-0Ayt9wp6a=0@_;^f`*ToI!cd`LB=p%PZ^%bG~Wc_tDqiX}Tr6M4NL) zjXT}R8w#?7=2E>j2d53#e2L$j~z25uW^-dM;r=Z(~p@qjtL9=EG`9!KA*Oh`A z*nbTSl+^jJ*yOyulb*m(HT3CmSHb7sv*ahoJYr5+lO&seOM<2}e|-ZHYKkwEQNb@sw z|F44Nj^n8u1F}v~5IaD_k2BehVqcacHmtee6gkQDSYsfs-97%Lg_O>Q z=v6(xVgu#2(K;837mU)rn2c7FtSoZ-JVbOYTvM>PT3Z|VGNFse*b#^M!IL*Afg8E4 zc(x?;jg5(Qt(xdLifh&F!hMTxT6tLH1aj6_L22XZ{(Iud>EVjhP(9`xLJF2F<*_H_ z6zm07@U9MX%3y{G={8nmAsSWiTr7;;_G4mfM20NB1# zBmXUnX2TD8ab;V?%Arvt=@XV;NHB?hj=pEEAZq2}(cg5Sdu{lly0jiWYvQ@8(9 ztoX%vRz5?Vp4O{eZnKD+W>-BP-){27sD?I;E=B3gIcUfGIz#f&LY~^!=7fZkhGBAe zN6DJ!I~t94_sh|uxpOHGI_dxK1#s=;LX{HaQsc#i#6}W&Y)X7fZq;kxb?&;^wuLn* zysakIMs)dzt zr?x$hdc*h54=bxyXH};0a9=)0w9;3fa~t!9`8=j=30JRLubN;&rwbPM=gbn)^ON|C z4&*SC{OaZGrZ{c0Y!T;&9<-J-!u+)b`b73qTo;5dNY#&lzA_p)J3au_jXi^ntBcY_ zGONL-N?3@&4o-VelcNRfvMX((@tuPm_=}~w)b}^92+0u%_?XW-db(dq34#>?sGvO$ za$zxl!#LNbJ+CcuiqZzjjd<0ui>M2Xenm#Gr%!4^uJW+aU z=4Y+HpuUEbp16iXMtOeSi)io}L5Ez$8IIHc6-m2J;vJzy^?6b{5pS42LB0kt&_qRj zmmw)Avz@i$=aZEsp|e5Y2=M6Z;X^D0W0-%4)-)kv-$9+^BP3NjaiNJ4?LMjPP?u0=7BdrfRcpsZ@_t~G0f8d>_1f2qx7meEkr}Wpl8bmp?mO+Lk z@V@hCt0u?k-G2Kj3b7kb$iM|k$hUX$yUK6#6$`S)lMnZ#=PzE_awZy;p~dvNi~BpQ-~P z7}C4ncak!(URGxKbyUx_uor()7u9|G0GlgJF_b zfI>oFNz+&C*`<9ao~S};dyWnpXvcE>*JTWbr5#|UzrXys0g}qHKkGtI*UW3w86d$! zdOv4D@izZiLrptZ^?{sM-ATpk2onH_yBXKs}S{I^CYUjCeQdBu)t8~jv>ZeK!g$@4H3NzP*SDlIL_BGN7d#c1MT)*yhjO?zbi){suOD(T< zB%xT|D{_YOBjF$OfAR6GNB?dwefD$@u20~r*X&HXWuvQoz3F7<|LOsLIjINlVbGcD zercX#0a3>MfH7Q(VL2r)L;!D6cs1mpB)o^3><6}ar*^Deqq0bbtZZKsr5IF!Py_&N zX1Ip8c(@V4s{xC{n9QuMTFw9|NxgzKQQk2E7}%l%Q@UQ>j#llwZKGj{c1R9a<@;py z@{#j%&Hsq!QO+|kgfhntLV_5r-%y<3*3cbYd_?P8y$V1tXs`M&di+;^+lvH? z*Q`+bfP96nYdMp)tKTSP8tB2-{IsNWv^1kuhrk#5@-cCy4jdLnsp^}~m;9I!bb3E! zSO@Sr?p7RH9&ek3;)laFs=T05r&4e5boSu%DI@)Io|HpC7hq~-MYevbK+C=$l`dxl zIl{+-cjCbr>_2jxRP8I!7y(wvsdX!T&$qK{wdvqZ_Yua+^w1tN(8Oyy`vO5^*zzQR zvj#77{JpIstZ6%0fb}FLUO469CYib0nY80@J}4JQ-xx(^at4-YUKX0J2Y28*U~+e_ zzwUw-n?CYzu6mn}Er4^CHhJ?po4C6SM4|~g(a497*F&s{iJ;#ilXJY#Z2ZWzVrp&$ z^j=A`4Zv4#)KN{&vQcztLLh(gKCWx#+L+;7S=qw`>J}aL5x(eG0qhunmZ-JM%{T!L zKNw=_;~OriKiQ-H`*i0FUdIY6glR9;LI-|v+YR>Pmwm1kadA))Ya`}Ebri?}gSY;x z%%;P|_YrNNyp=>wT42KR`ENs&Oyx$vX(1=(HAa*(snJ!9H}{9FH1tAlu5So4sm_7Jz@3d&lG855Jj#A4K?ZWnfbZ!-#(>j0}ryTy$y8f z+BLo!b>(`^%9Eu^gU+L86bG8tL4(25md=iNF3m-dtw7E~Q~dw6CB?eFrE8umGOPwa z5SD`>InNglm;w^{=3aT`m$Xdv2o3wj4C0mO3<4F>j};mVo3o ze&kcZ&Bdk2VJgKo(Aa(YpQV7Kp^nD4YB|vcvatEsZ9xZ`eCW_^(4=W!L3wkAe5ZQ# zub!&_uxhQEoe3X-H}Dz{^YAkv!m(oURHn)x5}-STqhS0v5i2XV&dkpl;=%@}2u#F* zd_8}Ufh<3b?X|GM3r>CIrp^OLY|!(BxzJ+EtH;*3EnizIUu|gaurJh=Dt6LX>*{cI zh!UxREsKt=hDENz@Ovm9i=bNrGhBxSnF@?nvudboSL>3!5KTx1?-5YJ-C!Q=Ux*(0 zqw&a}*^-ST58ICyKE5iRBUW`)Ll74DXz!{`Y))XB#3dkTEc+rd$G$ZdaF7d-&tQZFShJ42vYB*S|DgSP}!340n6*3{! zk|%`H6g|(-X_l}UOrZR8m?&Q#1E=>qu%8@ZW$oo?C6<81)jmg;+cf;fme2Up=+4Gk z{`-2RYQ6Te^tVn1O)p%SbM^AdguBLD{b)CFDZp}CPUACEUuiPx^^2Z|=q=K*>5?cEml z>ro`!LH%PY+yRpskzUe(I=S?&T}m5W%x(1LEE97@s!GTCG(m~BeHXDxd|{z^$x;2u zMeWe;p20D)R1S{R6z&tWk%q-_=~ba7P09!)L{vOiop(}DszTe`$%z(}w zhitnE?t$4`70GSYPyr^q3sA6gz-Ym|CpUK3?=BN;H8cVbuB@yai}&wQN9(}LfQwfF zSpqVLxB+uDz5N-uj z=0HcCc!qJ4rI*=hgDKW?v!?ERBMm&zY(Nuv(b?H~-DUaSD;+f8TNwa%2_m=Sc5)>H zf0A7Bg;$r)>0UOd%z=nKUb$2TkTK5?KTN}B;?0pI7wa6$%E~kIIa8oJBbGc^1Fy7M zPjAF79AWC-x4cCRn{iqQSi>}+G}4uNesM+5_q}HDe2fSxam5bI!&&0f@VP}|b>>YN z@$@@_8GAZ(Xo6(ea|{Hns_$24`Q<#qBg^*`XnEqnoM2IkH+TOY${_6hkmee1q6pqp zqBx3o-^cjk43n40XMWyL#(G{}h-JM&-J+_|J+JHShR}qdy7wb*g|4S{ zrwOM*;g9SxZXrIR0?11i3qDcN(alXE8FXJiza*Yr>vS+MCRFdkdtv0HR$Z&Yh?He) zthmZd*d+ay)56Xz**Y(feD6-|1y7JQm&UV81!mv=^H(1^Lc5GcJQXjQR4b8vS&-AU z(dZby9buUkh;aW{-pAHBT1`Cfr_&`EV#1X*-UfnG4U)oPexk0H?BCv1( ztAjn$bHx}hpBpox1jb~|lGIAy2`X4(e_pKH^59%gwP9_g3P=wR#gv-)6Ut;yx%@01 zU@HJ+RLOsJr`0(yC2NS1DI{8i5<2+e6IoR?(vX*|ECI&CC&@?{VkKDAO5wYWqAk!JI@(_q)|aHhkyi>@M8r?D&=CKH`v;5%6(?smYIt z@!Y(kY9hI%nk)tW&x?coB@)~1NxA|LF>RPMx)vbmW~od4$X)-Mj;mQc!~v`yNRW_r zrBbwQ;41rFabV6F|Agj?-4xGH_(?9dHB_Ui(1$3Zdyu0x`sP}9U-H|{%&4lXpY9f~ z4tRF*zwHCCWlqNN8=q8o)5^TIeUedCy)UD9H!0n;G! zr#uCYoVfU)q@-_CHm?kt^F?Ru4dO#DOsnVY#=mGro0DR(KwK!JD)wyU6%v7+1E<2# zSPht=fyclyR5a;|dWl!(m?zeT*R81NrC%t8L(c;ShX#L*xp;bbq$*JRAn)B#v~J-3 z^t%L(mJ0IsdsbR5+UR|HmcuVmcsf`|8t@hkS4=ozb&}%O_%b42Aq@wj@N3^9`x$$F zlk27VFB)px!rT+ZiDDmj+U)BREQS(62=OzC{^ZQjJ%s71Uw9#iWngxVX5jI0;TrA7 zUbodKaX3E33rZ`eK-5AwQG0BOHgT&FE$$-*{S(DnmG#dKYj%iJ_rv9$TkE|BSTJ?` zzXu1U?Ny@k2y=F6QyB_b`8nm9ER%D(A9JWc)D3V*mvj30^*sfof0)eOg!pK`Pz#6J z!$3gMwKV`{ zxf)15fQ*kA6p-4v>s%Q?Cojy2n_KwD?vz%lHa4zPboKuCmu6j2mX`|$-V1@bc*x5kVQc%Fdn`^aZfHV<;h)u;uno5m`MpvpLuK(%pP*vArzErb3Svkc4tMa z+KoKFF4?L%kt%qr-<1>aekv$MhUlMI2QeqWZ?1&3Mzo`3`|$^I`|M3Lat)}oA5P~YCuRnDpvda@k7-iEJ|Dw3V@0&M_qRl zOYcDu4uAD#VnvZv_%ioM)9-eVU;HM+u=YBjU+Od6GaCW2hp3Lb?#Z@?_=a?+mZg z&%!-HJF)SKvFkmUMFUc>07SdxcJoR5Zz@*M=V(0~XUUU(!oPp3YMnsec(YagVhdUH zhEVFZN(;!5HE05t)Y{UL;R~(~+dw2fL|^$mIZm6kwLX0M-QU#fA5rV&DiPsqau*BS zry0hBW6NN=CglLuT>JOEI6&8XuUrIaDsu;}2Jq$iyf@~4((Yaq&}UF2MC6yD&z)y5 z&N%%MX4&LadMKo-p-~SK65sll{(jv7%*fUIZOOvacki#9IxS7fQG`!G^Dq| zru|OyrA*t#!lEQpV5mwt*Cd#6-SApCc-3J#GoRUSgi%#Z10=v?X?w^Lf$&S7=urn4 zQX#xr)!66>iTIO?u`T#3^M<6_)D0))NaNUGx`he6a-pnclS3hRWgyk=2xH7F^BII2 zu#KNpJ3lx(z{(neBpaFY-Y9-j{-UKNS5hJ}=~G>$)F^{+*H~)>%$UCf9x~&pfYb8u z@iAA*Oo~{mGiM6nYj6PoRSO_E0z!@fR|)|41Ogr4%A^8O($R-MG0YuvZB4q*|LG!x zd(Y|W3#VH>z!)%H#4`X<#R%GW2C~icrYu}yVyY53rG{0sr4F))Gg9*l3kEBbxj6=M zfoBOvEoWy9cKp*h0^I!ka;4hlI}^Fq9@^q}`}Ozm?#KU>S<9$C1aG@TQN}p?+pHcZ zg!N*PMIwSv#n__oQhwJ(7*-7c-xSvDj2F?f*ZW9vvn|*SLepXi5#^f@G(~Am1cPw& z%DzB14)q{L{Y5n%|<8_DFtZ> z06Kwe1j#!FkiS+VO_x79 zf^cK+m4U;Rb}eP@hqbVVyr4iWrNfKidzEodLm4Ubk{vBkH)Q)6rpl&qpc)Bla*U(@ zttSFGY=d(gwjW6t&6j%Z;)AIK#?o1gB%QZ%CAdW2mf%ACLeZ|{{6HY+pKuNxOKg3> zoflBj5eClE>fLXPv55&FlmZxx*w}woR=&fWy}Z&ZDk`*KO{-mii~XA8&XdQ`69F)? zsh%pUYAVaLE1o`KydZs(931_9^q`+WAsm{VJWZ&f8MObMM&vuazKm(;O)*^P?buO?wrclfqXQ{f%*yXb z^GO(N6ez?h7n|&y3{mf_{gB;ln>e225?@&%ik0&)F4wC9eo7YD2zGXV1M;8lcl6b+ z5_i7}t(cx=&xAa(zWR# z%$8htvm`cx%NZ+PU%lZI2l`rUig#BPqyt*eLNiHW zWqMWIf`UVU+z7N;FA~K4F28J9i}Q=v-|bKyeHh|&SZ+D7f7|Q?Obi%P$jZ!II~mF^ z(5w36Lj~Nij=#F|$G@5%B^?&Ng^Y~24kl{w=x2izCYPin6r7AbG^zq;Cnw!nPKgKE z99bPYHa1c+Z*)CO$$dgnK^!gVEi+Kx>bx|pgEiAPcqQ723ilI!K&1D0%7A>)xDa^Cmi!0VKVslp}|udD^6~=GPxCs;1mqn^u9~7tjHe zI}_pMoz3?_J=)5E{o>l=j+rUuf9Ykwv32|Qpz-s;!NB7>^?PuA5nGnox{WYqeDj0@ zFl2cvxKMpA7m?oR#lC#Y0hlO>At4AQpt9--{!!TXoCP=#PXnC(>sUecKQqujGa^I& zk>?-gjoil*t$DIu>Me|Mf&LfyY+uS%&l7)Ym{Zb-C5Y;1Ge$Rjr7MefP+ksz0m~BY z&7r}`5~DeLBjksS;Mx-=r97i4CO6~H#R|4!Ph#q&&-#5uaSh)z(AHTCy?)JyOI32Y zTl_&G!OYj>?I#Vp7#x^wfnn_!^_22l2&sYR*HR{Aw?K(EquQ)r20o34mYKt(hiq%7 zdj89>r4UoxN>Z>9Kf^B4j?s8%3a&uEv^U&;(pU-*Ay~CbwkB0I2@*%5Jp%X`}<#6OPpn0<)vXUD$_e*$zy5o8KYyD9vhSRTyu^0MQspjmT0pK z*vparX62vQFO$`8X-1*t_@%2S{7O?7K~Mm!eOKaj$|#}HP<+olXM zsr6~Hd5L?HU(vN>i(PEI#+s-~kyI+L&wFLVHu8;b9bt;k1B&&Fo4|_H;35S_Lw)wV z#9e%^C4H`B7NE02n6sX&+$2_d@x>?{!4my{g!aMp#aQ8wzB~s zC-hIR>8cgnh@AR2&tSV>t$%|J%)k0vremh=s}2!~COa`}nlj%DH8JQ9S7W0g+LUn~ zaQzo*M!%&}s0_vrUG&I4Um%TawsXbrIX!N~5s>LH--v%fmYH1c_l{xXdP85$zFyUv zsm_B3=d1I!hW3sx=29nHE_|`IEV~RP)GX#gm9AW|ha>b3L;Bf+z)tW@&K_U=yeV|@ z*yZaL*gydFwb17IU&6+}YwJ?{hM{Stq_#XCM^;*+r>2GjxI>23kpmvg_8AQIo~d$X0{S7zJAc!~-xIV%H@TtH#zIRm&2sOR3^0kC8=yR^GPEj8_H z1)w|6 zhUxKmxrLPqKUv$@WWM{Z=rngH5EwhY!%V~d5OfD+*#rN+Xg9Oy-1!WLGc60s=G)pv4kd$vtVtPL1 z<>f78larz3ep>hJGh<7k6%~&8{lW1JSG}lQwG`Gqe623+a^h3u{*MNuSd= z!uypbC4&wvgLhq6F(UKsN4(nFdzu8!Rqf)$2j2MSfdni#GvG1; zWg{1$AWP+ci~yoR;qb`?u7(gCSy{{81K^;;^ZDo`;8y7Sy>yiI5z#Ui#kgdvV9gTAa9Nj6ky z9r*awv|VUKXyxhZUFn(UOVg#U-2LbJlk@Wm-`_A~jB@kw^_uh>O1+yY8X(kY`zuj8 z8>CXI%{s%k@d(j^6|h` zMO9UCKx=tJ=;T|DfY)f5CJPsrkRnG8W18~7UkI{@8GU}aVU^a`xnF;qObW3w6L4?} zO)l6#__dJ|^x;FM3P)@B`noyA(E46^{x$%cZvqZ6fPSN*p^=f3gBpuA3$aD9X@$-^ zfB(;b!08RRLQfas_MRH{Ob|$(|LI6MP$h3&^B)SsUkq7di(vrHco`^C7w2T`5kt3`i|AYG(kHGy-T ziy4j7Df16RRN{pmEY4>%J&35G_vnbPdPLG~kIUv9+d6yB_~@*2=&Xw~vX7RDnJML7R|0Q^Z_h-s z=n}THbPIP5Jj*d%9fvRJB0~P@S_VnR76lEuF7sia3}%rpc#sgA4>Kp_ zQcF=+!wC&eAlwkb?R-a2V^YtZ%9D{iJ z&-vc#mg6(5=w9?W<>xcJypyqVMAHb|8``V6xw(SiitPjPdqM9QyRZ6c2zvmmIts`p zuTtYiJtc3nh@Bu4$su472d>eQMxuw}cO4bZ!)Y-QQ-4|k5bh>21BNs{XgLSy#By8G zb6=MCc~X(9h|NE(t}O<^7{JR5kh+ERa0Z@W{UeUopzbJMNc!>Fn2XLfIbU<$hU!xYJ z+S{@F{1Y5-nX><~pg%JX-ZAH+c(;Z*6Rde`~C&-=Mu^{4U?q~?#GdvLAko3d^0aJwIRUxtN*w|QsHk+(6n*XOg zi9H8N2S>+;#pdpZgH_+^tDy*SSqS9Y_wOe`85tSOLJ4i42!oO|^bGe{tovsjyHG+H`{+3i&h%gbcoZSreJ8xY-I+Fa+7O|HJ@$Veg9LNI z+`uN?Q^T^4>@esRMbv+zqo4HjZ7ZOBYM?5SeGEF{o1IpAD_)l$|9b0OXz!`1!>_8Y z_D=*_o9!&VD4Oj7U^SbXo4ZLO*Yh159QG@6oS_6ggM;$-z#u9)$4CB1gz`2y+`kIt(SnLAd;Kwz6TRj1 zdSh}rg0iwwW`++uknbr{fzuOEPQv&{TaAI`e{9k(uw9}Y%x8NLFq(e|177S=Yu#)f zJp=+YE|2Gb{Q`1wyK&fkL_T>@H0TX6y=VUYq_nY-=t$J+ zK77GH6{}(A2sM6NY$ahl4-#7cfX(2u6>753Bv=@=d0^CboMKMouLe6_X|mg8=4Soq zf5o44T{d_mg!_NkK~TYm)qP!+^uIoiSn2wO*P93KAh4KUI5{}-VmE-6i6X>CsNi{{ zWyFF_>PJE>#1DBW3XhYJV8-tGz zla~kWeb?n>W#8J`VzaWyhU-4E#JT_p?b&N+pO?dKWK6}Lk}5$!cjY@i@~M>WMTa7j zTJN{jzjnIMa*y_744=@E9)>;f~48Cp%8 zdR2r|EdY6IRpAdddUXN#K=se1yCYDb(}CVwwd7*6t)4iXvOH$aJbwKsV6jMM>>y-B;I*e~%^^ zupU8T0y}^|sJWQpgSB*WGBGtW5)-DtohOS-Qi{<`W&kaQALZ#G*u7k;{Zi7w33Jl* zbBIHAEE%I7>h0#F_;N`#M}LGkrm%KJ$i?s)VdFBPXxIqQjla{+t{eG5Kk058E&z;I z>wRx%2p{lhL4%y%1#~>#!i8>rDj5Y{@la|g)IF3?gPuB%cH^aa)7p7huKJGqRon^E z6#+2SK$drWU|`^hGICwgnp7Ux6$VZq6-*jgi1^Pq;U@o;0s{yiNrAlvGE(@+yKM>n z5*mU8NFy>(p?rnTH~o`MNg65%WQWePadP|M;)`{6@77s0H8vht-ls_IK!gDJ@%2<< zV0a2p^4z|7f!>QhXNSVe%lk#IYElOWr4h1vwKtOg{;t-$eFfTe+>2%Hed8ucbod{* z&48Hs;OXh-v z8s3%wo((h%_@N_%QM5{%Os3l|yg5%^l=Xm6+R;DqrHJqt<^t#hs6K(!1%w=K?vS*! z=j`n4ni)WVacwM%_rt}UK9E3n?x_jno; zlP%3g5$pmT-3TDg`&xEK2=^UFl+^rpV-`plLaJXw6iweySXt$tZ6F067uR65tU3=? zYTVq)3I)`M023Vox@%5S^6!y3^TlF-KvfTA%VaEhnLXgGWJenC*iNvlEU0KaR##Ua z-E=*n{nLYU79Br)`+rMr>SS`PZ?l^o4;9DT@IlTSm8fl%MTuW2i++|90hJJ)sI?MsK+trbh>;c;80l=K)}} z3=9$hana2De1%pcb-gh;0uIxzkJKHfNcSu7peT^3HYbt?tWAK08Js;Q@-U9F%{DW* zOu*=>I0^a>yH8TWZF4vvm!+-t-<2UK81>@Ci=mzE?O68FM=GV=@9Zk0;S@ui3W!?h zP|vA)$A)a2SvU>^Ta{M}7c&&n$Hf9i!YFj1h%(|p0|q)(*~OpQ2RhmtYAoOH+G0>q z@X$}FX>ASq_6p!53oW1>3M{)B5L|6Ee0g&Z0lmC}zds;xcHi?%as`6ID&Sqz|xUJ~XH2ESGpqBd-MuUZO$So$_6YoZLp+Ft+nf&oXGN^SCtEi~FF*K9`yFV|8`yZqKD|-6+pP(=REoChlfX-P>jwE&@FlfWCRj>jeVhn-WamYTSZA~PVK3-rOA}v zgw7%fXLsO`EuKyP#*0HsfCQJQw$#;~zJxU~ZwNh7LK@J5Nt?>{)`W>Eph$|#eKhF9 zvG0LT{iDgTtv4$i1(<(ucmUx%ltz;_nI#tN1A1eHVk3DHsfjDv_pgrM{utSEv9QBD zXyj+9h*SURR;rBwOab_|y+F4Zv`VCy*Hz5k4aUC!LqI{%Da;ywmRsFznwQLa3UoMt z--_9|XA5pauptcpsO(%Ot>?CQ!hgA&lS=pjkx^snH6PC7p3&d=0hf!M_Su)Ksx$1V zGj;fjyu)1Bpe)_g)HKaifB^L*z>$r9hx@)Fd~1tQ%yW$uG&fwCWp9Z-HaWr;mX>@oyhUkZhq1+Zd3 z>{<+{6Lj-uwW(k1Z*|{sIoucSaKCxBbb$M=UvrL5*;eV($Mktm%03S~MuIE895oOa z1vbMT@DviM0-Q)zWBn4)@*t44MeF=r61kIh(C+rSgyU-^TlF0tDiW~R<@~>KMRJ*p z=4C06>gX)o-XYrCR{@>#)gR#d>Eb;DN8h(I0mNgVJO-4DM5Dp}0Ul_eJ(heqQvE74 zInvv_pUZ{>a~BY{au7(}KW zJ%xr9+DGyD(KP7i^&tDPk^Pu|+x0XAp1boXHGrBJ4+Xdh^-zgXgzGlj?4b9gs0vJI zNi!&l&*XsU*|^?|^f~EfSSc@vcz=wIVe9GZpMV6;J0G8$jOc>Zqu29E%bHD&eXbNO zH7ea5CU}2-5&vA_Xo&LnQPNMJn&m@&{rc1N=6^RocT(1~HyiRYGo=83yRy>zJ{~ag zR5CcsEi8~SIE;Hinsa)}m7DJ+D~5U*lBA*)b1YruU$}<|Xchd%Zol9l@PrlIEd(@a zW!G!O`H-cK$9SRsBKgoKsCGqz^7~GB8?I6^5N#@ADUx?EplpCqwpHQ()9X8UvDzIZ zIWCY$k1Y$_ByEu*B}V8O7b!OQ!$KCm!jW42l86$m4K8s^t%%)|Y;}I>gI!ieQ?dcG zG>9x>Io}k-Mgn8XfNYz0S(2auG}`{<5Z-MZ0MPF=qr>WN8T?xaDN6(*wwg+Eb6HG` zU7B79sMtT;9eCxW-f~>sJp?`ciQ|0yp#MA5xHl}YyOZ-@=Sh~;Vr^F0jcy;8P~Ay{ z>hoybANh0C z8Vq0leSY1gAqzB4)F zH^g49a7Wm#hsf*-aGLr+?p7bb@HtKWPX?kUDE(M4g4eRF^L%8IOP+KqbZ|k^MPw5M zAW~Y%;)m&0j23w!j&E|QmJXPVpb^yJYox@nbj8}N7OP!8Vr@;4LqLuQG`5dGrrWtB zIBP%z06PF9tqknPVr|5^{t-<$T{9sLFcx1b9VqOK`VDqZI>R{wMolFh4>o$GGD-Kg zoA7X*s(1}>6GhL#99HhIpP>Kh5NIqqIm411ipV$Z;jA%{D_)ex|A3EzAgoj*ud(c( z45vMmSe%%#YmAQa`gPVJ>2oqbA}Dd=ZRc!OyQ*r&RQK3m~#yR^(0%;<~|E7AmUOB+b(2&q;um(Jnuw;kL(OGXTy;Xh1@bvN5unM7uB+*Y`QT?i|G|YXDK_fvh41dwT`K>E}KgNAlhOyQZ!;xuY#^7nn}VEg`^3z+Og(oWc+7Db{4^<-@UQ!u^Bjs&VNrj5EcXZ$QgMFV%At==|H08RfVWyL@w(LAN zFK-wqqb@EQfK*>`Hm31l1p86c=254<98Ia5C}Zx43vDbNvUD&=Y7JWQh-a-mpa+}z z&t|j4dW7=OBJiYTePL4?NpP@CX4ngGr`d?!AgzJF^YeQ#Ut`<{l-OP1zg{kP_z(hi zRblmJqldAAmTqDB!BR=Miekj3Ci`fS$YVpq)u|cRbsTsX%12GX9@)^35D5qz4yOp_ z+&R0c-D{IjP^WlCj88|S8>U{4G^*Tz(C*y#_YL0<1>a|2`UzPp*fulsb7s%%IUleI zOw7!CyA^n+xQFr-L$fbvXn%m*i5vk)@qG4@s$-7>K66(haz7yrOjA=C0zp$$dL^y% zJjr!FujPJo_Q|uK9~XKC^kiJ_E**jQEy|kWZeEh;JAix;;IL%+;X(!TrHrl?b@-Jnh zeclc?dAyC7#=Gml?tIHTG>-e8awp-%Kvk!65GsJn9uy@KRnh%Wxz}#I$$^%zqQ_-C zs_zQNtvYpdh&dnfkUKsj0Scq*4#r~g>%2{T$mCavlVA`p)Xvj0cD-$KBmNDES{CRx#Lm3|#MD*YQe`_8Kd2r%C;IiiGx#SUSz~EbA##^K^mO_(hJ!aBH4N`I-T&mIFl5c4POG; zdu&vs{uBISS_qRo2eb4uITkyFI)=o~M4poKRt6=$BT(EFgBJTFnbe{Uxhh_JF1mhp zhFrrzlar*!#eHHdSaP~w^Yi({awk=7H9^^%sDmkHc7}IMgw~Wp(yNEXFcl-+@*}e~ z+)3(l0$+q>KGkD?YW6+^QY}1bA{4NjjsK&|=adoT-`oL2SVSfowC0tu0_$l;fju=-*lsU6{1l1 zCY)}B-hIDbXc6S1qWbiVjI}w!Jo<;(Cv?5ffyvCrVjn8n;ccLQQRyT1 zM=lB+0(sg$TG$`uqo<8gT`6W1(yjJBoRM;8o?HA6d+z~O)vh!QhoT~)AOfPIf}#{* z)0@%}1ylqD1PjtESW!R$K|0cV@4XAsq<3k8R24-O5V3&u*xO#;WK-0mo^$TK?|r`i zd;T|j&t6$6lgT8RWF}dA!P4^-hpSTZtu1v<#=&N*zS@4GOa06&Ougd|&bF;=Z}tq! zEQqaB8J?vkGuK2jmCKvEE%1Ps{9@IhY$|nK=THGx&cqWn6BVF-FLjLG{PDJtu+0Lm zm?3hi{GB;VmQW4Sz<%`0_crl_l)JL=K5Z618yYtj__ruk?aY|%zTr$RFFxzgZscyz zW?!Y&?##WAtwqFsXbuhM)({_Kb{AuIFy&PU&b8@kebGq{SSGh5Vv};jDLI6eYBJGu zj-7sEC+(lYMaQ=+I3eWKMCui_z2~}KGo^0X*C@QPc4#vbt@w76J7@Y&#g1yT$eq1^ z#p^=0_M;HRP3S$-9L5zaRQ84}O+tL$f572DEl%ns%5)FJxh2k;NGqN;`CPMo`=%Xz zJT5C&QLkE~@W^5#x+W4g96vvIZOz-0! z$f-S6V!O=b;4)DWdfoFd&yw!-iCz2ppMgZG=A>Id^MUNOh^O!vSx$KqN??MwH}cYa zknMWCKlH#yv0(0P%m=u#I6$^aoZYdTh1Pi~_o;ey7ypiRobXmGdH)=u^?h4e?kTAR zcG*`5b@#94c_+=c@BrsWDehV&HMcJ-)djY1+&b#ACV3y{rWdyNE>Bb__$Pa^JA}6p zw1ErjNF&4bt~sa%EIaao-uDmDySu2Hn4Pw}w~h9S3g>Kf-yn8D178gtr%@VhhoRcW zXN)fJda<5_kdSD%`JeN`*xUH-g#ZM@^g*j(z^GW zvC^kbNy%ThuzU&C(}lSG&r;cwBHA5x2d8$m7VhP|N9C2)QcZO~I3&a-mgV`)KLQfo zT*>q*2r!l1tfaXs~ti3ikb%pk-*-G7K_eHROVFcts=6}3LqSUui zq-|afA42vXk3J4v8#^7K9$dWf586?W?Hfh8*?71W862xbkyFJd?sqF4PLec3I0Si;lMn8#oqR&}Olw+B;i#qsfC(c%~#RH$z^)u= z!vxJ6C)EW4>yw@%aO$d>8}pQn;J?Qa5(Y2=pn~`DVCS@ka{1q%-*CXr&Tb(b50gG~ z=FD#JTbw_C-oeq)(c#>=a~2T3$HvA+8qQyWz3Trv&f3~q($?1Y0=TPzfr0OXf`Z6C zK0bt-n;Y5L*_rI(;zB?iIUpc_92OQvgoK2=_w@8^hdNz=e3Jh+Y64}`0o`UmV;|5< zI5{~HR#sMomzNijl9EDHR#pt5+$|(%M1^OG`^5{Qdn2XcGb+2_d4Rqj8=- zz-I=B;OYL`b%AoIfNnh~a}an;20sDz0y1c%Az+nh7u6tBe6dCw12>A7&9#sF0dO%w*hW=cD`vLHpoRgD7217HE zot;lUeAt()tn5LEiu#d-g#$1ULP7y#41f0HG>{hZ_)zj<9C>+pWM~sIoOmMx{RL1b z_W#K`z_{Ds?d?4VPY@BIp`k>7e?Rapo!GGh)9gY;5cs=ug}JlR5z3cR;`V0JdnNv$GT0H-p%?(FbS^0h&Yb73lxZ{L?rvPQVSP zCez8V8%D;m0LI4$=(F%Xxqsb3Uy+4&e0%z|CDGH_WD(09pj4rmP8WAQ(!!-Wf;R3IA*@L0wD9rqa-nGoQ4#0&@tML<2m2ofn6AP4~W zqwtyd@6-OukJFM!p;LMB7zzdWh9Bp_WyZv$;_*Pl#>5hSetuZ?{jF?;w%P@}C&xgZ z^72Zusw(Dt6yT4Vx<-%%1%t`_{2pXp-gCsdb+&MICJPAo<2pdwOs9+b$q#XuPDmR- z=HqjLymoN4Bl!5-0cQ}T$9(yg50_n3R6@q{URGun8TymnU$p_uiF7a@4Z_-mGQS)? z90oMUU;w-^fIpfL6bzxztEcBeE-$Zzaoq)TPz2Cn3-tIwn#k|c|Bx5Q5tw#fUOV!c zGr>ehM<>Xf24eqy%nL`T18&D?NH>`emwo6^7#R*v6XD_EczzfJ`Tg5@8tP|;=O;X$ z#K&iXT*J6xfu2~v8w>tuf}h`uY+&F{elR*pe)IY@0YHBB@+H~dKN0w7LteKI&s)(` z>3_%zd=Dfr?at1TwjKV(;Ea=+E�ErX@G&&I#<#oifXHS2CiSZ{e@1#Qg?10BXKu63> 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