public void ReportForEmptyListReturnMessage() { Mock <IModificationItemToStringConverter> i2s = I2SSetup(); Mock <ILineBreaker> ilbMock = LineBreakerMock(); var report = new FileModificationsReport(null, i2s.Object, ilbMock.Object); var expectedResult = "No change."; var result = report.Get(); Assert.AreEqual(expectedResult, result); }
public void ReportForItemsReturnCorrectList() { Mock <IModificationItemToStringConverter> i2s = I2SSetup(); List <PerFileModification> input = new List <PerFileModification>() { new PerFileModification(), new PerFileModification() }; Mock <ILineBreaker> ilbMock = LineBreakerMock(); var report = new FileModificationsReport(input, i2s.Object, ilbMock.Object); var expectedResult = converterOutput + converterOutput; var result = report.Get(); Assert.AreEqual(expectedResult, result); }
public OutputReport Run(string path) { OutputReport report; try { var logFileNameProvider = new DefaultLogFileNameProvider(); var logFileRemover = new LogFileItemRemover(logFileNameProvider); var currentFileInfo = new FileInfoCollector(_fsl).CollectFileInfos(path); var currentFileInfoWithoutLogFile = logFileRemover.Remove(currentFileInfo); try { var fileInfoFromLog = new LogInfoGatherer(_fsl, logFileNameProvider).GetFileInfoLogFromPath(path); var fileInfoFromLogWithouLogFile = logFileRemover.Remove(fileInfoFromLog); var pairedFileInfos = new InfoPairer(new PairCreator(new FilenamePicker()), new CompareFileInfoOnPath()).Pair( currentFileInfoWithoutLogFile, fileInfoFromLogWithouLogFile); var fileModificationsList = new FileModificationsListCreator(new ModificationClassificator()).CalculateFileModifications( pairedFileInfos); var fileModificationsListWithoutUnmodified = new UnmodifiedRemover().AlterList(fileModificationsList); report = new FileModificationsReport(fileModificationsListWithoutUnmodified, new ModificationItemToStringConverterUsingToString(), new HtmlLineBreaker()); } catch (LfgLogFileDoesntExistException) { report = new NewDirectoryReport(); } new LogFileWriter(_fsl, new LogFileLinesFileInfoConverter(new LogLinesToFileInfoConverter()), logFileNameProvider).WriteLog(currentFileInfoWithoutLogFile, path); } catch (Exception ex) when(ex is FilesystemLayerException) { report = new ErrorMessageReport(ex.Message); } return(report); }