コード例 #1
0
        public void Instantiate_MembersSyntacticallyCorrect_ArgumentException()
        {
            var sutXml          = new MembersXml();
            var ctrXml          = new SyntacticallyCorrectXml();
            var testCaseFactory = new TestCaseFactory();

            Assert.Throws <ArgumentException>(delegate { testCaseFactory.Instantiate(sutXml, ctrXml); });
        }
コード例 #2
0
ファイル: TestCaseFactoryTest.cs プロジェクト: WimDeRons/NBi
        public void Instantiate_MembersEqualTo_ArgumentException()
        {
            var sutXml          = new MembersXml();
            var ctrXml          = new EqualToXml();
            var testCaseFactory = new TestCaseFactory();

            Assert.Throws <ArgumentException>(delegate { testCaseFactory.Instantiate(sutXml, ctrXml); });
        }
コード例 #3
0
ファイル: AbstractMembersBuilder.cs プロジェクト: ywscr/NBi
        protected override void BaseSetup(AbstractSystemUnderTestXml sutXml, AbstractConstraintXml ctrXml)
        {
            if (!(sutXml is MembersXml))
            {
                throw new ArgumentException("Constraint must be a 'MembesrXml'");
            }

            SystemUnderTestXml = (MembersXml)sutXml;
        }
コード例 #4
0
ファイル: TestCaseFactoryTest.cs プロジェクト: WimDeRons/NBi
        public void IsHandling_MembersExists_False()
        {
            var sutXml          = new MembersXml();
            var ctrXml          = new ExistsXml();
            var testCaseFactory = new TestCaseFactory();

            var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType());

            Assert.That(actual, Is.False);
        }
コード例 #5
0
ファイル: TestCaseFactoryTest.cs プロジェクト: WimDeRons/NBi
        public void IsHandling_MembersMatchPattern_True()
        {
            var sutXml          = new MembersXml();
            var ctrXml          = new MatchPatternXml();
            var testCaseFactory = new TestCaseFactory();

            var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType());

            Assert.That(actual, Is.True);
        }
コード例 #6
0
ファイル: TestCaseFactoryTest.cs プロジェクト: WimDeRons/NBi
        public void IsHandling_MembersSyntacticallyCorrect_False()
        {
            var sutXml          = new MembersXml();
            var ctrXml          = new SyntacticallyCorrectXml();
            var testCaseFactory = new TestCaseFactory();

            var actual = testCaseFactory.IsHandling(sutXml.GetType(), ctrXml.GetType());

            Assert.That(actual, Is.False);
        }
コード例 #7
0
ファイル: AbstractMembersBuilder.cs プロジェクト: ywscr/NBi
 protected object InstantiateSystemUnderTest(MembersXml sutXml)
 {
     try
     {
         return(InstantiateMembersDiscovery(sutXml));
     }
     catch (ArgumentOutOfRangeException)
     {
         throw new ArgumentOutOfRangeException("sutXml", sutXml, "The system-under-test for members must be a hierarchy or a level or a set");
     }
 }
コード例 #8
0
        public void GetSystemUnderTest_ConnectionStringInDefault_CorrectlyInitialized()
        {
            var sutXml = new MembersXml();

            var item = new HierarchyXml()
            {
                Perspective = "perspective",
                Dimension   = "dimension",
                Caption     = "hierarchy",
                Settings    = new SettingsXml()
                {
                    Defaults = new List <DefaultXml>()
                    {
                        new DefaultXml()
                        {
                            ApplyTo          = SettingsXml.DefaultScope.SystemUnderTest,
                            ConnectionString = new ConnectionStringXml()
                            {
                                Inline = "connectionString-default"
                            }
                        }
                    }
                }
            };

            sutXml.Item = item;

            var ctrXml = new OrderedXml();

            var discoFactoMockFactory = new Mock <DiscoveryRequestFactory>();

            discoFactoMockFactory.Setup(dfs =>
                                        dfs.Build(
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <List <string> >(),
                                            It.IsAny <List <PatternValue> >(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>()))
            .Returns(new MembersDiscoveryRequest());
            var discoFactoMock = discoFactoMockFactory.Object;

            var builder = new MembersOrderedBuilder(discoFactoMock);

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var sut = builder.GetSystemUnderTest();

            Assert.That(sut, Is.InstanceOf <MembersDiscoveryRequest>());
            discoFactoMockFactory.Verify(dfm => dfm.Build("connectionString-default", It.IsAny <string>(), It.IsAny <List <string> >(), It.IsAny <List <PatternValue> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), null));
        }
