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_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()); }
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_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_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 Matches_OneCaptionNotContainedInMembers_Failure() { //Buiding object used during test var members = new MemberResult(); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[First member]", "First member", 1, 0)); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[Second member]", "Second member", 2, 0)); var containConstraint = new NBi.NUnit.Member.ContainConstraint("Third member"); //Call the method to test var res = containConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_ExactlyWronglySpecified_Validated() { var members = new MemberResult(); members.Add("First member"); members.Add("Second member"); var countConstraint = new CountConstraint(); countConstraint.Exactly(1); //Method under test var res = countConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_OneCaptionContainedInMembers_Validated() { //Buiding object used during test var members = new MemberResult(); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[First member]", "First member", 1, 0)); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[Second member]", "Second member", 2, 0)); var equivalentConstraint = new NBi.NUnit.Member.EquivalentToConstraint(new List<string>() { "First member", "Second member" }); //Call the method to test var res = equivalentConstraint.Matches(members); //Test conclusion Assert.That(res, Is.True); }
public void Matches_TwoCaptionsBothContainedInMembers_Validated() { //Buiding object used during test var members = new MemberResult(); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[First member]", "First member", 1, 0)); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[Second member]", "Second member", 2, 0)); var containConstraint = new NBi.NUnit.Member.ContainConstraint(new string[] { "First member", "Second member" }); //Call the method to test var res = containConstraint.Matches(members); //Test conclusion Assert.That(res, Is.True); }
public void Matches_OneCaptionNotContainedInMembers_Failure() { //Buiding object used during test var members = new MemberResult(); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[First member]", "First member", 1, 0)); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[Second member]", "Second member", 2, 0)); var containConstraint = new NBi.NUnit.Member.ContainConstraint("Third member"); //Call the method to test var res = containConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_AlphabeticallyNotCorrectlyOrdered_Failed() { var members = new MemberResult(); members.Add("A member"); members.Add("C member"); members.Add("B member"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Alphabetical; //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void WriteActualValueTo_OneCaptionNotContainedInMoreThan15Members_DisplayOnlyFirstMembers() { //Mock the writer var mockWriter = new Mock <global::NUnit.Framework.Constraints.MessageWriter>(); var writer = mockWriter.Object; //Buiding object used during test var members = new MemberResult(); for (int i = 0; i < 25; i++) { members.Add(new NBi.Core.Analysis.Member.Member(string.Format("[Hierarchy].[member {0}]", i), string.Format("member {0}", i), i, 0)); } var containConstraint = new NBi.NUnit.Member.ContainConstraint("Searched member"); //Call the method to test containConstraint.Matches(members); containConstraint.WriteActualValueTo(writer); //Test conclusion var shortList = members.Take(10); mockWriter.Verify(wr => wr.WriteActualValue(shortList)); mockWriter.Verify(wr => wr.WriteActualValue(It.Is <string>(str => str.Contains("15") && str.Contains("other")))); }
public void Matches_LessThanAndMoreThanWronglySpecifiedForLessThan_Validated() { var members = new MemberResult(); members.Add("First member"); members.Add("Second member"); var countConstraint = new CountConstraint(); countConstraint.MoreThan(1); countConstraint.LessThan(2); //Method under test var res = countConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_RegexCorrectlySpecified_Validated() { var members = new MemberResult(); members.Add("800-555-5555"); members.Add("212-666-1234"); var matchPatternConstraint = new MatchPatternConstraint(); matchPatternConstraint = matchPatternConstraint.Regex(@"^[2-9]\d{2}-\d{3}-\d{4}$"); //Method under test var res = matchPatternConstraint.Matches(members); //Test conclusion Assert.That(res, Is.True); }
public void Matches_RegexWronglySpecified_Validated() { var members = new MemberResult(); members.Add("000-000-0000"); members.Add("2126661234"); var matchPatternConstraint = new MatchPatternConstraint(); matchPatternConstraint = matchPatternConstraint.Regex(@"^[2-9]\d{2}-\d{3}-\d{4}$"); //Method under test var res = matchPatternConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_LessThanCorrectlySpecified_Validated() { var members = new MemberResult(); members.Add("First member"); members.Add("Second member"); var countConstraint = new CountConstraint(); countConstraint.LessThan(3); //Method under test var res = countConstraint.Matches(members); //Test conclusion Assert.That(res, Is.True); }
public void Matches_MoreThanWronglySpecified_Validated() { var members = new MemberResult(); members.Add("First member"); members.Add("Second member"); var countConstraint = new CountConstraint(); countConstraint.MoreThan(2); //Method under test var res = countConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_ChronologicalNotCorrectlyOrdered_Failed() { System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-be"); var members = new MemberResult(); members.Add("20/10/2010"); members.Add("3/10/2011"); members.Add("5/2/2011"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Chronological; //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_NumericalNotCorrectlyOrdered_Failed() { var members = new MemberResult(); members.Add("1"); members.Add("100"); members.Add("5"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Numerical; //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_AlphabeticallyNotCorrectlyOrdered_Failed() { var members = new MemberResult(); members.Add("A member"); members.Add("C member"); members.Add("B member"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Alphabetical; //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_ReverseCorrectlyOrdered_Validated() { var members = new MemberResult(); members.Add("C member"); members.Add("B member"); members.Add("A member"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Descending; //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.True); }
public void Matches_ChronologicalNotCorrectlyOrdered_Failed() { System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-be"); var members = new MemberResult(); members.Add("20/10/2010"); members.Add("3/10/2011"); members.Add("5/2/2011"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Chronological; //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void WriteTo_FailingAssertionForListOfLevels_TextContainsFewKeyInfo() { var exp = new string[] { "Expected member 1", "Expected member 2" }; 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 meMock = new Mock<MembersAdomdEngine>(); meMock.Setup(engine => engine.GetMembers(cmd)) .Returns(members); var me = meMock.Object; var equivalentConstraint = new EquivalentToConstraint(exp) { MembersEngine = me }; //Method under test string assertionText = null; try { Assert.That(cmd, equivalentConstraint); } 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("equivalent to").And .StringContaining("Expected member 1").And .StringContaining("Expected member 2")); }
public void WriteActualValueTo_OneCaptionNotContainedInLessThan15Members_DisplayAllMembers() { //Mock the writer var mockWriter = new Mock<global::NUnit.Framework.Constraints.MessageWriter>(); var writer = mockWriter.Object; //Buiding object used during test var members = new MemberResult(); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[First member]", "First member", 1, 0)); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[Second member]", "Second member", 2, 0)); var subsetOfConstraint = new NBi.NUnit.Member.SubsetOfConstraint(new List<string>() { "First member" }); //Call the method to test subsetOfConstraint.Matches(members); subsetOfConstraint.WriteActualValueTo(writer); //Test conclusion mockWriter.Verify(wr => wr.WriteActualValue(members)); }
public void WriteActualValueTo_OneCaptionNotContainedInLessThan15Members_DisplayAllMembers() { //Mock the writer var mockWriter = new Mock <global::NUnit.Framework.Constraints.MessageWriter>(); var writer = mockWriter.Object; //Buiding object used during test var members = new MemberResult(); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[First member]", "First member", 1, 0)); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[Second member]", "Second member", 2, 0)); var containConstraint = new NBi.NUnit.Member.ContainConstraint("Third member"); //Call the method to test containConstraint.Matches(members); containConstraint.WriteActualValueTo(writer); //Test conclusion mockWriter.Verify(wr => wr.WriteActualValue(members)); }
public void Matches_SpecificNotCorrectlyOrdered_Failed() { var members = new MemberResult(); members.Add("Leopold"); members.Add("Baudoin"); members.Add("Albert"); var ordspec = new List <object>(); ordspec.Add("Leopold"); ordspec.Add("Albert"); ordspec.Add("Baudoin"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Specific(ordspec); //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_OneCaptionContainedInMembersOneLess_Failure() { //Buiding object used during test var members = new MemberResult(); members.Add(new NBi.Core.Analysis.Member.Member("[Hierarchy].[First member]", "First member", 1, 0)); var equivalentConstraint = new NBi.NUnit.Member.EquivalentToConstraint(new List <string>() { "First member", "Second member" }); //Call the method to test var res = equivalentConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void WriteActualValueTo_OneCaptionNotContainedInMoreThan15Members_DisplayOnlyFirstMembers() { //Mock the writer var mockWriter = new Mock<global::NUnit.Framework.Constraints.MessageWriter>(); var writer = mockWriter.Object; //Buiding object used during test var members = new MemberResult(); for (int i = 0; i < 25; i++) members.Add(new NBi.Core.Analysis.Member.Member(string.Format("[Hierarchy].[member {0}]", i), string.Format("member {0}", i), i, 0)); var containConstraint = new NBi.NUnit.Member.SubsetOfConstraint(new List<string>() { "First member" }); //Call the method to test containConstraint.Matches(members); containConstraint.WriteActualValueTo(writer); //Test conclusion var shortList = members.Take(10); mockWriter.Verify(wr => wr.WriteActualValue(shortList)); mockWriter.Verify(wr => wr.WriteActualValue(It.Is<string>(str => str.Contains("15") && str.Contains("other")))); }
public void WriteTo_FailingAssertionForRegex_TextContainsFewKeyInfo() { var cmd = new DiscoveryRequestFactory().Build( "connectionString", "member-caption", "perspective-name", "dimension-caption", "hierarchy-caption", null); var member1 = new NBi.Core.Analysis.Member.Member() { Caption = "217-487-1125" }; var member2 = new NBi.Core.Analysis.Member.Member() { Caption = "000-000-0000" }; var member3 = new NBi.Core.Analysis.Member.Member() { Caption = "444-222-3333" }; var member4 = new NBi.Core.Analysis.Member.Member() { Caption = "4442223333" }; var members = new MemberResult(); members.Add(member1); members.Add(member2); members.Add(member3); members.Add(member4); var meStub = new Mock <MembersAdomdEngine>(); meStub.Setup(engine => engine.GetMembers(cmd)) .Returns(members); var me = meStub.Object; var matchPatternConstraint = new MatchPatternConstraint() { MembersEngine = me }; matchPatternConstraint = matchPatternConstraint.Regex(@"^[2-9]\d{2}-\d{3}-\d{4}$"); //Method under test string assertionText = null; try { Assert.That(cmd, matchPatternConstraint); } 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("regex pattern").And .StringContaining(@"^[2-9]\d{2}-\d{3}-\d{4}$").And .StringContaining(@"But was: 2 elements").And .StringContaining(@"000-000-0000").And .Not.StringContaining(@"444-222-3333")); }
public void Matches_LessThanCorrectlySpecified_Validated() { var members = new MemberResult(); members.Add("First member"); members.Add("Second member"); var countConstraint = new CountConstraint(); countConstraint.LessThan(3); //Method under test var res = countConstraint.Matches(members); //Test conclusion Assert.That(res, Is.True); }
public void WriteTo_FailingAssertionForMoreThan_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.MoreThan(10); //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("more than").And .StringContaining("10")); }
public virtual MemberResult List(IEnumerable<IFilter> filters) { var list = new MemberResult(); Inform("Investigating members"); using (var cmd = CreateCommand()) { var path = BuildPath(filters); var perspective = GetPerspective(filters); var commandText = Build(perspective.Value, path, Function, MemberCaption, ExcludedMembers, ExcludedPatterns); cmd.CommandText = commandText; var cs = ExecuteCellSet(cmd); // Traverse the response (The response is on first line!!!) var i = 0; foreach (var position in cs.Axes[1].Positions) { var member = position.Members[0]; var uniqueName = member.UniqueName; var caption = member.Caption; var ordinal = ++i; var levelNumber = member.LevelDepth; list.Add(new Member(uniqueName, caption, ordinal, levelNumber)); } } Inform("Members investigated"); return list; }
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 Matches_SpecificNotCorrectlyOrdered_Failed() { var members = new MemberResult(); members.Add("Leopold"); members.Add("Baudoin"); members.Add("Albert"); var ordspec = new List<object>(); ordspec.Add("Leopold"); ordspec.Add("Albert"); ordspec.Add("Baudoin"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Specific(ordspec); //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }
public void Matches_ReverseCorrectlyOrdered_Validated() { var members = new MemberResult(); members.Add("C member"); members.Add("B member"); members.Add("A member"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Descending; //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.True); }
public void Matches_NumericalNotCorrectlyOrdered_Failed() { var members = new MemberResult(); members.Add("1"); members.Add("100"); members.Add("5"); var orderedConstraint = new OrderedConstraint(); orderedConstraint = orderedConstraint.Numerical; //Method under test var res = orderedConstraint.Matches(members); //Test conclusion Assert.That(res, Is.False); }