public void ShouldReadAllLinesInGivenFile(string filePath) { var fileSystem = new FakeFileSystemAccessBuilder() .Build(); var sut = CreateSut(fileSystem: fileSystem); sut.Count(filePath); FakeFileSystemAccessBuilder.VerifyReadAllTextWasCalledOn(fileSystem, filePath); }
public void ShouldGetListOfAllFilesInGivenFolder() { var path = @"c:\test_files\"; var fileSystem = new FakeFileSystemAccessBuilder() .Build(); var sut = CreateSut(fileSystem: fileSystem); sut.Count(path); FakeFileSystemAccessBuilder.VerifyGetFilesInFolderWasCalledOn(fileSystem, path); }
public void ShouldOnlyGetDotCsFilesFromFileSystem() { var path = @"c:\test_files\"; var pattern = "*.cs"; var fileSystem = new FakeFileSystemAccessBuilder() .Build(); var sut = CreateSut(fileSystem: fileSystem); sut.Count(path); FakeFileSystemAccessBuilder.VerifyGetFilesInFolderWasCalledOn(fileSystem, path, pattern); }
public void ShouldCallLineCounterWithContentsOfFile(string filePath, string sourceCode) { var fileSystem = new FakeFileSystemAccessBuilder() .WithReadAllTextReturning(filePath, sourceCode) .Build(); var counter = new FakeLineCounterBuilder() .Build(); var sut = CreateSut(fileSystem: fileSystem, lineCounter: counter); sut.Count(filePath); FakeLineCounterBuilder.VerifyCountWasCalledOn(counter, sourceCode); }
public void GivenPathWithKnownContents_ShouldReturnExpectedLines(string expectedPath, string sourceCode, int expectedLineCount) { var fileSystem = new FakeFileSystemAccessBuilder() .WithReadAllTextReturning(expectedPath, sourceCode) .Build(); var counter = new FakeLineCounterBuilder() .WithCountReturning(sourceCode, expectedLineCount) .Build(); var sut = CreateSut(fileSystem: fileSystem, lineCounter: counter); var actual = sut.Count(expectedPath); Assert.AreEqual(expectedLineCount, actual); }
public void ShouldCallFileLineCounterForEachFileInTheFolder() { var path = @"c:\test_files\"; var filePath1 = @"c:\test_files\program.cs"; var filePath2 = @"c:\test_files\logic.cs"; var fileSystem = new FakeFileSystemAccessBuilder() .WithGetFilesInFolderReturning(path, new [] { filePath1, filePath2 }) .Build(); var fileLineCounter = new FakeFileLineCounterBuilder() .Build(); var sut = CreateSut(fileSystem: fileSystem, fileLineCounter: fileLineCounter); sut.Count(path); FakeFileLineCounterBuilder.VerifyCountWasCalledOn(fileLineCounter, filePath1); FakeFileLineCounterBuilder.VerifyCountWasCalledOn(fileLineCounter, filePath2); }
public void ShouldSumAllLineCountsTogetherAndReturn() { var path = @"c:\test_files\"; var filePath1 = @"c:\test_files\program.cs"; var file1Lines = 10; var filePath2 = @"c:\test_files\logic.cs"; var file2Lines = 7; var fileSystem = new FakeFileSystemAccessBuilder() .WithGetFilesInFolderReturning(path, new [] { filePath1, filePath2 }) .Build(); var fileLineCounter = new FakeFileLineCounterBuilder() .WithCountReturning(filePath1, file1Lines) .WithCountReturning(filePath2, file2Lines) .Build(); var sut = CreateSut(fileSystem: fileSystem, fileLineCounter: fileLineCounter); var actual = sut.Count(path); var expected = 17; Assert.AreEqual(expected, actual); }