コード例 #9
0
ファイル: MembersCountBuilderTest.cs プロジェクト: ywscr/NBi
        public void GetSystemUnderTest_ConnectionStringInReference_CorrectlyInitialized()
        {
            var sutXml = new MembersXml();

            var item = new HierarchyXml();

            sutXml.Item           = item;
            item.Perspective      = "perspective";
            item.Dimension        = "dimension";
            item.Caption          = "hierarchy";
            item.ConnectionString = "@ref-connStr";

            var settingsXml = new SettingsXml();

            settingsXml.References.Add(new ReferenceXml()
            {
                Name = "ref-connStr", ConnectionString = new ConnectionStringXml()
                {
                    Inline = "connectionString-ref"
                }
            });
            sutXml.Settings = settingsXml;

            var ctrXml = new CountXml();

            var discoFactoMockFactory = new Mock <DiscoveryRequestFactory>();

            discoFactoMockFactory.Setup(dfs =>
                                        dfs.Build(
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <List <string> >(),
                                            It.IsAny <List <PatternValue> >(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>()))
            .Returns(new MembersDiscoveryRequest());
            var discoFactoMock = discoFactoMockFactory.Object;

            var builder = new MembersCountBuilder(discoFactoMock);

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var sut = builder.GetSystemUnderTest();

            Assert.That(sut, Is.InstanceOf <MembersDiscoveryRequest>());
            discoFactoMockFactory.Verify(dfm => dfm.Build("connectionString-ref", It.IsAny <string>(), It.IsAny <List <string> >(), It.IsAny <List <PatternValue> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), null));
        }
コード例 #10
0
        public void GetSystemUnderTest_ConnectionStringInDefault_CorrectlyInitialized()
        {
            var sutXml = new MembersXml()
            {
                ChildrenOf = "memberCaption",
                Item       = new HierarchyXml()
                {
                    Perspective = "perspective",
                    Dimension   = "dimension",
                    Caption     = "hierarchy",
                }
            };

            var defXml = new DefaultXml
            {
                ConnectionString = new ConnectionStringXml()
                {
                    Inline = "connectionString-default"
                }
            };

            sutXml.Default = defXml;

            var ctrXml = new ContainXml();

            var discoFactoMockFactory = new Mock <DiscoveryRequestFactory>();

            discoFactoMockFactory.Setup(dfs =>
                                        dfs.Build(
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <List <string> >(),
                                            It.IsAny <List <PatternValue> >(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>()))
            .Returns(new MembersDiscoveryRequest());
            var discoFactoMock = discoFactoMockFactory.Object;

            var builder = new MembersContainBuilder(discoFactoMock);

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var sut = builder.GetSystemUnderTest();

            Assert.That(sut, Is.InstanceOf <MembersDiscoveryRequest>());
            discoFactoMockFactory.Verify(dfm => dfm.Build("connectionString-default", It.IsAny <string>(), It.IsAny <List <string> >(), It.IsAny <List <PatternValue> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), null));
        }
