Пример #1
0
        public void apply_a_filter_on_fixture_graph_at_the_namespace_level()
        {
            var filter = new FixtureFilter()
            {
                Name = "ST.Grammars",
                Type = FilterType.Namespace
            };

            var composite = new CompositeFilter <FixtureGraph>();

            filter.Apply(composite);

            composite.Matches(new FixtureGraph()
            {
                FixtureNamespace = "ST.Grammars"
            }).ShouldBeTrue();
            composite.Matches(new FixtureGraph()
            {
                FixtureNamespace = "ST.Grammars.More"
            }).ShouldBeTrue();
            composite.Matches(new FixtureGraph()
            {
                FixtureNamespace = "More.ST.Grammars.More"
            }).ShouldBeFalse();
            composite.Matches(new FixtureGraph()
            {
                FixtureNamespace = "SomethingDifferent"
            }).ShouldBeFalse();
        }
Пример #2
0
        protected override void theContextIs()
        {
            theSelectors = new IFixtureSelector[]
            {
                MockRepository.GenerateMock <IFixtureSelector>(),
                MockRepository.GenerateMock <IFixtureSelector>(),
                MockRepository.GenerateMock <IFixtureSelector>()
            };

            theActionSelectors = new IStartupActionSelector[]
            {
                new StartupActionSelector("a", false),
                new StartupActionSelector("b", true),
                new StartupActionSelector("c", false),
                new StartupActionSelector("d", true)
            };

            ClassUnderTest.StartupActions = theActionSelectors;

            ClassUnderTest.Selectors = theSelectors;

            _f1 = FixtureFilter.Namespace("a");
            _f2 = FixtureFilter.Namespace("b");
            _f3 = FixtureFilter.Namespace("c");
            _f4 = FixtureFilter.Namespace("d");
            _f5 = FixtureFilter.Namespace("e");

            theSelectors[0].Expect(x => x.GetFilters()).Return(new[] { _f1 });
            theSelectors[1].Expect(x => x.GetFilters()).Return(new[] { _f2, _f3 });
            theSelectors[2].Expect(x => x.GetFilters()).Return(new[] { _f4, _f5 });


            ClassUnderTest.Save();
        }
Пример #3
0
        public void return_a_blank_workspace_if_test_has_no_parent()
        {
            var test      = new Test("something");
            var workspace = test.GetWorkspace();

            workspace.ShouldNotBeNull();
            workspace.Filters.ShouldHaveTheSameElementsAs(FixtureFilter.All());
        }
Пример #4
0
        public void workspace_filter_returns_always_when_it_has_no_explicit_filters()
        {
            var workspace = new WorkspaceFilter();

            workspace.FilterCount.ShouldEqual(0);

            workspace.Filters.ShouldHaveTheSameElementsAs(FixtureFilter.All());
        }
Пример #5
0
        public void apply_the_always_filter()
        {
            var composite = new CompositeFilter <Type>();

            FixtureFilter.All().Apply(composite);

            composite.Matches(typeof(MathFixture)).ShouldBeTrue();
            composite.Matches(typeof(AnotherFixture)).ShouldBeTrue();
            composite.Matches(this.GetType()).ShouldBeTrue();
        }
Пример #6
0
        public void cherry_pick_filters_from_children_2()
        {
            child2.Selected.IsChecked = true;
            f2.Select(true);
            f1.Select(true);

            selector.GetFilters().ShouldHaveTheSameElementsAs(
                FixtureFilter.Fixture("fixture2"),
                FixtureFilter.Namespace("NS1-2"),
                FixtureFilter.Fixture("fixture1"));
        }
Пример #7
0
        public void selecting_the_top_level_results_in_a_single_filter()
        {
            selector.Selected.IsChecked = true;
            selector.EnableChildren();

            // Doesn't matter, namespace rules
            f1.Select(true);
            f2.Select(true);
            f3.Select(true);

            selector.GetFilters().ShouldHaveTheSameElementsAs(FixtureFilter.Namespace("NS1"));
        }
        public void get_filter_when_selected()
        {
            selector.Select(true);

            var filters = selector.GetFilters();

            filters.Count().ShouldEqual(1);

            FixtureFilter fixtureFilter = filters.First();

            fixtureFilter.Name.ShouldEqual(dto.Name);
            fixtureFilter.Type.ShouldEqual(FilterType.Fixture);
        }
Пример #9
0
 public IEnumerable <FixtureFilter> GetFilters()
 {
     if (IsSelected())
     {
         yield return(FixtureFilter.Namespace(_ns));
     }
     else
     {
         foreach (FixtureFilter fixtureFilter in children.SelectMany(x => x.GetFilters()))
         {
             yield return(fixtureFilter);
         }
     }
 }
Пример #10
0
        public void return_the_workspace_filter_from_parent_suite()
        {
            var workspaceSuite = new WorkspaceSuite("suite")
            {
                Filter = new WorkspaceFilter()
                {
                    Filters = new FixtureFilter[] { FixtureFilter.Namespace("NS1") }
                }
            };

            var test = new Test("something");

            workspaceSuite.AddTest(test);

            test.GetWorkspace().ShouldBeTheSameAs(workspaceSuite.Filter);
        }
Пример #11
0
        public void apply_a_filter_on_fixture_graph_at_the_type_level()
        {
            var filter = new FixtureFilter
            {
                Name = typeof(MathFixture).GetFixtureAlias(),
                Type = FilterType.Fixture
            };

            var composite = new CompositeFilter <FixtureGraph>();

            filter.Apply(composite);

            composite.Matches(new FixtureGraph("Math")).ShouldBeTrue();
            composite.Matches(new FixtureGraph("Math1")).ShouldBeFalse();
            composite.Matches(new FixtureGraph("SomethingElse")).ShouldBeFalse();
        }
Пример #12
0
        public void apply_a_filter_at_the_type_level()
        {
            var filter = new FixtureFilter
            {
                Name = typeof(MathFixture).GetFixtureAlias(),
                Type = FilterType.Fixture
            };

            var composite = new CompositeFilter <Type>();

            filter.Apply(composite);

            composite.Matches(typeof(MathFixture)).ShouldBeTrue();

            composite.Matches(typeof(AnotherFixture)).ShouldBeFalse();

            composite.Matches(GetType()).ShouldBeFalse();
        }
Пример #13
0
        public void apply_a_filter_at_namespace_level()
        {
            var filter = new FixtureFilter
            {
                Name = typeof(MathFixture).Namespace,
                Type = FilterType.Namespace
            };

            var composite = new CompositeFilter <Type>();

            filter.Apply(composite);

            composite.Matches(typeof(MathFixture)).ShouldBeTrue();

            typeof(AnotherFixture).IsInNamespace(typeof(MathFixture).Namespace);
            composite.Matches(typeof(AnotherFixture)).ShouldBeTrue();

            composite.Matches(GetType()).ShouldBeFalse();
        }