public void Constructor_NameWithSignatureIsSet(string name, DeclarationType type = DeclarationType.Member) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration, type); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); Assert.IsFalse(string.IsNullOrEmpty(member.NameWithSignature)); }
public void Constructor_SetsName_Member(string name) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); Assert.AreEqual(name, member.Name); }
public void Constructor_SetsName_Property(string name, DeclarationType type, string suffix) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration, type); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); Assert.AreEqual($"{name} {suffix}", member.Name); }
public void Constructor_SetsDeclaration(string name, DeclarationType type = DeclarationType.Member) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration, type); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); Assert.AreSame(memberDeclaration, member.Declaration); }
public void Synchronize_RemovesSubMember(string removed) { var memberDeclaration = CodeExplorerTestSetup.TestProjectOneDeclarations .Single(declaration => declaration.IdentifierName.Equals(removed)).ParentDeclaration; var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(memberDeclaration.IdentifierName, out _).ToList(); var subMemberDeclaration = declarations.Single(declaration => declaration.IdentifierName.Equals(removed)); var updates = declarations.Except(new List <Declaration> { subMemberDeclaration }).ToList(); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); var expected = updates.Select(declaration => declaration.QualifiedName.ToString()) .OrderBy(_ => _) .ToList(); member.Synchronize(ref updates); var actual = member.GetAllChildDeclarations() .Select(declaration => declaration.QualifiedName.ToString()) .OrderBy(_ => _); Assert.IsTrue(expected.SequenceEqual(actual)); }
public void Synchronize_ClearsPassedDeclarationList_NoChanges(string name, DeclarationType type = DeclarationType.Member) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration, type); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); var updates = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out _, type); member.Synchronize(ref updates); Assert.AreEqual(0, updates.Count); }
public void SortComparerIsCorrectSortOrderType(CodeExplorerSortOrder order, Type comparerType) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(CodeExplorerTestCode.TestSubName, out var memberDeclaration); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations) { SortOrder = order }; Assert.AreEqual(comparerType, member.SortComparer.GetType()); }
public void UnfilteredStateIsRestored(string name) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); var childName = member.Children.First().Name; member.IsExpanded = false; member.Filter = childName; Assert.IsTrue(member.IsExpanded); member.Filter = string.Empty; Assert.IsFalse(member.IsExpanded); }
public void Synchronize_DoesNotAlterDeclarationList_DifferentComponent(string name, string other, DeclarationType type = DeclarationType.Member) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration, type); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); var updates = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(other, out _); member.Synchronize(ref updates); var expected = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(other, out _) .Select(declaration => declaration.QualifiedName.ToString()).OrderBy(_ => _); var actual = updates.Select(declaration => declaration.QualifiedName.ToString()).OrderBy(_ => _); Assert.IsTrue(expected.SequenceEqual(actual)); }
public void Constructor_PlacesAllTrackedDeclarations(string name, DeclarationType type = DeclarationType.Member) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration, type); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); var expected = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out _, type) .Select(declaration => declaration.QualifiedName.ToString()) .OrderBy(_ => _); var actual = member.GetAllChildDeclarations() .Select(declaration => declaration.QualifiedName.ToString()) .OrderBy(_ => _); Assert.IsTrue(expected.SequenceEqual(actual)); }
public void Synchronize_SetsDeclarationNull_NoDeclarationsForComponent(string name, DeclarationType type = DeclarationType.Member) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration, type); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); if (member.Declaration is null) { Assert.Inconclusive("Project declaration is null. Fix test setup and see why no other tests failed."); } var updates = new List <Declaration>(); member.Synchronize(ref updates); Assert.IsNull(member.Declaration); }
public void FilteredIsFalseIfChildMatches(string name) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration); var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref declarations); var childName = member.Children.First().Name; for (var characters = 1; characters <= childName.Length; characters++) { member.Filter = childName.Substring(0, characters); Assert.IsFalse(member.Filtered); } for (var position = childName.Length - 2; position > 0; position--) { member.Filter = childName.Substring(position); Assert.IsFalse(member.Filtered); } }
public void FilteredIsTrueForCharactersNotInName(string name) { const string testCharacters = "abcdefghijklmnopqrstuwxyz"; var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration); var testing = new List <Declaration> { memberDeclaration }; var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref testing); var nonMatching = testCharacters.ToCharArray().Except(name.ToLowerInvariant().ToCharArray()); foreach (var character in nonMatching.Select(letter => letter.ToString())) { member.Filter = character; Assert.IsTrue(member.Filtered); } }
public void FilteredIsFalseForSubsetsOfName(string name) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestMemberDeclarations(name, out var memberDeclaration); var testing = new List <Declaration> { memberDeclaration }; var member = new CodeExplorerMemberViewModel(null, memberDeclaration, ref testing); for (var characters = 1; characters <= name.Length; characters++) { member.Filter = name.Substring(0, characters); Assert.IsFalse(member.Filtered); } for (var position = name.Length - 2; position > 0; position--) { member.Filter = name.Substring(position); Assert.IsFalse(member.Filtered); } }