Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ProductionClass
- {
- public async Task CheckDataAndStoreResultsAsync(string inputFilePath, string outputFilePath)
- {
- using (var inputFileStream = File.OpenText(inputFilePath))
- {
- using (var outputFileStream = File.AppendText(outputFilePath))
- {
- string inputLine;
- int lineCounter = 1;
- while ((inputLine = await inputFileStream.ReadLineAsync()) != null)
- {
- if (inputLine.Contains("OK"))
- {
- await outputFileStream.WriteLineAsync(lineCounter.ToString());
- }
- lineCounter++;
- }
- }
- }
- }
- }
- [TestFixture]
- public class Tests
- {
- [Test]
- public void Examined_Data_Written_Correctly_To_File()
- {
- var inputFilePath = "inputFile.txt";
- var outputFilePath = "outputFile.txt";
- var inputFileContents = new[] {"OK", "WRONG", "OK", "WRONG"};
- File.WriteAllLines(inputFilePath, inputFileContents);
- File.Delete(outputFilePath);
- var sut = new ProductionClass(new FileSystemInteractor());
- var resultAsync = sut.CheckDataAndStoreResultsAsync(inputFilePath, outputFilePath);
- resultAsync.Wait();
- var outputLines = File.ReadAllLines(outputFilePath);
- CollectionAssert.AreEquivalent(new []{"1", "3"}, outputLines, $"Actual:{string.Join(",", outputLines)}");
- }
- }
Add Comment
Please, Sign In to add comment