Example #1
0
        public void Execute_SimpleDataTable_ParentGroupGenerated()
        {
            var state  = BuildInitialState();
            var action = new GenerateTestGroupBySuiteAction(@"$group$|$subgroup$");

            action.Execute(state);

            Assert.That(state.Suite.Children, Has.Count.EqualTo(1));
            var group = state.Suite.Children[0];

            Assert.That(group, Is.TypeOf <GroupNode>());
            Assert.That(group.Parent, Is.EqualTo(group.Root));
            Assert.That(group.Name, Is.EqualTo("a"));
        }
Example #2
0
        public void Execute_SimpleDataTable_SubGroupsGenerated()
        {
            var state  = BuildInitialState();
            var action = new GenerateTestGroupBySuiteAction(@"$group$|$subgroup$");

            action.Execute(state);

            Assert.That(state.Suite.Children, Has.Count.EqualTo(1));
            var parentGroup = state.Suite.Children[0] as BranchNode;

            Assert.That(parentGroup.Children, Has.Count.EqualTo(2));
            Assert.That(parentGroup.Children, Has.All.TypeOf <GroupNode>());
            Assert.That(parentGroup.Children[0].Name, Is.EqualTo("b"));
            Assert.That(parentGroup.Children[1].Name, Is.EqualTo("d"));
        }
Example #3
0
        public void Execute_SimpleDataTable_TestsGenerated()
        {
            var state  = BuildInitialState();
            var action = new GenerateTestGroupBySuiteAction(@"$group$|$subgroup$");

            action.Execute(state);

            Assert.That(state.Suite.Children, Has.Count.EqualTo(1));
            var parentGroup = state.Suite.Children[0] as BranchNode;

            foreach (var childGroup in parentGroup.Children.Cast <GroupNode>())
            {
                Assert.That(childGroup.Children, Has.Count.EqualTo(1));
                Assert.That(childGroup.Children, Has.All.TypeOf <TestNode>());
                Assert.That(childGroup.Children[0].Name, Is.EqualTo("c").Or.EqualTo("e"));
            }
        }
        /// <summary>
        /// Processes each record.
        /// </summary>
        protected override void ProcessRecord()
        {
            if (!String.IsNullOrEmpty(CaseScope))
            {
                IAction scopeAction = new ScopeCaseAction(CaseScope);
                scopeAction.Execute(TestSuite);
                WriteVerbose(scopeAction.Display);
            }

            string templateActionName = ParameterSetName.Split(new[] { '-' }, 2)[0];
            string actionName         = ParameterSetName.Split(new[] { '-' }, 2)[1];

            if (actionName == "Static")
            {
                IAction testCaseAction = ProcessStaticAction(templateActionName);
                testCaseAction.Execute(TestSuite);
                WriteVerbose(testCaseAction.Display);
            }
            else
            {
                ProcessTemplate(templateActionName).Execute(TestSuite);
                ProcessCases(actionName).Execute(TestSuite);

                if (String.IsNullOrEmpty(GroupPath))
                {
                    IAction suiteAction = new GenerateTestSuiteAction(false);
                    suiteAction.Execute(TestSuite);
                    WriteVerbose(suiteAction.Display);
                }
                else
                {
                    IAction suiteAction = new GenerateTestGroupBySuiteAction(GroupPath);
                    suiteAction.Execute(TestSuite);
                    WriteVerbose(suiteAction.Display);
                }
            }
            WriteObject(TestSuite);
        }