public void ExampleOfATestSimulatingFileContainingMultipleLines() { string[] lines = ArraryContaining("Hello World", "Are you ok?"); using (ClassUsingFile obj = new ClassUsingFile(StreamContaining(StringListBuiltFrom(lines)))) { string[] actual = ArraryContaining(obj.GetStreamContentsAsLines()); Assert.That(actual, Is.EqualTo(lines)); } }
public void PreferPassingInTextReaderRatherThanFilePath() { //if the Class Under Test (CUT) is expected to work against a file, //prefer passing in a TextReader/Writer. This allows our unit test to //simulate a file with just an in-memory string. //This assumes that the file being worked against is a text file. //If this is not true then prefer simulating a file using //MemoryStream and passing this to the CUT (see previous examples) string[] lines = ArraryContaining("Hello World", "Are you ok?"); using (ClassUsingFile obj = new ClassUsingFile(ReaderContaining(StringListBuiltFrom(lines)))) { string[] actual = ArraryContaining(obj.GetStreamContentsAsLines()); Assert.That(actual, Is.EqualTo(lines)); } }