コード例 #11
0
        public void GetSystemUnderTest_BuildWithHierarchy_CorrectCallToDiscoverFactory()
        {
            var sutXml = new MembersXml
            {
                ChildrenOf = "memberCaption"
            };
            var item = new HierarchyXml();

            sutXml.Item           = item;
            item.ConnectionString = "connectionString";
            item.Perspective      = "perspective";
            item.Dimension        = "dimension";
            item.Caption          = "hierarchy";
            var ctrXml = new ContainXml
            {
                Items = new List <string>()
                {
                    "caption"
                }
            };

            var discoFactoMockFactory = new Mock <DiscoveryRequestFactory>();

            discoFactoMockFactory.Setup(dfs =>
                                        dfs.Build(
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <List <string> >(),
                                            It.IsAny <List <PatternValue> >(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>()))
            .Returns(new MembersDiscoveryRequest());
            var discoFactoMock = discoFactoMockFactory.Object;

            var builder = new MembersContainBuilder(discoFactoMock);

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var sut = builder.GetSystemUnderTest();

            Assert.That(sut, Is.InstanceOf <MembersDiscoveryRequest>());
            discoFactoMockFactory.Verify(dfm => dfm.Build("connectionString", "memberCaption", It.IsAny <List <string> >(), It.IsAny <List <PatternValue> >(), "perspective", "dimension", "hierarchy", null));
        }
コード例 #12
0
ファイル: TestCaseFactoryTest.cs プロジェクト: WimDeRons/NBi
        public void Instantiate_MembersMatchPattern_TestCase()
        {
            var sutXml             = new MembersXml();
            var ctrXml             = new MatchPatternXml();
            var builderMockFactory = new Mock <ITestCaseBuilder>();

            builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml, TestConfiguration.Default, It.IsAny <Dictionary <string, ITestVariable> >()));
            builderMockFactory.Setup(b => b.Build());
            builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new object());
            builderMockFactory.Setup(b => b.GetConstraint()).Returns(new NBi.NUnit.Member.MatchPatternConstraint());
            var builder = builderMockFactory.Object;

            var testCaseFactory = new TestCaseFactory();

            testCaseFactory.Register(typeof(MembersXml), typeof(MatchPatternXml), builder);

            var tc = testCaseFactory.Instantiate(sutXml, ctrXml);

            Assert.That(tc, Is.Not.Null);
            builderMockFactory.VerifyAll();
        }
コード例 #13
0
        public void GetConstraint_BuildWithQuery_CorrectConstraint()
        {
            var sutXml = new MembersXml()
            {
                Item = new HierarchyXml()
                {
                    ConnectionString = "connStr"
                }
            };
            var ctrXml = new EquivalentToXml()
            {
                Query = new QueryXml()
                {
                    ConnectionString = "Data Source=mhknbn2kdz.database.windows.net;Initial Catalog=AdventureWorks2012;User Id=sqlfamily;password=sqlf@m1ly",
                    InlineQuery      = "select * from one-column-table"
                }
            };
            var discoFactoStubFactory = new Mock <DiscoveryRequestFactory>();

            discoFactoStubFactory.Setup(dfs =>
                                        dfs.Build(
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <List <string> >(),
                                            It.IsAny <List <PatternValue> >(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>()))
            .Returns(new MembersDiscoveryRequest());
            var discoFactoStub = discoFactoStubFactory.Object;

            var builder = new MembersEquivalentToBuilder(discoFactoStub);

            builder.Setup(sutXml, ctrXml, null, null, new ServiceLocator());
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EquivalentToConstraint>());
        }
コード例 #14
0
        public void GetConstraint_BuildWithItems_CorrectConstraint()
        {
            var sutXml = new MembersXml()
            {
                Item = new HierarchyXml()
                {
                    ConnectionString = "connStr"
                }
            };
            var ctrXml = new EquivalentToXml()
            {
                Items = new List <string>()
                {
                    "Hello", "World"
                }
            };

            var discoFactoStubFactory = new Mock <DiscoveryRequestFactory>();

            discoFactoStubFactory.Setup(dfs =>
                                        dfs.Build(
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <List <string> >(),
                                            It.IsAny <List <PatternValue> >(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>()))
            .Returns(new MembersDiscoveryRequest());
            var discoFactoStub = discoFactoStubFactory.Object;

            var builder = new MembersEquivalentToBuilder(discoFactoStub);

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EquivalentToConstraint>());
        }
