public void ExportarCommandShouldExecute(params string[] files) { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); _mockDialog.Setup(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false)) .Returns(true); _mockDialog.SetupGet(d => d.FolderPath) .Returns(@"C:\Example"); _mockFileSystem.Setup(f => f.Directory.Exists(It.IsAny <string>())) .Returns(true); _mockFileSystem.Setup(f => f.Path.GetDirectoryName(It.IsAny <string>())) .Returns(It.IsAny <string>()); _mockFileSystem.Setup(f => f.Directory.GetFiles( @"C:\Example", "*.csv", SearchOption.TopDirectoryOnly)) .Returns(files); _mockFileSystem.Setup(f => f.File.Exists(It.IsAny <string>())) .Returns(true); _mockEsterolesLogic.Setup(e => e.Calculate(It.IsAny <string>())) .Returns(new EsterolesResult()); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.SeleccionaDirectorio.Execute(null); esterolesViewModel.Generar.Execute(null); // Assert Assert.True(esterolesViewModel.Exportar.CanExecute(null)); }
public void GenerarCommandShouldShowDialogInfoIfThereAreNotFiles() { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); _mockDialog.Setup(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false)) .Returns(true); _mockDialog.SetupGet(d => d.FolderPath) .Returns(@"C:\Example"); _mockFileSystem.Setup(f => f.Directory.Exists(It.IsAny <string>())) .Returns(true); _mockFileSystem.Setup(f => f.Path.GetDirectoryName(It.IsAny <string>())) .Returns(It.IsAny <string>()); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.SeleccionaDirectorio.Execute(null); esterolesViewModel.Generar.Execute(null); // Assert _mockDialog.Verify(d => d.ShowInfoDialogAsync( "Info", "No hay análisis en este directorio"), Times.Once); }
public void GenerarCommandShouldInsertDirectoryFirstItemInHistoryWithItems() { // Arrange Config config = new Config(); config.Esteroles.HistoricoDirectorios.Add(@"C:\Example1"); _mockConfig.SetupGet(c => c.Config) .Returns(config); _mockDialog.Setup(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false)) .Returns(true); _mockDialog.SetupGet(d => d.FolderPath) .Returns(@"C:\Example2"); _mockFileSystem.Setup(f => f.Directory.Exists(It.IsAny <string>())) .Returns(true); _mockFileSystem.Setup(f => f.Path.GetDirectoryName(It.IsAny <string>())) .Returns(It.IsAny <string>()); _mockFileSystem.Setup(f => f.Directory.GetFiles( @"C:\Example2", "*.csv", SearchOption.TopDirectoryOnly)) .Returns(new string[] { "file1.csv" }); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.SeleccionaDirectorio.Execute(null); esterolesViewModel.Generar.Execute(null); // Assert Assert.Collection(esterolesViewModel.HistoricoDirectorios, item => Assert.Equal(@"C:\Example2", item), item => Assert.Equal(@"C:\Example1", item)); }
public void GenerarCommandShouldSetSelectedDirectory() { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); _mockDialog.Setup(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false)) .Returns(true); _mockDialog.SetupGet(d => d.FolderPath) .Returns(@"C:\Example"); _mockFileSystem.Setup(f => f.Directory.Exists(It.IsAny <string>())) .Returns(true); _mockFileSystem.Setup(f => f.Path.GetDirectoryName(It.IsAny <string>())) .Returns(It.IsAny <string>()); _mockFileSystem.Setup(f => f.Directory.GetFiles( @"C:\Example", "*.csv", SearchOption.TopDirectoryOnly)) .Returns(new string[] { "file1.csv" }); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.SeleccionaDirectorio.Execute(null); esterolesViewModel.Generar.Execute(null); // Assert Assert.Equal(@"C:\Example", esterolesViewModel.SelectedDirectorio); }
public void ExportarCommandShouldNotExecute() { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); // Assert Assert.False(esterolesViewModel.Exportar.CanExecute(null)); }
public void ExportarCommandShouldExportCsv(params string[] files) { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); _mockDialog.Setup(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false)) .Returns(true); _mockDialog.SetupGet(d => d.FolderPath) .Returns(@"C:\Example"); _mockFileSystem.Setup(f => f.Directory.Exists(It.IsAny <string>())) .Returns(true); _mockFileSystem.Setup(f => f.Path.GetDirectoryName(It.IsAny <string>())) .Returns(It.IsAny <string>()); _mockFileSystem.Setup(f => f.Directory.GetFiles( @"C:\Example", "*.csv", SearchOption.TopDirectoryOnly)) .Returns(files); _mockFileSystem.Setup(f => f.File.Exists(It.IsAny <string>())) .Returns(true); _mockEsterolesLogic.Setup(e => e.Calculate(It.IsAny <string>())) .Returns(new EsterolesResult()); _mockDialog.Setup(d => d.ShowSaveFileDialog("Exportar CSV", "", "export.csv", ".csv", "CSV documents (.csv)|*.csv")) .Returns(true); _mockDialog.SetupGet(d => d.FilePathToSave) .Returns(It.IsAny <string>()); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.SeleccionaDirectorio.Execute(null); esterolesViewModel.Generar.Execute(null); esterolesViewModel.Exportar.Execute(null); // Assert Assert.True(esterolesViewModel.Exportar.CanExecute(null)); _mockDialog.Verify(d => d.ShowSaveFileDialog("Exportar CSV", "", "export.csv", ".csv", "CSV documents (.csv)|*.csv"), Times.Once); _mockDialog.Verify(d => d.FilePathToSave, Times.Once); _mockEsterolesLogic.Verify(e => e.Export(It.IsAny <string>(), It.IsAny <ObservableCollection <EsterolesResult> >()), Times.Once); }
public void ExportarCommandShouldShowInfoDialogIfEsterolesLogicThrowsException(params string[] files) { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); _mockDialog.Setup(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false)) .Returns(true); _mockDialog.SetupGet(d => d.FolderPath) .Returns(@"C:\Example"); _mockFileSystem.Setup(f => f.Directory.Exists(It.IsAny <string>())) .Returns(true); _mockFileSystem.Setup(f => f.Path.GetDirectoryName(It.IsAny <string>())) .Returns(It.IsAny <string>()); _mockFileSystem.Setup(f => f.Directory.GetFiles( @"C:\Example", "*.csv", SearchOption.TopDirectoryOnly)) .Returns(files); _mockFileSystem.Setup(f => f.File.Exists(It.IsAny <string>())) .Returns(true); _mockEsterolesLogic.Setup(e => e.Calculate(It.IsAny <string>())) .Throws(new Exception("Exception error")); _mockDialog.Setup(d => d.ShowSaveFileDialog("Exportar CSV", "", "export.csv", ".csv", "CSV documents (.csv)|*.csv")) .Returns(true); _mockDialog.SetupGet(d => d.FilePathToSave) .Returns(It.IsAny <string>()); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.SeleccionaDirectorio.Execute(null); esterolesViewModel.Generar.Execute(null); esterolesViewModel.Exportar.Execute(null); // Assert _mockFileSystem.Verify(f => f.File.Exists(It.IsAny <string>()), Times.Exactly(files.Length)); _mockEsterolesLogic.Verify(e => e.Calculate(It.IsAny <string>()), Times.Exactly(files.Length)); Assert.Empty(esterolesViewModel.Results); _mockDialog.Verify(d => d.ShowInfoDialogAsync("Error", $"Error: Exception error"), Times.Exactly(files.Length)); }
public void GenerarCommandShouldNotExecute() { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); _mockDialog.Setup(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false)) .Returns(false); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.SeleccionaDirectorio.Execute(null); // Assert Assert.False(esterolesViewModel.Generar.CanExecute(null)); }
public void CloseCommandShouldSaveAnalysisType() { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.Close(); // Assert _mockConfig.Verify(c => c.Save(), Times.Once); Assert.Equal(nameof(EsterolesViewModel), _mockConfig.Object.Config.LastAnalysis); }
public void SeleccionaDirectorioCommandShouldSelectADirectory() { // Arrange _mockConfig.SetupGet(config => config.Config) .Returns(new Config()); _mockDialog.Setup(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false)) .Returns(true); _mockDialog.SetupGet(d => d.FolderPath) .Returns(@"C:\Example"); // Act var esterolesViewModel = new EsterolesViewModel(_mockDialog.Object, _mockConfig.Object, _mockEsterolesLogic.Object, _mockFileSystem.Object); esterolesViewModel.SeleccionaDirectorio.Execute(null); // Assert _mockDialog.Verify(d => d.ShowFolderBrowser(It.IsAny <string>(), It.IsAny <string>(), false), Times.Once); Assert.Equal(@"C:\Example", esterolesViewModel.TextDirectorio); }