Going through code we've added to our project.
public class NumericAssertionsExtended<T> : NumericAssertions<T>
{
protected internal NumericAssertionsExtended(T value) : base(value)
{
}
}
public static class NumericAssertionsExtendedExtensions
{
public static NumericAssertions<decimal> Should(this decimal actualValue)
{
return new NumericAssertionsExtended<decimal>(actualValue);
}
public static NumericAssertions<decimal?> Should(this decimal? actualValue)
{
return new NumericAssertionsExtended<decimal?>(actualValue);
}
public static AndConstraint<NumericAssertions<decimal>> Be(this NumericAssertions<decimal> parent, decimal expected)
{
return Be(parent, expected, string.Empty);
}
public static AndConstraint<NumericAssertions<decimal>> Be(this NumericAssertions<decimal> parent, decimal expected, string reason,
params object[] reasonArgs)
{
Execute.Verification
.ForCondition(parent.Subject.CompareTo(expected) == 0)
.BecauseOf(reason, reasonArgs)
.FailWith("Expected value {0} to be exactly {1}{reason}.", parent.Subject, expected);
return new AndConstraint<NumericAssertions<decimal>>(parent);
}
public static AndConstraint<NumericAssertions<decimal?>> Be(this NumericAssertions<decimal?> parent, decimal? expected)
{
return Be(parent, expected, string.Empty);
}
public static AndConstraint<NumericAssertions<decimal?>> Be(this NumericAssertions<decimal?> parent, decimal? expected, string reason,
params object[] reasonArgs)
{
Execute.Verification
.ForCondition(ReferenceEquals(parent.Subject, expected) || (parent.Subject.CompareTo(expected) == 0))
.BecauseOf(reason, reasonArgs)
.FailWith("Expected value {0} to be exactly {1}{reason}.", parent.Subject, expected);
return new AndConstraint<NumericAssertions<decimal?>>(parent);
}
}