public void MustBeLessThanOrEqualToFail(IComparable value, IComparable maxValue)
        {
            try
            {
                value.MustBeLessThanOrEqualTo(maxValue);

                Assert.Fail();
            }
            catch (ArgumentNullException ex)
            {
                Assert.AreEqual("Value cannot be null.", ex.Message);
            }
            catch (ArgumentException ex)
            {
                Assert.AreEqual($"Value must be less than or equal to {maxValue}.", ex.Message);
            }

            try
            {
                value.MustBeLessThanOrEqualTo(maxValue, () => throw new InvalidOperationException("Test."));

                Assert.Fail();
            }
            catch (ArgumentNullException ex)
            {
                Assert.AreEqual("Value cannot be null.", ex.Message);
            }
            catch (InvalidOperationException ex)
            {
                Assert.AreEqual("Test.", ex.Message);
            }
        }
 public void MustBeLessThanOrEqualTo(IComparable value, IComparable minValue)
 {
     Assert.AreSame(value, value.MustBeLessThanOrEqualTo(minValue));
 }