Example #1
0
        public void Matches_GivenCommand_CommandExecuteCalledOnce()
        {
            var exp         = "Expected hierarchy";
            var description = new CommandDescription(Target.Hierarchies,
                                                     new CaptionFilter[]
            {
                new CaptionFilter(Target.Perspectives, "perspective-name")
                , new CaptionFilter(Target.Dimensions, "dimension-caption")
            });

            var actuals = new string[] { "Actual hierarchy 1" };

            var commandMock = new Mock <IStructureDiscoveryCommand>();

            commandMock.Setup(cmd => cmd.Execute()).Returns(actuals);
            commandMock.Setup(cmd => cmd.Description).Returns(description);


            var containsConstraint = new ContainConstraint(exp)
            {
            };

            //Method under test
            containsConstraint.Matches(commandMock.Object);

            //Test conclusion
            commandMock.Verify(cmd => cmd.Execute(), Times.Once());
        }
Example #2
0
        public void WriteTo_FailingAssertionForMultipleHierarchies_TextContainsFewKeyInfo()
        {
            var exp = new List <string>();

            exp.Add("Expected h1");
            exp.Add("Expected h2");

            var request = new DiscoveryRequestFactory().BuildDirect(
                "connectionString",
                DiscoveryTarget.Hierarchies,
                new List <IFilter>()
            {
                new CaptionFilter("perspective-name", DiscoveryTarget.Perspectives)
                , new CaptionFilter("dimension-caption", DiscoveryTarget.Dimensions)
            });


            var elStub   = new Mock <IField>();
            var el1      = elStub.Object;
            var el2      = elStub.Object;
            var elements = new List <IField>();

            elements.Add(el1);
            elements.Add(el2);

            var commandStub = new Mock <AdomdDiscoveryCommand>("connectionString");

            commandStub.Setup(f => f.Execute())
            .Returns(elements);

            var factoryStub = new Mock <AdomdDiscoveryCommandFactory>();

            factoryStub.Setup(f => f.BuildExact(request))
            .Returns(commandStub.Object);
            var factory = factoryStub.Object;

            var containsConstraint = new ContainConstraint(exp)
            {
                CommandFactory = factory
            };

            //Method under test
            string assertionText = null;

            try
            {
                Assert.That(request, containsConstraint);
            }
            catch (AssertionException ex)
            {
                assertionText = ex.Message;
            }

            //Test conclusion
            Assert.That(assertionText, Is.StringContaining("perspective-name").And
                        .StringContaining("dimension-caption").And
                        .StringContaining("hierarchies").And
                        .StringContaining("Expected h1"));
        }
Example #3
0
        public void Matches_ExpectedContainedInActual_Success()
        {
            var discovery = new DiscoveryRequestFactory().BuildDirect(
                ConnectionStringReader.GetAdomd()
                , DiscoveryTarget.Perspectives
                , new List <IFilter>());

            var ctr = new ContainConstraint("Adventure Works");

            //Method under test
            Assert.That(discovery, ctr);
        }
Example #4
0
        public void Matches_ExpectedNotContainedInActual_Failure()
        {
            var discovery = new DiscoveryRequestFactory().BuildDirect(
                ConnectionStringReader.GetAdomd()
                , DiscoveryTarget.Perspectives
                , new List <IFilter>());

            var ctr = new ContainConstraint("Not existing");

            //Method under test
            Assert.That(ctr.Matches(discovery), Is.False);
        }
