public SaveSolutionCommand(ISettings settings, string solutionFileName, VisualStudioVersion visualStudioVersion, SolutionViewModel solution) { _settings = settings; _solutionFileName = solutionFileName; _visualStudioVersion = visualStudioVersion; _solution = solution; }
public void CanAddSaveSolutionWithNestedProjectReferences() { CopyTestDataToPath("CsTestProject1.csproj", Path.Combine(_testDataPath, "sub", "p1")); CopyTestDataToPath("CsTestProject2.csproj", Path.Combine(_testDataPath, "sub", "p2")); CopyTestDataToPath("CsTestProject3.csproj", Path.Combine(_testDataPath, "p3", "sub")); _scanningCommand = new ScanningCommand(_testDataPath, true); _scanningCommand.Start().Wait(); Project project; _scanningCommand.Projects.TryGetValue(Path.Combine(_testDataPath, "p3", "sub", "CsTestProject3.csproj"), out project); var solution = new SolutionViewModel(_settings, _testDataPath, _scanningCommand.Projects); solution.AddProject(project); // we need to change the Guid of the reference folder var refFolder = solution.SolutionItems.OfType<SolutionFolder>().First(); refFolder.Guid = new Guid("{95374152-F021-4ABB-B317-74A183A89F00}"); refFolder.Items.OfType<SolutionFolder>().First().Guid = new Guid("{CE1BA3BF-4957-4CBC-9D45-3DC68106B311}"); var targetPath = Path.Combine(_testDataPath, "test.sln"); var cmd = new SaveSolutionCommand(_settings, targetPath, VisualStudioVersion.VS2010, solution); cmd.Execute(); Assert.AreEqual(ReadFromResource("CsTestProject3.sln"), File.ReadAllText(targetPath)); }
public ViewModelFactory( Func<SettingsViewModel> getSettingsViewModel, Func<AboutViewModel> getAboutViewModel, UpdateViewModel.Factory getUpdateViewModel, ProjectRepositoryViewModel.Factory getProjectRepositoryViewModel, FileScanningViewModel.Factory getFileScanningViewModel, SolutionViewModel.Factory getSolutionViewModel) { _getSettingsViewModel = getSettingsViewModel; _getAboutViewModel = getAboutViewModel; _getUpdateViewModel = getUpdateViewModel; _getProjectRepositoryViewModel = getProjectRepositoryViewModel; _getFileScanningViewModel = getFileScanningViewModel; _getSolutionViewModel = getSolutionViewModel; }
public void CanAddProject() { CopyTestDataToPath("CsTestProject1.csproj", _testDataPath); _scanningCommand = new ScanningCommand(_testDataPath, true); _scanningCommand.Start().Wait(); Project project; _scanningCommand.Projects.TryGetValue(Path.Combine(_testDataPath, "CsTestProject1.csproj"), out project); var sut = new SolutionViewModel(new DummyStatusMessenger(), _settings, _testDataPath, _scanningCommand.Projects); sut.AddProject(project); Assert.AreEqual(1, sut.SolutionItems.Count); Assert.AreEqual("CsTestProject1", sut.SolutionItems[0].Name); Assert.AreEqual(typeof (SolutionProject), sut.SolutionItems[0].GetType()); }
private void LoadProjects(string path) { var fileScanningViewModel = new FileScanningViewModel(_settings, path); _dialogManager.ShowDialog(fileScanningViewModel); fileScanningViewModel.Deactivated += (sender, args) => { if (fileScanningViewModel.Result != null) { _projectRepository.RootPath = path; _projectRepository.RootFolder = fileScanningViewModel.Result.ProjectFolder; Solution = new SolutionViewModel(_settings, path, fileScanningViewModel.Result.Projects); DisplayName = "Solutionizer -"; RootPath = path; } }; }
public void CanAddSaveSolution() { CopyTestDataToPath("CsTestProject1.csproj", _testDataPath); _scanningCommand = new ScanningCommand(_testDataPath, true); _scanningCommand.Start().Wait(); Project project; _scanningCommand.Projects.TryGetValue(Path.Combine(_testDataPath, "CsTestProject1.csproj"), out project); var solution = new SolutionViewModel(_settings, _testDataPath, _scanningCommand.Projects); solution.AddProject(project); var targetPath = Path.Combine(_testDataPath, "test.sln"); var cmd = new SaveSolutionCommand(_settings, targetPath, VisualStudioVersion.VS2010, solution); cmd.Execute(); Assert.AreEqual(ReadFromResource("CsTestProject1.sln"), File.ReadAllText(targetPath)); }
public void CanAddProjectWithProjectReference() { CopyTestDataToPath("CsTestProject1.csproj", Path.Combine(_testDataPath, "p1")); CopyTestDataToPath("CsTestProject2.csproj", Path.Combine(_testDataPath, "p2")); _scanningCommand = new ScanningCommand(_testDataPath, true); _scanningCommand.Start().Wait(); Project project; _scanningCommand.Projects.TryGetValue(Path.Combine(_testDataPath, "p2", "CsTestProject2.csproj"), out project); var sut = new SolutionViewModel(new DummyStatusMessenger(), _settings, _testDataPath, _scanningCommand.Projects); sut.AddProject(project); Assert.AreEqual(2, sut.SolutionItems.Count); Assert.AreEqual("_References", sut.SolutionItems[0].Name); Assert.AreEqual("CsTestProject2", sut.SolutionItems[1].Name); Assert.AreEqual(1, ((SolutionFolder) sut.SolutionItems[0]).Items.Count); Assert.AreEqual("CsTestProject1", ((SolutionFolder) sut.SolutionItems[0]).Items[0].Name); }
private void LoadProjects(string path) { var fileScanningViewModel = new FileScanningViewModel(_settings, path); _dialogManager.ShowDialog(fileScanningViewModel); fileScanningViewModel.Deactivated += (sender, args) => { if (fileScanningViewModel.Result != null) { _projectRepository.RootPath = path; _projectRepository.RootFolder = fileScanningViewModel.Result.ProjectFolder; Solution = new SolutionViewModel(_settings, path, fileScanningViewModel.Result.Projects); DisplayName = "Solutionizer -"; RootPath = path; } }; }