private void AssertEventCounters(EventCounters expected) { Assert.AreEqual(expected.Start, actualEventCounters.Start, "Start event counter after iteration."); Assert.AreEqual(expected.Finish, actualEventCounters.Finish, "Finish event counter after iteration."); Assert.AreEqual(expected.DirectoriesFind, actualEventCounters.DirectoriesFind, "DirectoryFinded event counter after iteration."); Assert.AreEqual(expected.FilesFind, actualEventCounters.FilesFind, "FileFinded event counter after iteration."); Assert.AreEqual(expected.FilteredDirectoriesFind, actualEventCounters.FilteredDirectoriesFind, "FilteredDirectoryFinded event counter after iteration."); Assert.AreEqual(expected.FilteredFilesFind, actualEventCounters.FilteredFilesFind, "FilteredFileFinded event counter after iteration."); }
public void Search_Events_Skip_5(IEnumerable <string> directories, IEnumerable <string> files, IEnumerable <string> expected, EventCounters expectedEventCounters) { int count = 5; expected = expected.Skip(count); var mock = CreateMock(directories, files); mock.Protected().Setup("OnDirectoryFinded", ItExpr.IsAny <FileSystemVisitorEventArgs>()) .Callback((FileSystemVisitorEventArgs e) => { actualEventCounters.DirectoriesFind++; if (count-- > 0) { e.Skip = true; } }); mock.Protected().Setup("OnFileFinded", ItExpr.IsAny <FileSystemVisitorEventArgs>()) .Callback((FileSystemVisitorEventArgs e) => { actualEventCounters.FilesFind++; if (count-- > 0) { e.Skip = true; } }); var actual = mock.Object.Search(); AssertActualEventCountersIsZero(); CollectionAssert.AreEqual(expected, actual); AssertEventCounters(expectedEventCounters); }
public void Search_Events_Abort_3_WithPredicate(IEnumerable <string> directories, IEnumerable <string> files, Predicate <string> predicate, IEnumerable <string> expected, EventCounters expectedEventCounters) { int count = 3; int eventsCount = count + 1; expected = expected.Take(count); expectedEventCounters.FilteredDirectoriesFind = Math.Min(expectedEventCounters.FilteredDirectoriesFind, eventsCount); expectedEventCounters.FilteredFilesFind = Math.Min(expectedEventCounters.FilteredFilesFind, eventsCount - expectedEventCounters.FilteredDirectoriesFind); var mock = CreateMock(directories, files, predicate); mock.Protected().Setup("OnFilteredDirectoryFinded", ItExpr.IsAny <FileSystemVisitorEventArgs>()) .Callback((FileSystemVisitorEventArgs e) => { actualEventCounters.FilteredDirectoriesFind++; if (--count < 0) { e.Abort = true; } }); mock.Protected().Setup("OnFilteredFileFinded", ItExpr.IsAny <FileSystemVisitorEventArgs>()) .Callback((FileSystemVisitorEventArgs e) => { actualEventCounters.FilteredFilesFind++; if (--count < 0) { e.Abort = true; } }); var actual = mock.Object.Search(); AssertActualEventCountersIsZero(); CollectionAssert.AreEqual(expected, actual); expectedEventCounters.DirectoriesFind = actualEventCounters.DirectoriesFind; expectedEventCounters.FilesFind = actualEventCounters.FilesFind; AssertEventCounters(expectedEventCounters); }
public void Search_Events_WithPredicate(IEnumerable <string> directories, IEnumerable <string> files, Predicate <string> predicate, IEnumerable <string> expected, EventCounters expectedEventCounters) { var mock = CreateMock(directories, files, predicate); var actual = mock.Object.Search(); AssertActualEventCountersIsZero(); CollectionAssert.AreEqual(expected, actual); AssertEventCounters(expectedEventCounters); }