public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { if (!(parameter is CodeExplorerSortOrder flag) || !(value is bool isSet)) { return(_state); } switch (flag) { case CodeExplorerSortOrder.Name: _state = isSet ? (_state & ~CodeExplorerSortOrder.CodeLine) | flag : (_state & ~flag) | CodeExplorerSortOrder.Name; break; case CodeExplorerSortOrder.CodeLine: _state = isSet ? (_state & ~CodeExplorerSortOrder.Name) | flag : (_state & ~flag) | CodeExplorerSortOrder.CodeLine; break; default: _state ^= flag; break; } return(_state); }
public void SortComparerIsPriority_ProjectReference(CodeExplorerSortOrder order) { var viewModel = new CodeExplorerReferenceViewModel(null, ProjectReference) { SortOrder = order }; Assert.AreEqual(CodeExplorerItemComparer.ReferencePriority.GetType(), viewModel.SortComparer.GetType()); }
public void SortComparerIsReferenceType_Projects(CodeExplorerSortOrder order) { var references = AddRemoveReferencesSetup.DummyProjectsList; var folder = new CodeExplorerReferenceFolderViewModel(null, null, references, ReferenceKind.Project) { SortOrder = order }; Assert.AreEqual(CodeExplorerItemComparer.ReferenceType.GetType(), folder.SortComparer.GetType()); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (!(parameter is CodeExplorerSortOrder flag) || !(value is CodeExplorerSortOrder bound)) { return(_state); } _state = bound; return(_state.HasFlag(flag)); }
public void SortComparerIsComponentType(CodeExplorerSortOrder order) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations.TestComponentDeclarations(CodeExplorerTestSetup.TestModuleName); var componentDeclaration = declarations .First(declaration => declaration.DeclarationType.HasFlag(DeclarationType.Module) && declaration.IdentifierName.Equals(CodeExplorerTestSetup.TestModuleName)); var component = new CodeExplorerComponentViewModel(null, componentDeclaration, ref declarations, null); Assert.AreEqual(CodeExplorerItemComparer.ComponentType.GetType(), component.SortComparer.GetType()); }
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 SortComparerIsNodeType(CodeExplorerSortOrder order) { var declarations = CodeExplorerTestSetup.TestProjectOneDeclarations; var projectDeclaration = declarations.First(declaration => declaration.DeclarationType == DeclarationType.Project); var project = new CodeExplorerProjectViewModel(projectDeclaration, ref declarations, null, null, CodeExplorerTestSetup.ProjectOneProvider) { SortOrder = order }; Assert.AreEqual(CodeExplorerItemComparer.NodeType.GetType(), project.SortComparer.GetType()); }
public void SortComparerIsName(CodeExplorerSortOrder order) { const string folderName = "Foo"; var testFolder = (Name : CodeExplorerTestSetup.TestModuleName, Folder : folderName); var declarations = CodeExplorerTestSetup.TestProjectWithFolderStructure(new List <(string Name, string Folder)> { testFolder }, out _); var folder = new CodeExplorerCustomFolderViewModel(null, folderName, folderName, null, ref declarations) { SortOrder = order }; Assert.AreEqual(CodeExplorerItemComparer.Name.GetType(), folder.SortComparer.GetType()); }