public void Test_One_Match_Other_Not() { var log = Substitute.For <Contracts.ILogger>(); var correlator = new FileToComparerCorrelator(log); var mockComparer = Substitute.For <IVFComparer>(); mockComparer.WantsToHandle("a.txt").Returns(true); // handle only one file var mockComparer2 = Substitute.For <IVFComparer>(); mockComparer2.WantsToHandle(Arg.Any <string>()).Returns(true); var compareEntry = new CompareEntry("foo", "a.txt", "b.txt"); // Act var result = correlator.MatchFilesToComparers(new List <IVFComparer> { mockComparer, mockComparer2 }, new List <CompareEntry>() { compareEntry }).ToList(); // Assert Assert.That(result, Has.Count.EqualTo(1), "The valid one should be added to list"); Assert.That(result[0].Item2.First, Is.EqualTo(mockComparer2)); log.Received().Error(Arg.Any <string>(), Arg.Any <object[]>()); }
public void Test_Handle_Entries_Which_Have_No_Matches() { // Arrange var log = Substitute.For <Contracts.ILogger>(); var correlator = new FileToComparerCorrelator(log); var mockComparer = Substitute.For <IVFComparer>(); mockComparer.WantsToHandle(Arg.Any <string>()).Returns(true); // Handle all var compareEntry = new CompareEntry("foo", "a.txt", null); var compareEntry2 = new CompareEntry("foo2", null, "b.txt"); // Act var result = correlator.MatchFilesToComparers(new List <IVFComparer> { mockComparer }, new List <CompareEntry>() { compareEntry, compareEntry2 }).ToList(); // Assert Assert.That(result, Has.Count.EqualTo(0), "No comparer should be created if FileA or FileB are null"); log.Received().Error(Arg.Any <string>(), Arg.Is <object[]>(o => o.OfType <string>().Any(a => a.Contains("foo")))); log.Received().Error(Arg.Any <string>(), Arg.Is <object[]>(o => o.OfType <string>().Any(a => a.Contains("foo2")))); }
internal SearchColumn(SearchColumn src) : this(src.path, src.selector, src.provider, src.content ?? new GUIContent(), src.options) { width = src.width; getter = src.getter; setter = src.setter; drawer = src.drawer; comparer = src.comparer; }
internal void InitFunctors() { getter = DefaultSelect; setter = null; drawer = null; comparer = null; if (!string.IsNullOrEmpty(provider)) { SearchColumnProvider.Initialize(this); } }
public void Test_No_Match_Found() { var log = Substitute.For <Contracts.ILogger>(); var correlator = new FileToComparerCorrelator(log); var mockComparer = Substitute.For <IVFComparer>(); // defaults to false for WantsToHandle var mockComparer2 = Substitute.For <IVFComparer>(); // defaults to false for WantsToHandle var compareEntry = new CompareEntry("foo", "a.txt", "b.txt"); // Act var result = correlator.MatchFilesToComparers(new List <IVFComparer> { mockComparer, mockComparer2 }, new List <CompareEntry>() { compareEntry }).ToList(); // Assert Assert.That(result, Has.Count.EqualTo(0), "No match in this situation but error"); log.Received().Error(Arg.Any <string>(), Arg.Any <object[]>()); }
public void Test_No_Error_On_Match() { // Arrange var log = Substitute.For <Contracts.ILogger>(); var correlator = new FileToComparerCorrelator(log); var mockComparer = Substitute.For <IVFComparer>(); mockComparer.WantsToHandle(Arg.Any <string>()).Returns(true); // Handle all var compareEntry = new CompareEntry("foo", "a.txt", "b.txt"); // Act var result = correlator.MatchFilesToComparers(new List <IVFComparer> { mockComparer }, new List <CompareEntry>() { compareEntry }).ToList(); // Assert Assert.That(result, Has.Count.EqualTo(1), "One compare entry should yield one match"); }