Example #5
0
        public void WriteTo_FailingAssertionForMember_TextContainsFewKeyInfo()
        {
            var exp = "Expected member";
            var cmd = new DiscoveryRequestFactory().Build(
                "connectionString",
                string.Empty,
                "perspective-name",
                "dimension-caption",
                "hierarchy-caption",
                "level-caption");

            var memberStub = new Mock <NBi.Core.Analysis.Member.Member>();
            var member1    = memberStub.Object;
            var member2    = memberStub.Object;
            var members    = new MemberResult();

            members.Add(member1);
            members.Add(member2);

            var meStub = new Mock <MembersAdomdEngine>();

            meStub.Setup(engine => engine.GetMembers(cmd))
            .Returns(members);
            var me = meStub.Object;

            var containsConstraint = new ContainConstraint(exp)
            {
                MembersEngine = me
            };

            //Method under test
            string assertionText = null;

            try
            {
                Assert.That(cmd, containsConstraint);
            }
            catch (AssertionException ex)
            {
                assertionText = ex.Message;
            }

            //Test conclusion
            Assert.That(assertionText, Is.StringContaining("perspective-name").And
                        .StringContaining("dimension-caption").And
                        .StringContaining("hierarchy-caption").And
                        .StringContaining("level-caption").And
                        .StringContaining("member").And
                        .StringContaining("Expected member"));
        }
Example #6
0
        public void Matches_ExpectedNotContainedInActual_Failure()
        {
            var provider  = new StructureDiscoveryFactoryProvider();
            var factory   = provider.Instantiate(ConnectionStringReader.GetAdomd());
            var discovery = factory.Instantiate(
                Target.Perspectives
                , TargetType.Object
                , new CaptionFilter[] { });

            var ctr = new ContainConstraint("Not existing");

            //Method under test
            Assert.That(ctr.Matches(discovery), Is.False);
        }
Example #7
0
        public void Matches_ExpectedContainedInActual_Success()
        {
            var provider  = new StructureDiscoveryFactoryProvider();
            var factory   = provider.Instantiate(ConnectionStringReader.GetAdomd());
            var discovery = factory.Instantiate(
                Target.Perspectives
                , TargetType.Object
                , new CaptionFilter[] { });

            var ctr = new ContainConstraint("Adventure Works");

            //Method under test
            Assert.That(discovery, ctr);
        }
Example #8
0
        public void ContainConstraint_FindExistingDimension_Success()
        {
            var provider  = new StructureDiscoveryFactoryProvider();
            var factory   = provider.Instantiate(ConnectionStringReader.GetAdomd());
            var discovery = factory.Instantiate(
                Target.Dimensions
                , TargetType.Object
                , new CaptionFilter[] { new CaptionFilter(Target.Perspectives, "Adventure Works") }
                );

            var ctr = new ContainConstraint("Product");

            //Method under test
            Assert.That(discovery, ctr);
        }
Example #9
0
        public void ContainConstraint_FindNonExistingMeasureWithoutMeasureGroup_Failure()
        {
            var discovery = new DiscoveryRequestFactory().BuildDirect(
                ConnectionStringReader.GetAdomd()
                , DiscoveryTarget.Measures
                , new List <IFilter>()
            {
                new CaptionFilter("Adventure Works", DiscoveryTarget.Perspectives)
            });

            var ctr = new ContainConstraint("Not existing");

            //Method under test
            Assert.That(ctr.Matches(discovery), Is.False);
        }
Example #10
0
        public void ContainConstraint_FindNonExistingDimension_Failure()
        {
            var provider  = new StructureDiscoveryFactoryProvider();
            var factory   = provider.Instantiate(ConnectionStringReader.GetAdomd());
            var discovery = factory.Instantiate(
                Target.Dimensions
                , TargetType.Object
                , new CaptionFilter[] { new CaptionFilter(Target.Perspectives, "Adventure Works") }
                );

            var ctr = new ContainConstraint("Not existing");

            //Method under test
            Assert.That(ctr.Matches(discovery), Is.False);
        }
Example #11
0
        public void ContainConstraint_FindExistingMeasureWithoutMeasureGroup_Success()
        {
            var discovery = new DiscoveryRequestFactory().BuildDirect(
                ConnectionStringReader.GetAdomd()
                , DiscoveryTarget.Measures
                , new List <IFilter>()
            {
                new CaptionFilter("Adventure Works", DiscoveryTarget.Perspectives)
            });

            var ctr = new ContainConstraint("Reseller Order Count");

            //Method under test
            Assert.That(discovery, ctr);
        }
