Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 5
0
        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();
                }
            }
        }