From bf045c1131c2010a3eaeb942110782f418ebf0fc Mon Sep 17 00:00:00 2001 From: Artur Krajewski Date: Wed, 3 Oct 2018 21:18:47 +0200 Subject: [PATCH] Extract method for failing of BeCloseTo and NotBeCloseTo --- .../NumericAssertionsExtensions.cs | 111 ++++++------------ .../NullableNumericAssertionSpecs.cs | 1 - 2 files changed, 35 insertions(+), 77 deletions(-) diff --git a/Src/FluentAssertions/NumericAssertionsExtensions.cs b/Src/FluentAssertions/NumericAssertionsExtensions.cs index 1b34975f13..4bafd8d773 100644 --- a/Src/FluentAssertions/NumericAssertionsExtensions.cs +++ b/Src/FluentAssertions/NumericAssertionsExtensions.cs @@ -45,11 +45,7 @@ public static class NumericAssertionsExtensions maxValue = sbyte.MaxValue; } - Execute.Assertion - .ForCondition(minValue <= actualValue && actualValue <= maxValue) - .BecauseOf(because, becauseArgs) - .FailWith("Expected {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, nearbyValue, actualValue); + FailIfValueOutsideBounds(minValue <= actualValue && actualValue <= maxValue, nearbyValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -88,11 +84,7 @@ public static class NumericAssertionsExtensions maxValue = byte.MaxValue; } - Execute.Assertion - .ForCondition(minValue <= actualValue && actualValue <= maxValue) - .BecauseOf(because, becauseArgs) - .FailWith("Expected {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, nearbyValue, actualValue); + FailIfValueOutsideBounds(minValue <= actualValue && actualValue <= maxValue, nearbyValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -131,11 +123,7 @@ public static class NumericAssertionsExtensions maxValue = short.MaxValue; } - Execute.Assertion - .ForCondition(minValue <= actualValue && actualValue <= maxValue) - .BecauseOf(because, becauseArgs) - .FailWith("Expected {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, nearbyValue, actualValue); + FailIfValueOutsideBounds(minValue <= actualValue && actualValue <= maxValue, nearbyValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -174,11 +162,7 @@ public static class NumericAssertionsExtensions maxValue = ushort.MaxValue; } - Execute.Assertion - .ForCondition(minValue <= actualValue && actualValue <= maxValue) - .BecauseOf(because, becauseArgs) - .FailWith("Expected {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, nearbyValue, actualValue); + FailIfValueOutsideBounds(minValue <= actualValue && actualValue <= maxValue, nearbyValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -217,11 +201,7 @@ public static class NumericAssertionsExtensions maxValue = int.MaxValue; } - Execute.Assertion - .ForCondition(minValue <= actualValue && actualValue <= maxValue) - .BecauseOf(because, becauseArgs) - .FailWith("Expected {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, nearbyValue, actualValue); + FailIfValueOutsideBounds(minValue <= actualValue && actualValue <= maxValue, nearbyValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -260,11 +240,7 @@ public static class NumericAssertionsExtensions maxValue = uint.MaxValue; } - Execute.Assertion - .ForCondition(minValue <= actualValue && actualValue <= maxValue) - .BecauseOf(because, becauseArgs) - .FailWith("Expected {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, nearbyValue, actualValue); + FailIfValueOutsideBounds(minValue <= actualValue && actualValue <= maxValue, nearbyValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -294,11 +270,7 @@ public static class NumericAssertionsExtensions long minValue = GetMinValue(nearbyValue, delta); long maxValue = GetMaxValue(nearbyValue, delta); - Execute.Assertion - .ForCondition(minValue <= actualValue && actualValue <= maxValue) - .BecauseOf(because, becauseArgs) - .FailWith("Expected {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, nearbyValue, actualValue); + FailIfValueOutsideBounds(minValue <= actualValue && actualValue <= maxValue, nearbyValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -337,13 +309,20 @@ public static class NumericAssertionsExtensions maxValue = ulong.MaxValue; } + FailIfValueOutsideBounds(minValue <= actualValue && actualValue <= maxValue, nearbyValue, delta, actualValue, because, becauseArgs); + + return new AndConstraint>(parent); + } + + private static void FailIfValueOutsideBounds(bool valueWithinBounds, + TValue nearbyValue, TDelta delta, TValue actualValue, + string because, object[] becauseArgs) + { Execute.Assertion - .ForCondition(minValue <= actualValue && actualValue <= maxValue) + .ForCondition(valueWithinBounds) .BecauseOf(because, becauseArgs) .FailWith("Expected {context:value} to be within {0} from {1}{reason}, but found {2}.", delta, nearbyValue, actualValue); - - return new AndConstraint>(parent); } #endregion @@ -384,11 +363,7 @@ public static class NumericAssertionsExtensions maxValue = sbyte.MaxValue; } - Execute.Assertion - .ForCondition(!(minValue <= actualValue && actualValue <= maxValue)) - .BecauseOf(because, becauseArgs) - .FailWith("Did not expect {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, distantValue, actualValue); + FailIfValueInsideBounds(!(minValue <= actualValue && actualValue <= maxValue), distantValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -427,11 +402,7 @@ public static class NumericAssertionsExtensions maxValue = byte.MaxValue; } - Execute.Assertion - .ForCondition(!(minValue <= actualValue && actualValue <= maxValue)) - .BecauseOf(because, becauseArgs) - .FailWith("Did not expect {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, distantValue, actualValue); + FailIfValueInsideBounds(!(minValue <= actualValue && actualValue <= maxValue), distantValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -470,11 +441,7 @@ public static class NumericAssertionsExtensions maxValue = short.MaxValue; } - Execute.Assertion - .ForCondition(!(minValue <= actualValue && actualValue <= maxValue)) - .BecauseOf(because, becauseArgs) - .FailWith("Did not expect {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, distantValue, actualValue); + FailIfValueInsideBounds(!(minValue <= actualValue && actualValue <= maxValue), distantValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -513,11 +480,7 @@ public static class NumericAssertionsExtensions maxValue = ushort.MaxValue; } - Execute.Assertion - .ForCondition(!(minValue <= actualValue && actualValue <= maxValue)) - .BecauseOf(because, becauseArgs) - .FailWith("Did not expect {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, distantValue, actualValue); + FailIfValueInsideBounds(!(minValue <= actualValue && actualValue <= maxValue), distantValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -556,11 +519,7 @@ public static class NumericAssertionsExtensions maxValue = int.MaxValue; } - Execute.Assertion - .ForCondition(!(minValue <= actualValue && actualValue <= maxValue)) - .BecauseOf(because, becauseArgs) - .FailWith("Did not expect {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, distantValue, actualValue); + FailIfValueInsideBounds(!(minValue <= actualValue && actualValue <= maxValue), distantValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -599,11 +558,7 @@ public static class NumericAssertionsExtensions maxValue = uint.MaxValue; } - Execute.Assertion - .ForCondition(!(minValue <= actualValue && actualValue <= maxValue)) - .BecauseOf(because, becauseArgs) - .FailWith("Did not expect {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, distantValue, actualValue); + FailIfValueInsideBounds(!(minValue <= actualValue && actualValue <= maxValue), distantValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -633,11 +588,7 @@ public static class NumericAssertionsExtensions long minValue = GetMinValue(distantValue, delta); long maxValue = GetMaxValue(distantValue, delta); - Execute.Assertion - .ForCondition(!(minValue <= actualValue && actualValue <= maxValue)) - .BecauseOf(because, becauseArgs) - .FailWith("Did not expect {context:value} to be within {0} from {1}{reason}, but found {2}.", - delta, distantValue, actualValue); + FailIfValueInsideBounds(!(minValue <= actualValue && actualValue <= maxValue), distantValue, delta, actualValue, because, becauseArgs); return new AndConstraint>(parent); } @@ -676,13 +627,21 @@ public static class NumericAssertionsExtensions maxValue = ulong.MaxValue; } + FailIfValueInsideBounds(!(minValue <= actualValue && actualValue <= maxValue), distantValue, delta, actualValue, because, becauseArgs); + + return new AndConstraint>(parent); + } + + private static void FailIfValueInsideBounds( + bool valueOutsideBounds, + TValue distantValue, TDelta delta, TValue actualValue, + string because, object[] becauseArgs) + { Execute.Assertion - .ForCondition(!(minValue <= actualValue && actualValue <= maxValue)) + .ForCondition(valueOutsideBounds) .BecauseOf(because, becauseArgs) .FailWith("Did not expect {context:value} to be within {0} from {1}{reason}, but found {2}.", delta, distantValue, actualValue); - - return new AndConstraint>(parent); } #endregion diff --git a/Tests/Shared.Specs/NullableNumericAssertionSpecs.cs b/Tests/Shared.Specs/NullableNumericAssertionSpecs.cs index 52d65d23fd..f461c60d69 100644 --- a/Tests/Shared.Specs/NullableNumericAssertionSpecs.cs +++ b/Tests/Shared.Specs/NullableNumericAssertionSpecs.cs @@ -1,5 +1,4 @@ using System; -using FluentAssertions.Primitives; using Xunit; using Xunit.Sdk;