Example #12
0
        public void ContainConstraint_FindNonExistingHierarchyBellowSpecificDimension_Failure()
        {
            var discovery = new DiscoveryRequestFactory().BuildDirect(
                ConnectionStringReader.GetAdomd()
                , DiscoveryTarget.Hierarchies
                , new List <IFilter>()
            {
                new CaptionFilter("Adventure Works", DiscoveryTarget.Perspectives)
                , new CaptionFilter("Product", DiscoveryTarget.Dimensions)
            });

            var ctr = new ContainConstraint("Not existing");

            //Method under test
            Assert.That(ctr.Matches(discovery), Is.False);
        }
Example #13
0
        public void ContainConstraint_FindExistingDimension_Success()
        {
            var discovery = new DiscoveryRequestFactory().BuildDirect(
                ConnectionStringReader.GetAdomd()
                , DiscoveryTarget.Dimensions
                , new List <IFilter>()
            {
                new CaptionFilter("Adventure Works", DiscoveryTarget.Perspectives)
            });



            var ctr = new ContainConstraint("Product");

            //Method under test
            Assert.That(discovery, ctr);
        }
Example #14
0
        public void ContainConstraint_FindExistingLevel_Success()
        {
            var discovery = new DiscoveryRequestFactory().BuildDirect(
                ConnectionStringReader.GetAdomd()
                , DiscoveryTarget.Levels
                , new List <IFilter>()
            {
                new CaptionFilter("Adventure Works", DiscoveryTarget.Perspectives)
                , new CaptionFilter("Customer", DiscoveryTarget.Dimensions)
                , new CaptionFilter("Customer Geography", DiscoveryTarget.Hierarchies)
            });

            var ctr = new ContainConstraint("City");

            //Method under test
            Assert.That(discovery, ctr);
        }
Example #15
0
        public void ContainConstraint_FindExistingMeasureWithCaseNonMatching_Success()
        {
            var provider  = new StructureDiscoveryFactoryProvider();
            var factory   = provider.Instantiate(ConnectionStringReader.GetAdomd());
            var discovery = factory.Instantiate(
                Target.Measures
                , TargetType.Object
                , new CaptionFilter[] {
                new CaptionFilter(Target.Perspectives, "Adventure Works")
                , new CaptionFilter(Target.MeasureGroups, "Reseller Orders")
            });

            var ctr = new ContainConstraint("Reseller Order Count".ToLower());

            ctr = ctr.IgnoreCase;

            //Method under test
            Assert.That(discovery, ctr);
        }
Example #16
0
        public void WriteDescriptionTo_FailureExist_FailureRenderExpectedCalled()
        {
            //Mock the writer
            var stubWriter = new Mock <global::NUnit.Framework.Constraints.MessageWriter>();
            var writer     = stubWriter.Object;

            var mockedFailure = Mock.Of <IItemsMessageFormatter>(f => f.RenderExpected() == "failure actual");

            //Buiding object used during test
            var containConstraint = new ContainConstraint("Third member");

            containConstraint.Failure = mockedFailure;
            //Call the method to test

            containConstraint.WriteDescriptionTo(writer);

            //Test conclusion
            Mock.Get(mockedFailure).Verify(f => f.RenderExpected());
        }
Example #17
0
        public void Matches_GivenDiscoveryRequest_CommandCalledOnceWithParametersComingFromDiscoveryCommand()
        {
            var exp     = "Expected measure";
            var request = new DiscoveryRequestFactory().BuildDirect(
                "connectionString",
                DiscoveryTarget.MeasureGroups,
                new List <IFilter>()
            {
                new CaptionFilter("perspective-name", DiscoveryTarget.Perspectives)
                , new CaptionFilter("measure-group", DiscoveryTarget.MeasureGroups)
            });


            var elStub   = new Mock <IField>();
            var el1      = elStub.Object;
            var el2      = elStub.Object;
            var elements = new List <IField>();

            elements.Add(el1);
            elements.Add(el2);

            var commandMock = new Mock <AdomdDiscoveryCommand>("connectionString");

            commandMock.Setup(f => f.Execute())
            .Returns(elements);

            var factoryStub = new Mock <AdomdDiscoveryCommandFactory>();

            factoryStub.Setup(f => f.BuildExact(request))
            .Returns(commandMock.Object);
            var factory = factoryStub.Object;

            var containsConstraint = new ContainConstraint(exp)
            {
                CommandFactory = factory
            };

            //Method under test
            containsConstraint.Matches(request);

            //Test conclusion
            commandMock.Verify(c => c.Execute(), Times.Once());
        }
