public void GetMembers_ByHierarchy_ReturnListMembersWithCorrectLevelNumber() { //Buiding object used during test var mae = new MembersAdomdEngine(); var disco = new DiscoveryRequestFactory().Build( ConnectionStringReader.GetAdomd(), string.Empty, "Adventure Works", "Geography", "Geography", null ); //Call the method to test var actual = mae.GetMembers(disco); ////Assertion Assert.That(actual, Has.Count.GreaterThan(0)); //0 = All Assert.That(List.Map(actual).Property("LevelNumber"), Has.Some.EqualTo(0)); //1 = Country Assert.That(List.Map(actual).Property("LevelNumber"), Has.Some.EqualTo(1)); //2 = State/Province Assert.That(List.Map(actual).Property("LevelNumber"), Has.Some.EqualTo(2)); //3 = Town Assert.That(List.Map(actual).Property("LevelNumber"), Has.Some.EqualTo(3)); //4 = Zip code Assert.That(List.Map(actual).Property("LevelNumber"), Has.Some.EqualTo(4)); //Nothing else Assert.That(List.Map(actual).Property("LevelNumber"), Has.All.LessThanOrEqualTo(4)); }
public void Matches_GivenDiscoverCommand_EngineCalledOnceWithParametersComingFromDiscoveryCommand() { var disco = new DiscoveryRequestFactory().Build( "ConnectionString", "member-caption", "perspective", "dimension", "hierarchy", 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(disco)) .Returns(members); var me = meMock.Object; var orderedConstraint = new OrderedConstraint() { MembersEngine = me }; //Method under test orderedConstraint.Matches(disco); //Test conclusion meMock.Verify(engine => engine.GetMembers(disco), Times.Once()); }
public void Matches_SqlQueryAndMembers_Succesful() { var command = new SqlCommand(); command.Connection = new SqlConnection(ConnectionStringReader.GetSqlClient()); command.CommandText = "select " + "'Executive General and Administration' union select " + "'Inventory Management' union select " + "'Manufacturing' union select " + "'Research and Development' union select " + "'Quality Assurance' union select " + "'Sales and Marketing' "; var discovery = new DiscoveryRequestFactory().Build( ConnectionStringReader.GetAdomd() , "Corporate" , "Adventure Works" , "Department" , "Departments" , null); var ctr = new EquivalentToConstraint(command); Assert.That(discovery, ctr); }
public void Matches_SqlQueryAndMembers_Succesful() { var sql = "select " + "'Executive General and Administration' union select " + "'Inventory Management' union select " + "'Manufacturing' union select " + "'Research and Development' union select " + "'Quality Assurance' union select " + "'Sales and Marketing' "; var args = new QueryResultSetResolverArgs(new QueryResolverArgs(sql, ConnectionStringReader.GetSqlClient(), null, null, new TimeSpan(0, 0, 30), System.Data.CommandType.Text)); var factory = new ResultSetResolverFactory(new ServiceLocator()); var resolver = factory.Instantiate(args); var discovery = new DiscoveryRequestFactory().Build( ConnectionStringReader.GetAdomd() , "Corporate" , "Adventure Works" , "Department" , "Departments" , null); var ctr = new EquivalentToConstraint(resolver); Assert.That(discovery, ctr); }
public void WriteTo_FailingAssertionForSpecific_TextContainsFewKeyInfo() { var cmd = new DiscoveryRequestFactory().Build( "connectionString", "member-caption", "perspective-name", "dimension-caption", "hierarchy-caption", null); var member1Stub = new Mock <NBi.Core.Analysis.Member.Member>(); var member1 = member1Stub.Object; member1.Caption = "A"; var member2Stub = new Mock <NBi.Core.Analysis.Member.Member>(); var member2 = member2Stub.Object; member2.Caption = "B"; 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 orderedConstraint = new OrderedConstraint() { MembersEngine = me }; orderedConstraint.Specific(new List <object>() { "B", "A" }); //var assertionText = orderedConstraint.CreatePredicate(); //Method under test string assertionText = null; try { Assert.That(cmd, orderedConstraint); } 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("member-caption").And .StringContaining("children").And .StringContaining("specifically")); }
public void WriteTo_FailingAssertionForListOfLevels_TextContainsFewKeyInfo() { var exp = new string[] { "Expected level 1", "Expected level 2" }; var request = new DiscoveryRequestFactory().BuildDirect( "connectionString", DiscoveryTarget.Levels, new List <IFilter>() { new CaptionFilter("perspective-name", DiscoveryTarget.Perspectives) , new CaptionFilter("dimension-caption", DiscoveryTarget.Dimensions) , new CaptionFilter("hierarchy-caption", DiscoveryTarget.Hierarchies) }); 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 EquivalentToConstraint(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("exact").And .StringContaining("perspective-name").And .StringContaining("dimension-caption").And .StringContaining("hierarchy-caption").And .StringContaining("levels").And .StringContaining("Expected level 1").And .StringContaining("Expected level 2")); }
public void WriteTo_FailingAssertionForPerspectiveWithNot_TextContainsFewKeyInfo() { var request = new DiscoveryRequestFactory().BuildDirect( "connectionString", DiscoveryTarget.Perspectives, new List <IFilter>() { new CaptionFilter("expected-perspective-name", DiscoveryTarget.Perspectives) }); var elements = new List <IField>(); elements.Add(new Perspective("expected-perspective-name")); var commandExactStub = new Mock <AdomdDiscoveryCommand>("connectionString"); commandExactStub.Setup(f => f.Execute()) .Returns(elements); var commandExternalStub = new Mock <AdomdDiscoveryCommand>("connectionString"); commandExternalStub.Setup(f => f.Execute()) .Returns(elements); var factoryStub = new Mock <AdomdDiscoveryCommandFactory>(); factoryStub.Setup(f => f.BuildExact(request)) .Returns(commandExactStub.Object); elements.Add(new Perspective("unexpected-perspective-name")); factoryStub.Setup(f => f.BuildExternal(It.IsAny <MetadataDiscoveryRequest>())) .Returns(commandExternalStub.Object); var factory = factoryStub.Object; var existsConstraint = new ExistsConstraint() { CommandFactory = factory }; var notExistsConstraint = new NotConstraint(existsConstraint); //Method under test string assertionText = null; try { Assert.That(request, notExistsConstraint); } catch (AssertionException ex) { assertionText = ex.Message; } //Test conclusion Console.WriteLine(assertionText); Assert.That(assertionText, Is.StringContaining("not find")); }
public void Build_MemberCaptionFilled_MemberCaptionIsSet() { var facto = new DiscoveryRequestFactory(); var disco = facto.Build("connectionString", "parent-member", "perspective", "dimension", "hierarchy", null); //Assertion Assert.That(disco.MemberCaption, Is.EqualTo("parent-member")); }
public void Build_MemberCaptionNotFilled_FunctionIsSetToMembers() { var facto = new DiscoveryRequestFactory(); var disco = facto.Build("connectionString", string.Empty, "perspective", "dimension", "hierarchy", null); //Assertion Assert.That(disco.Function.ToLower(), Is.EqualTo("Members".ToLower())); }
public void WriteTo_FailingAssertionForHierarchy_TextContainsCaptionOfExpectedHierarchyAndCaptionOfFilters() { var request = new DiscoveryRequestFactory().BuildDirect( "connectionString", DiscoveryTarget.Hierarchies, new List <IFilter>() { new CaptionFilter("perspective-name", DiscoveryTarget.Perspectives) , new CaptionFilter("dimension-caption", DiscoveryTarget.Dimensions) , new CaptionFilter("expected-hierarchy-caption", DiscoveryTarget.Hierarchies) }); var elements = new List <IField>(); var commandExactStub = new Mock <AdomdDiscoveryCommand>("connectionString"); commandExactStub.Setup(f => f.Execute()) .Returns(elements); var commandExternalStub = new Mock <AdomdDiscoveryCommand>("connectionString"); commandExternalStub.Setup(f => f.Execute()) .Returns(elements); var factoryStub = new Mock <AdomdDiscoveryCommandFactory>(); factoryStub.Setup(f => f.BuildExact(request)) .Returns(commandExactStub.Object); factoryStub.Setup(f => f.BuildExternal(It.IsAny <MetadataDiscoveryRequest>())) .Returns(commandExternalStub.Object); var factory = factoryStub.Object; var existsConstraint = new ExistsConstraint() { CommandFactory = factory }; //Method under test string assertionText = null; try { Assert.That(request, existsConstraint); } catch (AssertionException ex) { assertionText = ex.Message; } //Test conclusion Console.WriteLine(assertionText); Assert.That(assertionText, Is.StringContaining("perspective-name").And .StringContaining("dimension-caption").And .StringContaining("expected-hierarchy-caption")); }
public void WriteTo_FailingAssertionForDimensionWithMinorMistake_TextContainsTheSuggestionOfValue() { var request = new DiscoveryRequestFactory().BuildDirect( "connectionString", DiscoveryTarget.Dimensions, new List <IFilter>() { new CaptionFilter("perspective-name", DiscoveryTarget.Perspectives) , new CaptionFilter("expected-dimension-caption", DiscoveryTarget.Dimensions) }); var commandExactStub = new Mock <AdomdDiscoveryCommand>("connectionString"); commandExactStub.Setup(f => f.Execute()) .Returns(new List <Dimension>()); var commandExternalStub = new Mock <AdomdDiscoveryCommand>("connectionString"); commandExternalStub.Setup(f => f.Execute()) .Returns(new List <Dimension>() { new Dimension("Dimension", "expected-dimension-catpion"), //two letters permutted new Dimension("Toto", "Toto") }); var factoryStub = new Mock <AdomdDiscoveryCommandFactory>(); factoryStub.Setup(f => f.BuildExact(request)) .Returns(commandExactStub.Object); factoryStub.Setup(f => f.BuildExternal(It.IsAny <MetadataDiscoveryRequest>())) .Returns(commandExternalStub.Object); var factory = factoryStub.Object; var existsConstraint = new ExistsConstraint() { CommandFactory = factory }; //Method under test string assertionText = null; try { Assert.That(request, existsConstraint); } catch (AssertionException ex) { assertionText = ex.Message; } //Test conclusion Console.WriteLine(assertionText); Assert.That(assertionText, Is.StringContaining("The value 'expected-dimension-catpion' is close to your expectation.")); }
public void WriteTo_FailingAssertionForBetween_TextContainsFewKeyInfo() { var cmd = new DiscoveryRequestFactory().Build( "connectionString", "member-caption", "perspective-name", "dimension-caption", "hierarchy-caption", 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 meStub = new Mock <MembersAdomdEngine>(); meStub.Setup(engine => engine.GetMembers(cmd)) .Returns(members); var me = meStub.Object; var countConstraint = new CountConstraint() { MembersEngine = me }; countConstraint = countConstraint.MoreThan(8); countConstraint = countConstraint.LessThan(12); //Method under test string assertionText = null; try { Assert.That(cmd, countConstraint); } 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("member-caption").And .StringContaining("children").And .StringContaining("between").And .StringContaining("8").And .StringContaining("12")); }
public void WriteTo_FailingAssertionForOneMeasureGroup_TextContainsFewKeyInfo() { 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-caption", 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 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("measure-group-caption").And .StringContaining("Expected measure")); }
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); }
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); }
public void Matches_ActualEqualToExpectation_Success() { var discovery = new DiscoveryRequestFactory().BuildDirect( ConnectionStringReader.GetAdomd() , DiscoveryTarget.Perspectives , new List <IFilter>()); var expected = new string[] { "Adventure Works", "Channel Sales", "Direct Sales", "Finance", "Mined Customers", "Sales Summary", "Sales Targets" }; var ctr = new SubsetOfConstraint(expected); //Method under test Assert.That(discovery, ctr); }
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")); }
public void ExistsConstraint_ExistingPerspectiveButWrongCaseWithIgnoreCaseFalse_Failure() { var discovery = new DiscoveryRequestFactory().BuildDirect( ConnectionStringReader.GetAdomd() , DiscoveryTarget.Perspectives , new List <IFilter>() { new CaptionFilter("Adventure Works".ToLower(), DiscoveryTarget.Perspectives) }); var ctr = new ExistsConstraint(); //Method under test Assert.Throws <AssertionException>(delegate { Assert.That(discovery, ctr); }); }
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); }
public void Matches_ActualEqualToExpectationButCaseNonMatching_Success() { var discovery = new DiscoveryRequestFactory().BuildDirect( ConnectionStringReader.GetAdomd() , DiscoveryTarget.Perspectives , new List <IFilter>()); var expected = new string[] { "Adventure Works".ToLower(), "Channel Sales".ToUpper(), "Direct Sales", "Finance", "Sales Summary", "Sales Targets" }; var ctr = new EquivalentToConstraint(expected); ctr = ctr.IgnoreCase; //Method under test Assert.That(discovery, ctr); }
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); }
public void Matches_GivenDiscoveryRequestFailing_InvestigateCommandCalledOnce() { var request = new DiscoveryRequestFactory().BuildDirect( "connectionString", DiscoveryTarget.MeasureGroups, new List <IFilter>() { new CaptionFilter("perspective-name", DiscoveryTarget.Perspectives) , new CaptionFilter("measure-group", DiscoveryTarget.MeasureGroups) , new CaptionFilter("measure", DiscoveryTarget.Measures) }); var elements = new List <IField>(); var commandExactStub = new Mock <AdomdDiscoveryCommand>("connectionString"); commandExactStub.Setup(f => f.Execute()) .Returns(elements); var commandExternalMock = new Mock <AdomdDiscoveryCommand>("connectionString"); commandExternalMock.Setup(f => f.Execute()) .Returns(elements); var factoryStub = new Mock <AdomdDiscoveryCommandFactory>(); factoryStub.Setup(f => f.BuildExact(request)) .Returns(commandExactStub.Object); factoryStub.Setup(f => f.BuildExternal(It.IsAny <MetadataDiscoveryRequest>())) .Returns(commandExternalMock.Object); var factory = factoryStub.Object; var ctr = new ExistsConstraint() { CommandFactory = factory }; //Method under test try { Assert.That(request, ctr); } catch { } //Test conclusion commandExternalMock.Verify(c => c.Execute(), Times.Once()); }
public void LinkedToConstraint_ExistingPerspectiveNotExistingDimensionAndExistingMeasureGroup_Failure() { var discovery = new DiscoveryRequestFactory().BuildRelation( ConnectionStringReader.GetAdomd() , DiscoveryTarget.MeasureGroups , new List <IFilter>() { new CaptionFilter("Adventure Works", DiscoveryTarget.Perspectives) , new CaptionFilter("Not existing", DiscoveryTarget.Dimensions) }); var ctr = new LinkedToConstraint("Reseller Sales"); //Method under test Assert.Throws <AssertionException>(delegate { Assert.That(discovery, ctr); }); }
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); }
public void LinkedToConstraint_ExistingPerspectiveDimensionAndMeasureGroupLinked_Success() { var discovery = new DiscoveryRequestFactory().BuildRelation( ConnectionStringReader.GetAdomd() , DiscoveryTarget.MeasureGroups , new List <IFilter>() { new CaptionFilter("Adventure Works", DiscoveryTarget.Perspectives) , new CaptionFilter("Customer", DiscoveryTarget.Dimensions) }); var ctr = new LinkedToConstraint("Internet Sales"); //Method under test Assert.That(discovery, ctr); }
public void GetPartialMetadata_MeasureGroupsForCubeFinance_OneElement() { var disco = new DiscoveryRequestFactory().BuildDirect( ConnectionStringReader.GetAdomd(), DiscoveryTarget.MeasureGroups, new List <IFilter>() { new CaptionFilter("Finance", DiscoveryTarget.Perspectives), }); var factory = new AdomdDiscoveryCommandFactory(); var cmd = factory.BuildExact(disco); var structs = cmd.Execute(); Assert.That(structs.Count(), Is.EqualTo(2)); }
public void Matches_ActualMoreThanExpectation_Failure() { var discovery = new DiscoveryRequestFactory().BuildDirect( ConnectionStringReader.GetAdomd() , DiscoveryTarget.Perspectives , new List <IFilter>()); var expectedStrings = new string[] { "Adventure Works", "Channel Sales", "Direct Sales", "Finance", "Mined Customers", "Sales Summary", "Sales Targets" }; var expected = new List <string>(); expected.AddRange(expectedStrings); expected.RemoveAt(0); var ctr = new SubsetOfConstraint(expected); //Method under test Assert.That(ctr.Matches(discovery), Is.False); }
public void GetPartialMetadata_TabularMeasureGroupsForInternetOperation_ThreeElements() { var disco = new DiscoveryRequestFactory().BuildDirect( ConnectionStringReader.GetAdomdTabular(), DiscoveryTarget.MeasureGroups, new List <IFilter>() { new CaptionFilter("Internet Operation", DiscoveryTarget.Perspectives), }); var factory = new AdomdDiscoveryCommandFactory(); var cmd = factory.BuildExact(disco); var structs = cmd.Execute(); Assert.That(structs.Count(), Is.EqualTo(3)); }
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); }
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); }