Beispiel #1
0
 private static void ShouldBeEqualAccordingToCompareToMethods(
     SomeComparableObject first,
     SomeComparableObject second)
 {
     first.CompareTo(second).Should().Be(0);
     first.CompareToObject(second).Should().Be(0);
 }
Beispiel #2
0
 private static void ShouldBeGreaterAccordingToCompareToMethods(
     SomeComparableObject greater,
     SomeComparableObject smaller)
 {
     greater.CompareTo(smaller).Should().BePositive();
     greater.CompareToObject(smaller).Should().BePositive();
 }
Beispiel #3
0
 private static void ShouldBeLesserThanAccordingToCompareToMethods(
     SomeComparableObject smaller,
     SomeComparableObject greater)
 {
     smaller.CompareTo(greater).Should().BeNegative();
     smaller.CompareToObject(greater).Should().BeNegative();
 }
Beispiel #4
0
        public void cannot_compare_objects_of_two_different_types()
        {
            var first  = new SomeComparableObject(1);
            var second = "some string";

            Action comparing = () => first.CompareToObject(second);

            comparing.ShouldThrow <ArgumentException>();
        }
Beispiel #5
0
        public void any_object_compares_greater_than_null()
        {
            var some = new SomeComparableObject(1);

            ShouldBeGreaterAccordingToCompareToMethods(some, null);

            ShouldBeGreaterThanAccordingToOperators(some, null);
            ShouldBeLesserThanAccordingToOperators(null, some);
        }
Beispiel #6
0
        private void ShouldBeLesserThanAccordingToOperators(SomeComparableObject first, SomeComparableObject second)
        {
            (first > second).Should().BeFalse();
            (first >= second).Should().BeFalse();
            (first == second).Should().BeFalse();
            (first <= second).Should().BeTrue();
            (first < second).Should().BeTrue();

            (first != second).Should().BeTrue();
        }
Beispiel #7
0
        public void equality_comparing_objects_of_two_different_types_should_still_be_possible()
        {
            var first  = new SomeComparableObject(1);
            var second = "some string";

            // ReSharper disable once SuspiciousTypeConversion.Global
            // ReSharper disable once ReturnValueOfPureMethodIsNotUsed
            Action equalityComparing = () => first.Equals(second);

            equalityComparing.ShouldNotThrow();
        }
Beispiel #8
0
        public void greater_object_compares_greater_than_smaller_one()
        {
            var greater = new SomeComparableObject(2);
            var smaller = new SomeComparableObject(1);

            ShouldBeGreaterAccordingToCompareToMethods(greater, smaller);
            ShouldBeLesserThanAccordingToCompareToMethods(smaller, greater);

            ShouldBeGreaterThanAccordingToOperators(greater, smaller);
            ShouldBeLesserThanAccordingToOperators(smaller, greater);
        }
Beispiel #9
0
        public void equal_objects_compare_equal()
        {
            var first  = new SomeComparableObject(1);
            var second = new SomeComparableObject(1);

            ShouldBeEqualAccordingToCompareToMethods(first, second);
            ShouldBeEqualAccordingToCompareToMethods(second, first);

            ShouldBeEqualAccordingToOperators(first, second);
            ShouldBeEqualAccordingToOperators(second, first);
        }
Beispiel #10
0
 protected override int CompareToNotNull(SomeComparableObject notNullOther) =>
 _value.CompareTo(notNullOther._value);