public void WatchingDependsOnFileName() { var firstLines = new List<string>() { "hello world", "foo bar", "lorem ipsum" }; var tail = new Tail(TestFileName, Encoding.ASCII); int[] changeEventRaised = { 0 }; tail.Changed += (o, e) => { ++changeEventRaised[0]; }; tail.Watch(); try { WriteTestLines(false, firstLines); Assert.AreNotEqual(0, changeEventRaised[0], "Change event has not been raised at all."); changeEventRaised[0] = 0; WriteTestLines(FakeTestFileName, false, firstLines); Assert.AreEqual(0, changeEventRaised[0], "Change event has been raised at changing of an indifferent file."); } finally { tail.StopWatching(); } }
public void WatchingWhileTargetIsGrowing() { var firstLines = new List<string>() { "hello world", "foo bar", "lorem ipsum" }; var additionalLines = new List<string>() { "monday", "tuesday", "wednesday", "thursday", "friday" }; var tail = new Tail(TestFileName, Encoding.ASCII); var results = new List<string>(); int[] changeEventRaised = { 0 }; tail.Changed += (o, e) => { ++changeEventRaised[0]; results.AddRange(e.NewLines); }; tail.Watch(); try { WriteTestLines(false, firstLines); Assert.AreNotEqual(0, changeEventRaised[0], "Change event has not been raised at all."); Assert.AreEqual(firstLines.Count, results.Count, "Mismatching count of collected lines."); changeEventRaised[0] = 0; results.Clear(); WriteTestLines(true, additionalLines); Assert.AreNotEqual(0, changeEventRaised[0], "Change event has not been raised at all."); Assert.AreEqual(additionalLines.Count, results.Count, "Mismatching count of collected lines."); } finally { tail.StopWatching(); } }