Пример #1
0
        public static void Can_validate_invalid_values_for_int_constructor()
        {
            var attribute = new RangeAttribute(1, 3);

            Assert.Throws <ValidationException>(() => attribute.Validate(0, s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate(4, s_testValidationContext));
        }
Пример #2
0
        public static void Can_validate_invalid_values_for_double_constructor()
        {
            var attribute = new RangeAttribute(1.0, 3.0);

            Assert.Throws <ValidationException>(() => attribute.Validate(0.9999999, s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate(3.0000001, s_testValidationContext));
        }
Пример #3
0
        public static void Can_validate_invalid_values_for_doubles_using_type_and_strings_constructor()
        {
            var attribute = new RangeAttribute(typeof(double), (1.0).ToString("F1"), (3.0).ToString("F1"));

            Assert.Throws <ValidationException>(() => attribute.Validate(0.9999999, s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate((0.9999999).ToString(), s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate(3.0000001, s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate((3.0000001).ToString(), s_testValidationContext));
        }
Пример #4
0
        public static void Can_validate_invalid_values_for_doubles_using_type_and_strings_constructor()
        {
            var attribute = new RangeAttribute(typeof(double), "1.0", "3.0");

            Assert.Throws <ValidationException>(() => attribute.Validate(0.9999999, s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate("0.9999999", s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate(3.0000001, s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate("3.0000001", s_testValidationContext));
        }
Пример #5
0
 public static void Can_validate_valid_values_for_double_constructor()
 {
     var attribute = new RangeAttribute(1.0, 3.0);
     AssertEx.DoesNotThrow(() => attribute.Validate(null, s_testValidationContext)); // null is valid
     AssertEx.DoesNotThrow(() => attribute.Validate(string.Empty, s_testValidationContext)); // empty string is valid
     AssertEx.DoesNotThrow(() => attribute.Validate(1.0, s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate(2.0, s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate(3.0, s_testValidationContext));
 }
Пример #6
0
        public static void Can_validate_invalid_values_for_integers_using_type_and_strings_constructor()
        {
            var attribute = new RangeAttribute(typeof(int), "1", "3");

            Assert.Throws <ValidationException>(() => attribute.Validate(0, s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate("0", s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate(4, s_testValidationContext));
            Assert.Throws <ValidationException>(() => attribute.Validate("4", s_testValidationContext));
        }
Пример #7
0
        public static void Can_validate_valid_values_for_double_constructor()
        {
            var attribute = new RangeAttribute(1.0, 3.0);

            AssertEx.DoesNotThrow(() => attribute.Validate(null, s_testValidationContext));         // null is valid
            AssertEx.DoesNotThrow(() => attribute.Validate(string.Empty, s_testValidationContext)); // empty string is valid
            AssertEx.DoesNotThrow(() => attribute.Validate(1.0, s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate(2.0, s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate(3.0, s_testValidationContext));
        }
Пример #8
0
 public static void Can_validate_valid_values_for_integers_using_type_and_strings_constructor()
 {
     var attribute = new RangeAttribute(typeof(int), "1", "3");
     AssertEx.DoesNotThrow(() => attribute.Validate(null, s_testValidationContext)); // null is valid
     AssertEx.DoesNotThrow(() => attribute.Validate(string.Empty, s_testValidationContext)); // empty string is valid
     AssertEx.DoesNotThrow(() => attribute.Validate(1, s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate("1", s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate(2, s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate("2", s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate(3, s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate("3", s_testValidationContext));
 }
Пример #9
0
        public static void Validation_throws_InvalidOperationException_for_null_OperandType()
        {
            var attribute = new RangeAttribute(null, "someMinimum", "someMaximum");

            Assert.Null(attribute.OperandType);
            Assert.Throws <InvalidOperationException>(
                () => attribute.Validate("Does not matter - OperandType is null", s_testValidationContext));
        }
Пример #10
0
        public static void Validation_throws_InvalidOperationException_for_OperandType_which_is_not_assignable_from_IComparable()
        {
            var attribute = new RangeAttribute(typeof(InvalidOperandType), "someMinimum", "someMaximum");

            Assert.Equal(typeof(InvalidOperandType), attribute.OperandType);
            Assert.Throws <InvalidOperationException>(
                () => attribute.Validate("Does not matter - OperandType is not assignable from IComparable", s_testValidationContext));
        }
Пример #11
0
        public static void Can_validate_valid_values_for_doubles_using_type_and_strings_constructor()
        {
            var attribute = new RangeAttribute(typeof(double), (1.0).ToString("F1"), (3.0).ToString("F1"));

            AssertEx.DoesNotThrow(() => attribute.Validate(null, s_testValidationContext));         // null is valid
            AssertEx.DoesNotThrow(() => attribute.Validate(string.Empty, s_testValidationContext)); // empty string is valid
            AssertEx.DoesNotThrow(() => attribute.Validate(1.0, s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate((1.0).ToString("F1"), s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate(2.0, s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate((2.0).ToString("F1"), s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate(3.0, s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate((3.0).ToString("F1"), s_testValidationContext));
        }
Пример #12
0
        public static void Can_validate_valid_values_for_integers_using_type_and_strings_constructor()
        {
            var attribute = new RangeAttribute(typeof(int), "1", "3");

            AssertEx.DoesNotThrow(() => attribute.Validate(null, s_testValidationContext));         // null is valid
            AssertEx.DoesNotThrow(() => attribute.Validate(string.Empty, s_testValidationContext)); // empty string is valid
            AssertEx.DoesNotThrow(() => attribute.Validate(1, s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate("1", s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate(2, s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate("2", s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate(3, s_testValidationContext));
            AssertEx.DoesNotThrow(() => attribute.Validate("3", s_testValidationContext));
        }
Пример #13
0
        public static void Validation_throws_Exception_if_min_and_max_values_cannot_be_converted_to_double_OperandType()
        {
            var attribute = new RangeAttribute(typeof(double), "Cannot Convert", "3.0");

            Assert.Throws <FormatException>(
                () => attribute.Validate("Does not matter - cannot convert minimum to double", s_testValidationContext));

            attribute = new RangeAttribute(typeof(double), "1.0", "Cannot Convert");
            Assert.Throws <FormatException>(
                () => attribute.Validate("Does not matter - cannot convert maximum to double", s_testValidationContext));
        }
Пример #14
0
        public static void Validation_throws_InvalidOperationException_if_minimum_is_greater_than_maximum()
        {
            var attribute = new RangeAttribute(3, 1);

            Assert.Throws <InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));

            attribute = new RangeAttribute(3.0, 1.0);
            Assert.Throws <InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));

            attribute = new RangeAttribute(typeof(int), "3", "1");
            Assert.Throws <InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));

            attribute = new RangeAttribute(typeof(double), "3.0", "1.0");
            Assert.Throws <InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));

            attribute = new RangeAttribute(typeof(string), "z", "a");
            Assert.Throws <InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));
        }
Пример #15
0
 public static void Can_validate_invalid_values_for_doubles_using_type_and_strings_constructor()
 {
     var attribute = new RangeAttribute(typeof(double), (1.0).ToString("F1"), (3.0).ToString("F1"));
     Assert.Throws<ValidationException>(() => attribute.Validate(0.9999999, s_testValidationContext));
     Assert.Throws<ValidationException>(() => attribute.Validate((0.9999999).ToString(), s_testValidationContext));
     Assert.Throws<ValidationException>(() => attribute.Validate(3.0000001, s_testValidationContext));
     Assert.Throws<ValidationException>(() => attribute.Validate((3.0000001).ToString(), s_testValidationContext));
 }
Пример #16
0
 public static void Validation_throws_InvalidOperationException_for_null_OperandType()
 {
     var attribute = new RangeAttribute(null, "someMinimum", "someMaximum");
     Assert.Null(attribute.OperandType);
     Assert.Throws<InvalidOperationException>(
         () => attribute.Validate("Does not matter - OperandType is null", s_testValidationContext));
 }
Пример #17
0
 public static void Validation_throws_InvalidOperationException_for_OperandType_which_is_not_assignable_from_IComparable()
 {
     var attribute = new RangeAttribute(typeof(InvalidOperandType), "someMinimum", "someMaximum");
     Assert.Equal(typeof(InvalidOperandType), attribute.OperandType);
     Assert.Throws<InvalidOperationException>(
         () => attribute.Validate("Does not matter - OperandType is not assignable from IComparable", s_testValidationContext));
 }
Пример #18
0
        public static void Validation_throws_Exception_if_min_and_max_values_cannot_be_converted_to_int_OperandType()
        {
            var attribute = new RangeAttribute(typeof(int), "Cannot Convert", "3");
            Assert.Throws<FormatException>(
                () => attribute.Validate("Does not matter - cannot convert minimum to int", s_testValidationContext));

            attribute = new RangeAttribute(typeof(int), "1", "Cannot Convert");
            Assert.Throws<FormatException>(
                () => attribute.Validate("Does not matter - cannot convert maximum to int", s_testValidationContext));
        }
Пример #19
0
        public static void Validation_throws_InvalidOperationException_if_minimum_is_greater_than_maximum()
        {
            var attribute = new RangeAttribute(3, 1);
            Assert.Throws<InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));

            attribute = new RangeAttribute(3.0, 1.0);
            Assert.Throws<InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));

            attribute = new RangeAttribute(typeof(int), "3", "1");
            Assert.Throws<InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));

            attribute = new RangeAttribute(typeof(double), (3.0).ToString("F1"), (1.0).ToString("F1"));
            Assert.Throws<InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));

            attribute = new RangeAttribute(typeof(string), "z", "a");
            Assert.Throws<InvalidOperationException>(
                () => attribute.Validate("Does not matter - minimum > maximum", s_testValidationContext));
        }
Пример #20
0
 public static void Can_validate_valid_values_for_doubles_using_type_and_strings_constructor()
 {
     var attribute = new RangeAttribute(typeof(double), (1.0).ToString("F1"), (3.0).ToString("F1"));
     AssertEx.DoesNotThrow(() => attribute.Validate(null, s_testValidationContext)); // null is valid
     AssertEx.DoesNotThrow(() => attribute.Validate(string.Empty, s_testValidationContext)); // empty string is valid
     AssertEx.DoesNotThrow(() => attribute.Validate(1.0, s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate((1.0).ToString("F1"), s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate(2.0, s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate((2.0).ToString("F1"), s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate(3.0, s_testValidationContext));
     AssertEx.DoesNotThrow(() => attribute.Validate((3.0).ToString("F1"), s_testValidationContext));
 }
Пример #21
0
 public static void Can_validate_invalid_values_for_integers_using_type_and_strings_constructor()
 {
     var attribute = new RangeAttribute(typeof(int), "1", "3");
     Assert.Throws<ValidationException>(() => attribute.Validate(0, s_testValidationContext));
     Assert.Throws<ValidationException>(() => attribute.Validate("0", s_testValidationContext));
     Assert.Throws<ValidationException>(() => attribute.Validate(4, s_testValidationContext));
     Assert.Throws<ValidationException>(() => attribute.Validate("4", s_testValidationContext));
 }
Пример #22
0
 public static void Can_validate_invalid_values_for_double_constructor()
 {
     var attribute = new RangeAttribute(1.0, 3.0);
     Assert.Throws<ValidationException>(() => attribute.Validate(0.9999999, s_testValidationContext));
     Assert.Throws<ValidationException>(() => attribute.Validate(3.0000001, s_testValidationContext));
 }
Пример #23
0
        public static void Validation_throws_Exception_if_min_and_max_values_cannot_be_converted_to_double_OperandType()
        {
            var attribute = new RangeAttribute(typeof(double), "Cannot Convert", (3.0).ToString("F1"));
            Assert.Throws<FormatException>(
                () => attribute.Validate("Does not matter - cannot convert minimum to double", s_testValidationContext));

            attribute = new RangeAttribute(typeof(double), (1.0).ToString("F1"), "Cannot Convert");
            Assert.Throws<FormatException>(
                () => attribute.Validate("Does not matter - cannot convert maximum to double", s_testValidationContext));
        }
Пример #24
0
 public static void Can_validate_invalid_values_for_int_constructor()
 {
     var attribute = new RangeAttribute(1, 3);
     Assert.Throws<ValidationException>(() => attribute.Validate(0, s_testValidationContext));
     Assert.Throws<ValidationException>(() => attribute.Validate(4, s_testValidationContext));
 }