public void ProcessAllFiles_5Files_4FilesProcessed1Failed_4Moved_1MovedToErrorLocation() { // Arrange CreateMultipleTempFiles(5); var fileList = GetAllUnprocessedFiles(); var fp = A.Fake<IFileProcessor>(); foreach (var filename in fileList.Take(4)) { A.CallTo(() => fp.ProcessFile(filename)).Returns(CreateMockDataSet1TableNoData()); } var sut = new BatchFileProcessor(this.unprocessedPath, this.processedPath, this.errorPath); // Act var filesProcessed = sut.ProcessAllFiles(fp); foreach (var filename in fileList.Take(4)) { A.CallTo(() => fp.ProcessFile(filename)).MustHaveHappened(); } Assert.Equal(4, Directory.EnumerateFiles(processedPath).Count()); Assert.Equal(1, Directory.EnumerateFiles(errorPath).Count()); }
public void ProcessFile_FileNotExist_FileRemains() { // Arrange CreateSingleTempFile(); string filename = GetSingleUnprocessedFile(); var fp = A.Fake<IFileProcessor>(); A.CallTo(() => fp.ProcessFile(filename)).Returns(A<DataSet>.Ignored); var sut = new BatchFileProcessor(this.unprocessedPath, this.processedPath, this.errorPath); // Act Assert.Throws<FileNotFoundException>(() => sut.ProcessFile(Guid.NewGuid().ToString("N"), fp)); Assert.Equal(1, Directory.EnumerateFiles(unprocessedPath).Count()); }
public void ProcessFile_FileExistsProcessed_MovedFile() { // Arrange CreateSingleTempFile(); string filename = GetSingleUnprocessedFile(); var fp = A.Fake<IFileProcessor>(); A.CallTo(() => fp.ProcessFile(filename)).Returns(CreateMockDataSet1TableNoData()); var sut = new BatchFileProcessor(this.unprocessedPath, this.processedPath, this.errorPath); // Act sut.ProcessFile(filename, fp); // Assert A.CallTo(() => fp.ProcessFile(filename)).MustHaveHappened(); A.CallTo(() => fp.ProcessFile(filename)).Returns(A<DataSet>.Ignored); Assert.Equal(1, Directory.EnumerateFiles(processedPath).Count()); }
public void ProcessAllFiles_NoFiles_NothingHappened() { // Arrange var fp = A.Fake<IFileProcessor>(); A.CallTo(() => fp.ProcessFile(string.Empty)).Returns(A<DataSet>.Ignored); var sut = new BatchFileProcessor(this.unprocessedPath, this.processedPath, this.errorPath); // Act var filesProcessed = sut.ProcessAllFiles(fp); Assert.Equal(0, filesProcessed.Count); A.CallTo(() => fp.ProcessFile(string.Empty)).MustNotHaveHappened(); }
public void ProcessAllFiles_ErrorFile_MovesFileToErrorLocation() { CreateSingleTempFile(); var fp = A.Fake<IFileProcessor>(); var filename = GetSingleUnprocessedFile(); A.CallTo(() => fp.ProcessFile(filename)).Returns(null); var sut = new BatchFileProcessor(this.unprocessedPath, this.processedPath, this.errorPath); var processAllFiles = sut.ProcessAllFiles(fp); A.CallTo(() => fp.ProcessFile(filename)).MustHaveHappened(); Assert.Equal(1, Directory.EnumerateFiles(errorPath).Count()); }
public void ProcessAllFiles_5Files_5FilesProcessedNameIsFileName() { // Arrange CreateMultipleTempFiles(5); var fileList = GetAllUnprocessedFiles(); var fp = A.Fake<IFileProcessor>(); foreach (var filename in fileList) { A.CallTo(() => fp.ProcessFile(filename)).Returns(CreateMockDataSet1TableNoData()); } var sut = new BatchFileProcessor(this.unprocessedPath, this.processedPath, this.errorPath); // Act var filesProcessed = sut.ProcessAllFiles(fp); Assert.Equal(5, filesProcessed.Count); foreach (var filename in fileList) { A.CallTo(() => fp.ProcessFile(filename)).MustHaveHappened(); } foreach (var filename in fileList) { Assert.Contains(filename, filesProcessed.Keys); } Assert.Equal(5, Directory.EnumerateFiles(processedPath).Count()); }