Description of TestScenarioExecCmdletBase.
Inheritance: TestExecCmdletBase
        public void RunTestScenario(
            TestScenarioExecCmdletBase cmdlet,
            ITestSuite testSuite,
            ITestScenario testScenario)
        {
            // run BeforeScenario scriptblocks
            //if (null != testSuite) {
            // 20140208
            // if (null == testSuite || null == testScenario || 0 >= testScenario.TestCases.Count) return;
            if (null == testSuite || null == testScenario || 0 == testScenario.TestCases.Count) return;
            // if (null != testSuite && null != testScenario && 0 < testScenario.TestCases.Count) {

            cmdlet.runTwoScriptBlockCollections(
                // 20141211
                // testSuite.BeforeScenario,
                testSuite.BeforeScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                null, // alternate scriptblocks
                cmdlet,
                testSuite.BeforeScenarioParameters);
            //}
            
            foreach (ITestCase testCase in testScenario.TestCases) {
                cmdlet.runTwoScriptBlockCollections(
                    // 20141211
                    // testScenario.BeforeTest,
                    testScenario.BeforeTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                    null, // alternate scriptblocks
                    cmdlet,
                    testScenario.BeforeTestParameters);
                
                cmdlet.runTwoScriptBlockCollections(
                    // 20141211
                    // testCase.TestCode,
                    testCase.TestCode.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                    null,
                    cmdlet,
                    testCase.TestCodeParameters);
                
                cmdlet.runTwoScriptBlockCollections(
                    // 20141211
                    // testScenario.AfterTest,
                    testScenario.AfterTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                    null, // alternate scriptblocks
                    cmdlet,
                    testScenario.AfterTestParameters);
            }
            
            // run AfterScenario scriptblocks
            //if (null != testSuite) {
            //if (null != testSuite && null != testScenario && 0 < testScenario.TestCases.Count) {
            cmdlet.runTwoScriptBlockCollections(
                // 20141211
                // testSuite.AfterScenario,
                testSuite.AfterScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                null, // alternate scriptblocks
                cmdlet,
                testSuite.AfterScenarioParameters);
        }
        public void RunTestScenario(
            TestScenarioExecCmdletBase cmdlet,
            ITestSuite testSuite,
            ITestScenario testScenario)
        {
            // run BeforeScenario scriptblocks
            //if (null != testSuite) {
            // 20140208
            // if (null == testSuite || null == testScenario || 0 >= testScenario.TestCases.Count) return;
            if (null == testSuite || null == testScenario || 0 == testScenario.TestCases.Count)
            {
                return;
            }
            // if (null != testSuite && null != testScenario && 0 < testScenario.TestCases.Count) {

            cmdlet.runTwoScriptBlockCollections(
                // 20141211
                // testSuite.BeforeScenario,
                testSuite.BeforeScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                null, // alternate scriptblocks
                cmdlet,
                testSuite.BeforeScenarioParameters);
            //}

            foreach (ITestCase testCase in testScenario.TestCases)
            {
                cmdlet.runTwoScriptBlockCollections(
                    // 20141211
                    // testScenario.BeforeTest,
                    testScenario.BeforeTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                    null, // alternate scriptblocks
                    cmdlet,
                    testScenario.BeforeTestParameters);

                cmdlet.runTwoScriptBlockCollections(
                    // 20141211
                    // testCase.TestCode,
                    testCase.TestCode.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                    null,
                    cmdlet,
                    testCase.TestCodeParameters);

                cmdlet.runTwoScriptBlockCollections(
                    // 20141211
                    // testScenario.AfterTest,
                    testScenario.AfterTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                    null, // alternate scriptblocks
                    cmdlet,
                    testScenario.AfterTestParameters);
            }

            // run AfterScenario scriptblocks
            //if (null != testSuite) {
            //if (null != testSuite && null != testScenario && 0 < testScenario.TestCases.Count) {
            cmdlet.runTwoScriptBlockCollections(
                // 20141211
                // testSuite.AfterScenario,
                testSuite.AfterScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(),
                null, // alternate scriptblocks
                cmdlet,
                testSuite.AfterScenarioParameters);
        }