public void ProcessUpdates_IgnoresNonLineTerminatedText() { using (var writer = File.CreateText(FilePath1)) writer.Write("partial-line"); var reader = new IncrementalFileLineReader(FilePath1); var actualLines = new List <string>(); reader.NewLine += (s, e) => actualLines.Add(e.Text); reader.ProcessUpdates(); LoggableCollectionAssert.AreEqual(new string[0], actualLines.ToArray()); }
public void ProcessUpdates_FiresNewLine_ForEachLineOfFile() { var lines1 = new[] { "line", "line2", "line3" }; File.WriteAllLines(FilePath1, lines1); var reader = new IncrementalFileLineReader(FilePath1); var lines = new List <string>(); reader.NewLine += (s, e) => lines.Add(e.Text); reader.ProcessUpdates(); LoggableCollectionAssert.AreEqual(lines1, lines.ToArray()); }
public void ProcessUpdates_FiresNewLine_ForAddedLines() { File.WriteAllLines(FilePath1, new[] { "line" }); var reader = new IncrementalFileLineReader(FilePath1); reader.ProcessUpdates(); using (var writer = File.AppendText(FilePath1)) { writer.WriteLine("line2"); writer.WriteLine("line3"); } var lines = new List <string>(); reader.NewLine += (s, e) => lines.Add(e.Text); reader.ProcessUpdates(); LoggableCollectionAssert.AreEqual(new[] { "line2", "line3" }, lines.ToArray()); }