コード例 #15
0
        protected MembersDiscoveryRequest InstantiateMembersDiscovery(MembersXml membersXml)
        {
            string perspective = null, dimension = null, hierarchy = null, level = null;

            if (membersXml.Item == null)
            {
                throw new ArgumentNullException();
            }

            if (!(membersXml.Item is HierarchyXml || membersXml.Item is LevelXml))
            {
                throw new ArgumentOutOfRangeException();
            }

            if (membersXml.Item is HierarchyXml)
            {
                perspective = ((HierarchyXml)membersXml.Item).Perspective;
                dimension   = ((HierarchyXml)membersXml.Item).Dimension;
                hierarchy   = membersXml.Item.Caption;
            }
            if (membersXml.Item is LevelXml)
            {
                perspective = ((LevelXml)membersXml.Item).Perspective;
                dimension   = ((LevelXml)membersXml.Item).Dimension;
                hierarchy   = ((LevelXml)membersXml.Item).Hierarchy;
                level       = membersXml.Item.Caption;
            }

            var disco = discoveryFactory.Build(
                membersXml.Item.GetConnectionString(),
                membersXml.ChildrenOf,
                membersXml.Exclude.Items,
                BuildPatterns(membersXml.Exclude.Patterns),
                perspective,
                dimension,
                hierarchy,
                level);

            return(disco);
        }
コード例 #16
0
        public void Instantiate_MembersContains_ArgumentException()
        {
            var sutXml = new MembersXml();
            var ctrXml = new ContainXml();

            var builderMockFactory = new Mock <ITestCaseBuilder>();

            builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml, TestConfiguration.Default));
            builderMockFactory.Setup(b => b.Build());
            builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new object());
            builderMockFactory.Setup(b => b.GetConstraint()).Returns(new NBi.NUnit.Member.ContainConstraint("expected"));
            var builder = builderMockFactory.Object;

            var testCaseFactory = new TestCaseFactory();

            testCaseFactory.Register(typeof(MembersXml), typeof(ContainXml), builder);

            var tc = testCaseFactory.Instantiate(sutXml, ctrXml);

            Assert.That(tc, Is.Not.Null);
            builderMockFactory.VerifyAll();
        }
コード例 #17
0
        public void Instantiate_MembersOrdered_ArgumentException()
        {
            var sutXml = new MembersXml();
            var ctrXml = new OrderedXml();

            var builderMockFactory = new Mock <ITestCaseBuilder>();

            builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml));
            builderMockFactory.Setup(b => b.Build());
            builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new object());
            builderMockFactory.Setup(b => b.GetConstraint()).Returns(new OrderedConstraint());
            var builder = builderMockFactory.Object;

            var testCaseFactory = new TestCaseFactory();

            testCaseFactory.Register(typeof(MembersXml), typeof(OrderedXml), builder);

            var tc = testCaseFactory.Instantiate(sutXml, ctrXml);

            Assert.That(tc, Is.Not.Null);
            builderMockFactory.VerifyAll();
        }
コード例 #18
0
ファイル: TestCaseFactoryTest.cs プロジェクト: ywscr/NBi
        public void Instantiate_MembersOrdered_ArgumentException()
        {
            var sutXml = new MembersXml();
            var ctrXml = new OrderedXml();

            var builderMockFactory = new Mock <ITestCaseBuilder>();

            builderMockFactory.Setup(b => b.Setup(sutXml, ctrXml, NBi.Core.Configuration.Configuration.Default, It.IsAny <Dictionary <string, ITestVariable> >(), It.IsAny <ServiceLocator>()));
            builderMockFactory.Setup(b => b.Build());
            builderMockFactory.Setup(b => b.GetSystemUnderTest()).Returns(new object());
            builderMockFactory.Setup(b => b.GetConstraint()).Returns(new OrderedConstraint());
            var builder = builderMockFactory.Object;

            var testCaseFactory = new TestCaseFactory();

            testCaseFactory.Register(typeof(MembersXml), typeof(OrderedXml), builder);

            var tc = testCaseFactory.Instantiate(sutXml, ctrXml);

            Assert.That(tc, Is.Not.Null);
            builderMockFactory.VerifyAll();
        }
