internal static StandardGlyphGroup GetGlyphGroup(MemberResult result) { switch (result.MemberType) { case JsMemberType.Function: return(StandardGlyphGroup.GlyphGroupMethod); case JsMemberType.Keyword: return(StandardGlyphGroup.GlyphKeyword); case JsMemberType.Module: return(StandardGlyphGroup.GlyphGroupModule); case JsMemberType.Multiple: case JsMemberType.Object: return(StandardGlyphGroup.GlyphGroupClass); case JsMemberType.Boolean: case JsMemberType.String: case JsMemberType.Number: return(StandardGlyphGroup.GlyphGroupValueType); case JsMemberType.Undefined: return(StandardGlyphGroup.GlyphGroupException); case JsMemberType.Null: return(StandardGlyphGroup.GlyphGroupConstant); default: return(StandardGlyphGroup.GlyphGroupUnknown); } }
private CompletionItem ToCompletionItem(MemberResult m) { var completion = m.Completion; if (string.IsNullOrEmpty(completion)) { completion = m.Name; } if (string.IsNullOrEmpty(completion)) { return(default(CompletionItem)); } var doc = _textBuilder.GetDocumentation(m.Values, string.Empty); var res = new CompletionItem { label = m.Name, insertText = completion, documentation = string.IsNullOrWhiteSpace(doc) ? null : new MarkupContent { kind = _textBuilder.DisplayOptions.preferredFormat, value = doc }, // Place regular items first, advanced entries last sortText = char.IsLetter(completion, 0) ? "1" : "2", kind = ToCompletionItemKind(m.MemberType), _kind = m.MemberType.ToString().ToLowerInvariant() }; return(res); }
private MemberResult ProcessIdentifier(CsIdentifier identifier) { var result = new MemberResult(); var fieldInfo = itemType.GetField(identifier.original_text, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField); if (fieldInfo != null) { result.MemberInfo = fieldInfo; result.IsPublic = fieldInfo.IsPublic; } else { var propertyInfo = itemType.GetProperty(identifier.original_text, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty); if (propertyInfo != null) { var getMethod = propertyInfo.GetGetMethod(); result.MemberInfo = propertyInfo; if (getMethod == null) { getMethod = propertyInfo.GetGetMethod(true); } result.IsPublic = getMethod.IsPublic; } else { Debugger.Break(); } } return(result); }
private static bool IsDecoratorType(MemberResult member) { switch (member.MemberType) { case Interpreter.PythonMemberType.Function: case Interpreter.PythonMemberType.Class: // Classes and functions need further checking break; case Interpreter.PythonMemberType.Module: case Interpreter.PythonMemberType.Namespace: // Always include modules return(true); default: // Never include anything else return(false); } // TODO: Only include objects that look like decorators // This is probably impossible to tell, since a decorator may be // called immediately or as part of creating the function. Filtering // down to callables that return a callable would work, but if our // analysis has failed then items could randomly be missing. return(true); }
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 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")))); }
private DocumentSymbol ToDocumentSymbol(MemberResult m, Dictionary <MemberResult, List <MemberResult> > childMap, int currentDepth) { var res = new DocumentSymbol { name = m.Name, detail = m.Name, kind = ToSymbolKind(m.MemberType), deprecated = false, _functionKind = GetFunctionKind(m) }; if (childMap.TryGetValue(m, out var children) && currentDepth < _symbolHierarchyDepthLimit) { res.children = children.Select(x => ToDocumentSymbol(x, childMap, currentDepth + 1)).ToArray(); } else { res.children = new DocumentSymbol[0]; } var loc = m.Locations.FirstOrDefault(l => !string.IsNullOrEmpty(l.FilePath)); if (loc != null) { res.range = new SourceSpan( new SourceLocation(loc.StartLine, loc.StartColumn), new SourceLocation(loc.EndLine ?? loc.StartLine, loc.EndColumn ?? loc.StartColumn) ); res.selectionRange = res.range; } return(res); }
private static bool IsExceptionType(MemberResult member) { switch (member.MemberType) { case Interpreter.PythonMemberType.Class: // Classes need further checking break; case Interpreter.PythonMemberType.Module: case Interpreter.PythonMemberType.Namespace: // Always include modules return(true); default: // Never include anything else return(false); } if (KnownExceptions.Contains(member.Name)) { return(true); } if (member.Name.IndexOf("Exception", StringComparison.CurrentCultureIgnoreCase) >= 0 || member.Name.IndexOf("Error", StringComparison.CurrentCultureIgnoreCase) >= 0) { return(true); } return(false); }
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()); }
internal MemberResult[] GetMemberNames(ProjectAnalyzer analyzer, string text) { _completionResultEvent.Reset(); _memberResults = null; using (new SocketLock(this)) { Socket.Send(GetMembersCommandBytes); SendString(text); } if (_completionResultEvent.WaitOne(1000) && _memberResults != null) { MemberResult[] res = new MemberResult[_memberResults.TypeMembers.Count + _memberResults.InstanceMembers.Count]; int i = 0; foreach (var member in _memberResults.TypeMembers) { res[i++] = CreateMemberResult(analyzer, member.Key, member.Value); } foreach (var member in _memberResults.InstanceMembers) { res[i++] = CreateMemberResult(analyzer, member.Key, member.Value); } _memberResults = null; return(res); } return(null); }
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")); }
protected bool Process(MembersDiscoveryRequest actual) { Request = actual; var engine = MembersEngine; MemberResult result = engine.GetMembers(Request); return(this.Matches(result)); }
internal static Completion PythonCompletion(IGlyphService service, MemberResult memberResult) { StandardGlyphGroup group = memberResult.MemberType.ToGlyphGroup(); var icon = new IconDescription(group, StandardGlyphItem.GlyphItemPublic); var result = new LazyCompletion(memberResult.Name, () => memberResult.Completion, () => memberResult.Documentation, service.GetGlyph(group, StandardGlyphItem.GlyphItemPublic)); result.Properties.AddProperty(typeof(IconDescription), icon); return(result); }
private void CallGetPrivateField(MemberResult memberResult) { var typeExtensionsType = typeof(Utils.TypeExtensions); var method = typeExtensionsType.GetMethod("GetPrivateFieldValue", BindingFlags.Static | BindingFlags.Public | BindingFlags.InvokeMethod); method = method.MakeGenericMethod(memberResult.Type); methodGenerator.Emit(OpCodes.Ldstr, memberResult.Name); methodGenerator.EmitCall(OpCodes.Call, method, null); }
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")); }
private SetOperation DoUnion(DictionarySet SetA, DictionarySet SetB) { SetOperation operation2 = new SetOperation(); int num = 0; int num2 = 0; operation2.Changed = false; while ((num < SetA.Count()) | (num2 < SetB.Count())) { IMember newObject; if (num >= SetA.Count()) { newObject = SetB[num2]; num2++; } else if (num2 >= SetB.Count()) { newObject = SetA[num]; num++; } else if (SetA[num].Key().CompareTo(SetB[num2].Key()) == 0) { MemberResult result = SetA[num].Union(SetB[num2]); if (result == null) { newObject = SetA[num]; } else { newObject = result.NewObject; if (result.SetChanged) { operation2.Changed = true; } } num++; num2++; } else if (SetA[num].Key().CompareTo(SetB[num2].Key()) < 0) { newObject = SetA[num]; num++; } else { newObject = SetB[num2]; num2++; } operation2.List.Add(newObject); } operation2.List.RemoveNullItems(); return(operation2); }
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)); var subsetOfConstraint = new NBi.NUnit.Member.SubsetOfConstraint(new List<string>() {"First member", "Second Member"}); //Call the method to test var res = subsetOfConstraint.Matches(members); //Test conclusion Assert.That(res, Is.True); }
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")); }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/user/account const string accountSid = "accountSid"; const string authToken = "authToken"; const string credentialSid = "credentialSid"; const string channelSid = "channelSid"; // List all members of a channel var client = new TwilioIpMessagingClient(accountSid, authToken); MemberResult result = client.ListMembers(credentialSid, channelSid); Console.WriteLine(result); }
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); }
static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/user/account const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; const string serviceSid = "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string channelSid = "CHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // List all members of a channel var client = new IpMessagingClient(accountSid, authToken); MemberResult result = client.ListMembers(serviceSid, channelSid); Console.WriteLine(result); }
private static CompletionItem ToCompletionItem(MemberResult m) { var res = new CompletionItem { label = m.Name, insertText = m.Completion, documentation = m.Documentation, // Place regular items first, advanced entries last sortText = char.IsLetter(m.Completion, 0) ? "1" : "2", kind = ToCompletionItemKind(m.MemberType), _kind = m.MemberType.ToString().ToLowerInvariant() }; return(res); }
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_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_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_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 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 virtual Completion[] GetModules(IGlyphService glyphService, string text) { var analysis = GetAnalysisEntry(); var path = text.Split('.'); if (path.Length > 0) { // path = path[:-1] var newPath = new string[path.Length - 1]; Array.Copy(path, newPath, path.Length - 1); path = newPath; } MemberResult[] modules = new MemberResult[0]; if (path.Length == 0) { if (analysis != null) { modules = analysis.ProjectState.GetModules(true); } #if REPL var repl = Intellisense.GetRepl(_textBuffer); if (repl != null) { modules = Intellisense.MergeMembers(modules, repl.GetModules()); } #endif } else { if (analysis != null) { modules = analysis.ProjectState.GetModuleMembers(analysis.InterpreterContext, path); } } var sortedAndFiltered = NormalCompletionAnalysis.FilterCompletions(modules, text, (x, y) => x.StartsWith(y)); Array.Sort(sortedAndFiltered, NormalCompletionAnalysis.ModuleSort); var result = new Completion[sortedAndFiltered.Length]; for (int i = 0; i < sortedAndFiltered.Length; i++) { result[i] = PythonCompletion(glyphService, sortedAndFiltered[i]); } return(result); }
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_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_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_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); }
private void ProcessLambdaExpressionBody(CsNode csNode) { switch (csNode.e) { case cs_node.n_primary_expression_member_access: var memberAccess = (CsPrimaryExpressionMemberAccess)csNode; var memberResult = ProcessIdentifier(memberAccess.identifier); result = memberResult; break; default: Debugger.Break(); break; } }
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 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_OneCaptionNotContainedInZeroMembers_DisplayNothingFoundMessage() { //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(); 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(It.IsAny <NBi.NUnit.Member.ContainConstraint.NothingFoundMessage>())); }
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_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_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 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_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 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 WriteActualValueTo_OneCaptionNotContainedInZeroMembers_DisplayNothingFoundMessage() { //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(); 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(It.IsAny<NBi.NUnit.Member.ContainConstraint.NothingFoundMessage>())); }
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_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 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")); }