示例#1
0
        private static void DoTest(string left, string right, ComparerEquality expectedResult, NaturalComparer comparer)
        {
            var result = comparer.Compare(left, right);

            switch (expectedResult)
            {
            case ComparerEquality.LessThan:
                Assert.True(result <= (int)expectedResult, $"Result: {result} Expected Result: {expectedResult}({(int)expectedResult})");
                break;

            case ComparerEquality.Equal:
                Assert.True(result == (int)expectedResult, $"Result: {result} Expected Result: {expectedResult}({(int)expectedResult})");
                break;

            case ComparerEquality.GreaterThan:
                Assert.True(result >= (int)expectedResult, $"Result: {result} Expected Result: {expectedResult}({(int)expectedResult})");
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(expectedResult), expectedResult, null);
            }
        }
        public void Tests(string a, string b, string[] weights, WeightedNaturalComparer.WeightedNaturalComparerOptions
                          options, ComparerEquality expected)
        {
            var comparer = new WeightedNaturalComparer(weights, options);

            switch (expected)
            {
            case ComparerEquality.LessThan:
                comparer.Compare(a, b).Should().BeLessThan(0);
                break;

            case ComparerEquality.Equal:
                comparer.Compare(a, b).Should().Be(0);
                break;

            case ComparerEquality.GreaterThan:
                comparer.Compare(a, b).Should().BeGreaterThan(0);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(expected), expected, null);
            }
        }
示例#3
0
        public void TestCompare(string left, string right, ComparerEquality expectedResult, NaturalComparerOptions options = NaturalComparerOptions.None)
        {
            var comparer = new NaturalComparer(options);

            DoTest(left, right, expectedResult, comparer);
        }