Example #18
0
        public void WriteTo_FailingAssertionForMultipleHierarchies_TextContainsFewKeyInfo()
        {
            var exp = new string[] { "Expected hierarchy 1", "Expected hierarchy 2" };

            var description = new CommandDescription(Target.Hierarchies,
                                                     new CaptionFilter[]
            {
                new CaptionFilter(Target.Perspectives, "perspective-name")
                , new CaptionFilter(Target.Dimensions, "dimension-caption")
            });

            var actuals = new string[] { "Actual hierarchy 1", "Actual hierarchy 2" };

            var commandStub = new Mock <IStructureDiscoveryCommand>();

            commandStub.Setup(cmd => cmd.Execute()).Returns(actuals);
            commandStub.Setup(cmd => cmd.Description).Returns(description);

            var containsConstraint = new ContainConstraint(exp)
            {
            };

            //Method under test
            string assertionText = null;

            try
            {
                Assert.That(commandStub.Object, containsConstraint);
            }
            catch (AssertionException ex)
            {
                assertionText = ex.Message;
            }

            //Test conclusion
            Assert.That(assertionText, Is.StringContaining("perspective-name").And
                        .StringContaining("dimension-caption").And
                        .StringContaining("hierarchies").And
                        .StringContaining("Expected hierarchy 1").And
                        .StringContaining("Expected hierarchy 2"));
        }
Example #19
0
        public void WriteTo_FailingAssertionForTwoPerspectives_TextContainsFewKeyInfo()
        {
            var exp         = new string[] { "Expected perspective 1", "Expected perspective 2" };
            var description = new CommandDescription(Target.Perspectives,
                                                     new CaptionFilter[] { });


            var actuals = new string[] { "Actual perspective 1", "Actual perspective 2" };

            var commandStub = new Mock <IStructureDiscoveryCommand>();

            commandStub.Setup(cmd => cmd.Execute()).Returns(actuals);
            commandStub.Setup(cmd => cmd.Description).Returns(description);

            var containsConstraint = new ContainConstraint(exp)
            {
            };

            //Method under test
            string assertionText = null;

            try
            {
                Assert.That(commandStub.Object, containsConstraint);
            }
            catch (AssertionException ex)
            {
                assertionText = ex.Message;
            }

            //Test conclusion
            Assert.That(assertionText, Is.StringContaining("find the perspectives named").And
                        .StringContaining("Expected perspective 1").And
                        .StringContaining("Expected perspective 2").And
                        .StringContaining(".").And
                        .StringContaining("Actual perspective 1").And
                        .StringContaining("Actual perspective 2").And
                        .Not.StringContaining("contain"));
        }
Example #20
0
        public void Matches_GivenMemberCommand_EngineCalledOnceWithParametersComingFromMemberCommand()
        {
            var exp = "Expected member";
            var cmd = new DiscoveryRequestFactory().Build(
                "ConnectionString",
                "member-caption",
                "perspective",
                "dimension",
                null,
                null);

            var memberStub = new Mock <NBi.Core.Analysis.Member.Member>();
            var member1    = memberStub.Object;
            var member2    = memberStub.Object;
            var members    = new MemberResult();

            members.Add(member1);
            members.Add(member2);

            var meMock = new Mock <MembersAdomdEngine>();

            meMock.Setup(engine => engine.GetMembers(cmd))
            .Returns(members);
            var me = meMock.Object;

            var containsConstraint = new ContainConstraint(exp)
            {
                MembersEngine = me
            };

            //Method under test
            containsConstraint.Matches(cmd);

            //Test conclusion
            meMock.Verify(engine => engine.GetMembers(cmd), Times.Once());
        }