コード例 #1
0
        public void ShouldReportGeneralDiffWhenDiffAfterMultipleSpace()
        {
            var stringDifference = StringDifference.Analyze("toto t", "toto  ", false);

            Check.That(stringDifference).HasSize(1);
            Check.That(stringDifference[0].Kind).IsEqualTo(DifferenceMode.Longer);
        }
コード例 #2
0
        public void ShouldReportDifferenceInSpacesAtEnd()
        {
            var stringDifference = StringDifference.Analyze("toto  ", "toto ", false);

            Check.That(stringDifference).HasSize(1);
            Check.That(stringDifference[0].Kind).IsEqualTo(DifferenceMode.Spaces);
        }
コード例 #3
0
        public void ShouldReportDifferenceForLongerTextOnMultiline()
        {
            var stringDifferences = StringDifference.Analyze("foo bar\ntest", "foo\ntest", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.LongerLine);
            Check.That(stringDifferences[0].Position).IsEqualTo(3);
        }
コード例 #4
0
        public void ShouldReportDifferenceForGeneralEvenIfFirstDiffIsCase()
        {
            var stringDifferences = StringDifference.Analyze("food", "FoOGd", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.General);
            Check.That(stringDifferences[0].Position).IsEqualTo(3);
        }
コード例 #5
0
        public void ShouldReportDifferenceForGeneralSameLength()
        {
            var stringDifferences = StringDifference.Analyze("food", "FoOG", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.GeneralSameLength);
            Check.That(stringDifferences[0].Position).IsEqualTo(3);
        }
コード例 #6
0
        public void ShouldReportDifferenceForCaseSensitive()
        {
            var stringDifferences = StringDifference.Analyze("foo", "foO", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.CaseDifference);
            Check.That(stringDifferences[0].Position).IsEqualTo(2);
        }
コード例 #7
0
        public void ShouldReportDifferentLineWhenOneLine()
        {
            var stringDifferences = StringDifference.Analyze("foo", "far", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.GeneralSameLength);
            Check.That(stringDifferences[0].Position).IsEqualTo(1);
        }
コード例 #8
0
        public void ShouldReportDifferenceForShorterTextOnMultiline()
        {
            var stringDifferences = StringDifference.Analyze("toto\ntest", "toto et tata\ntest", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.ShorterLine);
            Check.That(stringDifferences[0].Position).IsEqualTo(4);
        }
コード例 #9
0
        public void ShouldReportDifferenceOfEoL()
        {
            var stringDifferences = StringDifference.Analyze("toto\ntiti", "toto\r\ntiti", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.EndOfLine);
            Check.That(stringDifferences[0].Position).IsEqualTo(4);
            Check.That(stringDifferences[0].Line).IsEqualTo(0);
        }
コード例 #10
0
        public void ShouldProvideSyntheticView()
        {
            var stringDifferences = StringDifference.Analyze("toto\ntiti", "toto\nTiTi", false);

            Check.That(StringDifference.Summarize(stringDifferences)).IsEqualTo(DifferenceMode.CaseDifference);

            stringDifferences = StringDifference.Analyze("Toto\ntiti", "toto\ntata", false);
            Check.That(StringDifference.Summarize(stringDifferences)).IsEqualTo(DifferenceMode.General);
        }
コード例 #11
0
        public void ShouldReportDifferenceOfNumberOfLinesL()
        {
            var stringDifferences = StringDifference.Analyze("toto\ntiti", "toto", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.ExtraLines);
            Check.That(stringDifferences[0].Position).IsEqualTo(0);
            Check.That(stringDifferences[0].Line).IsEqualTo(1);
            stringDifferences = StringDifference.Analyze("toto", "toto\n", false);
            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.MissingLines);
            Check.That(stringDifferences[0].Position).IsEqualTo(0);
            Check.That(stringDifferences[0].Line).IsEqualTo(1);
        }
コード例 #12
0
 private static void PerformEqualCheck(object expected, ICheckLogic <string> test, bool ignoreCase = false)
 {
     test.DefineExpectedValue(expected)
     .OnNegate("The {0} is equal to the {1} whereas it must not.", MessageOption.NoCheckedBlock)
     .FailWhen((sut) => expected == null && sut != null, "The {0} is not null whereas it must.")
     .FailWhen((sut) => expected != null && sut == null, "The {0} is null whereas it must not.")
     .Analyze((sut, runner) =>
     {
         var details = StringDifference.Analyze(sut, (string)expected, ignoreCase);
         if (details != null && details.Count > 0)
         {
             runner.Fail(StringDifference.SummaryMessage(details));
         }
     })
     .EndCheck();
 }
コード例 #13
0
        public void ShouldReportDifferenceForMultipleLines()
        {
            var stringDifferences = StringDifference.Analyze("toto\ntiti", "toto\ntata", false);

            Check.That(stringDifferences).HasSize(1);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.GeneralSameLength);
            Check.That(stringDifferences[0].Position).IsEqualTo(1);
            Check.That(stringDifferences[0].Line).IsEqualTo(1);
            stringDifferences = StringDifference.Analyze("maybe\ntiti", "toto\ntatata", false);
            Check.That(stringDifferences).HasSize(2);
            Check.That(stringDifferences[0].Kind).IsEqualTo(DifferenceMode.General);
            Check.That(stringDifferences[0].Position).IsEqualTo(0);
            Check.That(stringDifferences[0].Line).IsEqualTo(0);
            Check.That(stringDifferences[1].Kind).IsEqualTo(DifferenceMode.General);
            Check.That(stringDifferences[1].Position).IsEqualTo(1);
            Check.That(stringDifferences[1].Line).IsEqualTo(1);
        }
コード例 #14
0
        public void ShouldNotReportDifferenceForCaseSensitiveWhenDisabled()
        {
            var stringDifferences = StringDifference.Analyze("foo", "foO", true);

            Check.That(stringDifferences).HasSize(0);
        }
コード例 #15
0
 public void ShouldNotReportWhenNoDifference()
 {
     Check.That(StringDifference.Analyze("foo", "foo", false)).IsNull();
 }
コード例 #16
0
 public void ShouldNotHandleNullString()
 {
     Check.ThatCode(() =>
                    Check.That(StringDifference.Analyze(null, "foo", false)).HasSize(1)).Throws <NullReferenceException>();
 }
コード例 #17
0
 public void ShouldHandleNullString()
 {
     Check.That(StringDifference.Analyze(null, "foo", false)).HasSize(1);
 }