public void Synchronize_RemovedComponent_HasCorrectSubFolderStructure(params object[] parameters) { var structure = ToFolderStructure(parameters.Cast <string>()); var root = structure.First().Folder; var path = root.Split(FolderExtensions.FolderDelimiter); var declarations = CodeExplorerTestSetup.TestProjectWithFolderStructure(structure, out var projectDeclaration, out var state); using (state) { var contents = CodeExplorerProjectViewModel.ExtractTrackedDeclarationsForProject(projectDeclaration, ref declarations); var component = contents.TestComponentDeclarations(structure.Last().Name); var synchronizing = contents.Except(component).ToList(); var project = new CodeExplorerProjectViewModel(projectDeclaration, ref contents, state, null, state.ProjectsProvider); var folder = project.Children.OfType <CodeExplorerCustomFolderViewModel>() .Single(item => item.Name.Equals(path.First())); project.Synchronize(ref synchronizing); AssertFolderStructureIsCorrect(folder, structure.Take(structure.Count - 1).ToList()); } }
public void Constructor_CreatesCorrectSubFolderStructure(params object[] parameters) { var structure = ToFolderStructure(parameters.Cast <string>()); var root = structure.First().Folder; var path = root.Split(FolderExtensions.FolderDelimiter); var declarations = CodeExplorerTestSetup.TestProjectWithFolderStructure(structure, out var projectDeclaration); var contents = CodeExplorerProjectViewModel.ExtractTrackedDeclarationsForProject(projectDeclaration, ref declarations); var folder = new CodeExplorerCustomFolderViewModel(null, path.First(), path.First(), null, ref contents); AssertFolderStructureIsCorrect(folder, structure); }
public void Constructor_FolderAttributeIsCorrect(object[] parameters) { var structure = ToFolderStructure(parameters.Cast <string>()); var folderPath = structure.First().Folder; var path = folderPath.Split(FolderExtensions.FolderDelimiter); var declarations = CodeExplorerTestSetup.TestProjectWithFolderStructure(structure, out _); var folder = new CodeExplorerCustomFolderViewModel(null, path.First(), path.First(), null, ref declarations); foreach (var _ in path) { Assert.AreEqual($"'@Folder(\"{folder.FullPath}\")", folder.FolderAttribute); folder = folder.Children.OfType <CodeExplorerCustomFolderViewModel>().FirstOrDefault(); } }
public void Constructor_SetsFullPath(object[] parameters) { var structure = ToFolderStructure(parameters.Cast <string>()); var folderPath = structure.First().Folder; var path = folderPath.Split(FolderExtensions.FolderDelimiter); var declarations = CodeExplorerTestSetup.TestProjectWithFolderStructure(structure, out _); var folder = new CodeExplorerCustomFolderViewModel(null, path.First(), path.First(), null, ref declarations); var depth = 1; foreach (var _ in path) { Assert.AreEqual(string.Join(FolderExtensions.FolderDelimiter.ToString(), path.Take(depth++)), folder.FullPath); folder = folder.Children.OfType <CodeExplorerCustomFolderViewModel>().FirstOrDefault(); } }
public void Constructor_SetsFolderName(object[] parameters) { var structure = ToFolderStructure(parameters.Cast <string>()); var folderPath = structure.First().Folder; var path = folderPath.Split(FolderExtensions.FolderDelimiter); var declarations = CodeExplorerTestSetup.TestProjectWithFolderStructure(structure, out _, out var state); using (state) { var folder = new CodeExplorerCustomFolderViewModel(null, path.First(), path.First(), null, ref declarations); foreach (var name in path) { Assert.AreEqual(name, folder.Name); folder = folder.Children.OfType <CodeExplorerCustomFolderViewModel>().FirstOrDefault(); } } }