コード例 #19
0
        public void GetConstraint_BuildWithPredefinedItems_CorrectConstraint()
        {
            var sutXml = new MembersXml();
            var item   = new HierarchyXml();

            sutXml.Item = item;
            var ctrXml = new EquivalentToXml();

            ctrXml.PredefinedItems = new PredefinedItemsXml()
            {
                Type = PredefinedMembers.DaysOfWeek, Language = "en"
            };

            var discoFactoStubFactory = new Mock <DiscoveryRequestFactory>();

            discoFactoStubFactory.Setup(dfs =>
                                        dfs.Build(
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <List <string> >(),
                                            It.IsAny <List <PatternValue> >(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>()))
            .Returns(new MembersDiscoveryRequest());
            var discoFactoStub = discoFactoStubFactory.Object;

            var builder = new MembersEquivalentToBuilder(discoFactoStub);

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EquivalentToConstraint>());
        }
コード例 #20
0
        public void GetConstraint_BuildWithRange_CorrectConstraint()
        {
            var sutXml = new MembersXml();
            var item   = new HierarchyXml();

            sutXml.Item = item;
            var ctrXml = new EquivalentToXml();

            ctrXml.Range = new IntegerRangeXml()
            {
                Start = 1, End = 10, Step = 2
            };

            var discoFactoStubFactory = new Mock <DiscoveryRequestFactory>();

            discoFactoStubFactory.Setup(dfs =>
                                        dfs.Build(
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <List <string> >(),
                                            It.IsAny <List <PatternValue> >(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>(),
                                            It.IsAny <string>()))
            .Returns(new MembersDiscoveryRequest());
            var discoFactoStub = discoFactoStubFactory.Object;

            var builder = new MembersEquivalentToBuilder(discoFactoStub);

            builder.Setup(sutXml, ctrXml);
            builder.Build();
            var ctr = builder.GetConstraint();

            Assert.That(ctr, Is.InstanceOf <EquivalentToConstraint>());
        }
コード例 #21
0
ファイル: AbstractMembersBuilder.cs プロジェクト: ywscr/NBi
        protected MembersDiscoveryRequest InstantiateMembersDiscovery(MembersXml membersXml)
        {
            string perspective = null, dimension = null, hierarchy = null, level = null, set = null;
            MembersDiscoveryRequest disco = null;

            if (membersXml.Item == null)
            {
                throw new ArgumentNullException();
            }

            if (!(membersXml.Item is HierarchyXml || membersXml.Item is LevelXml || membersXml.Item is SetXml))
            {
                throw new ArgumentOutOfRangeException();
            }

            if (membersXml.Item is HierarchyXml)
            {
                perspective = ((HierarchyXml)membersXml.Item).Perspective;
                dimension   = ((HierarchyXml)membersXml.Item).Dimension;
                hierarchy   = membersXml.Item.Caption;
            }
            if (membersXml.Item is LevelXml)
            {
                perspective = ((LevelXml)membersXml.Item).Perspective;
                dimension   = ((LevelXml)membersXml.Item).Dimension;
                hierarchy   = ((LevelXml)membersXml.Item).Hierarchy;
                level       = membersXml.Item.Caption;
            }
            if (membersXml.Item is HierarchyXml || membersXml.Item is LevelXml)
            {
                var connectionString = new ConnectionStringHelper().Execute(membersXml.Item, Xml.Settings.SettingsXml.DefaultScope.SystemUnderTest);

                disco = discoveryFactory.Build(
                    connectionString,
                    membersXml.ChildrenOf,
                    membersXml.Exclude.Items,
                    BuildPatterns(membersXml.Exclude.Patterns),
                    perspective,
                    dimension,
                    hierarchy,
                    level);
            }

            if (membersXml.Item is SetXml)
            {
                perspective = ((SetXml)membersXml.Item).Perspective;
                set         = membersXml.Item.Caption;
                var connectionString = new ConnectionStringHelper().Execute(membersXml.Item, Xml.Settings.SettingsXml.DefaultScope.SystemUnderTest);

                disco = discoveryFactory.Build(
                    connectionString,
                    membersXml.Exclude.Items,
                    BuildPatterns(membersXml.Exclude.Patterns),
                    perspective,
                    set);
            }

            if (disco == null)
            {
                throw new ArgumentException();
            }

            return(disco);
        }