示例#1
0
        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[]>());
        }
示例#2
0
        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"))));
        }
示例#3
0
 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;
 }
示例#4
0
 internal void InitFunctors()
 {
     getter   = DefaultSelect;
     setter   = null;
     drawer   = null;
     comparer = null;
     if (!string.IsNullOrEmpty(provider))
     {
         SearchColumnProvider.Initialize(this);
     }
 }
示例#5
0
        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[]>());
        }
示例#6
0
        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");
        }