TDD FileLoader v1.0

In this solution, the production class actually loads a file from the disk

The Unit Test

using NUnit.Framework; using file_loader_service; namespace file_loader_tests { public class FileLoaderTests { [Test] public void load_all_of_file_using_inbuilt_Files_type() { // arrange string fileToLoad = "c:/tmp/KeyboardHandler.java.txt"; FileLoader cut = new FileLoader(); int expectedBytesRead = 1383; // act int bytesRead = cut.LoadFile(fileToLoad); // assert Assert.AreEqual(expectedBytesRead, bytesRead); } } }

The CUT FileLoader

using System; using System.Collections.Generic; using System.IO; namespace file_loader_service { public class FileLoader { private string fileData; IEnumerable<string> lines = new List<string>(); public FileLoader() { } public int LoadFile(string fname) { try { lines = File.ReadLines(fname); } catch (IOException e) { } return CalculateFileSize(); } private int CalculateFileSize() { int result = 0; foreach (string line in lines) { result += line.Length; }; return result; } } }