示例#1
0
        public void Below_Min_Entry_Is_Not_Valid()
        {
            var rca    = new RequiredCollectionAttribute(2);
            var result = rca.IsValid(new[] { "" });

            Assert.IsFalse(result);
        }
示例#2
0
        public void Above_Max_Entry_Is_Not_Valid()
        {
            var rca    = new RequiredCollectionAttribute(1, 2);
            var result = rca.IsValid(new[] { "", "", "" });

            Assert.IsFalse(result);
        }
示例#3
0
        public void Empty_Is_Not_Valid()
        {
            var rca    = new RequiredCollectionAttribute();
            var result = rca.IsValid(new string[0]);

            Assert.IsFalse(result);
        }
示例#4
0
        public void One_Entry_Is_Valid_By_Default()
        {
            var rca    = new RequiredCollectionAttribute();
            var result = rca.IsValid(new[] { "" });

            Assert.IsTrue(result);
        }
示例#5
0
        public void WrongTypeThrowsInvalidCastException()
        {
            var attribute = new RequiredCollectionAttribute(0, 0);
            var exception = Throws <InvalidCastException>(() => attribute.IsValid(attribute));

            Equal("Unable to cast object of type 'Syrx.Validation.Attributes.RequiredCollectionAttribute' to type 'System.Collections.IEnumerable'.", exception.Message);
        }
示例#6
0
        public void Null_Is_Not_Valid()
        {
            var rca    = new RequiredCollectionAttribute();
            var result = rca.IsValid(null);

            Assert.IsFalse(result);
        }
示例#7
0
        public void NullObjectThrowsArgumentNullException()
        {
            var attribute = new RequiredCollectionAttribute(0, 0);
            var exception = Throws <ArgumentNullException>(() => attribute.IsValid(null));

            Equal("Value cannot be null. (Parameter 'The object passed to the attribute was null.')", exception.Message);
        }
示例#8
0
        public void LengthBelowMinimumReturnsFalse()
        {
            var collection = new List <object>();
            var attribute  = new RequiredCollectionAttribute(1);
            var result     = attribute.IsValid(collection);

            False(result);
        }
示例#9
0
        public void LengthBetweenMinimumAndMaximumReturnsTrue()
        {
            var collection = new List <int> {
                1, 2, 3
            };
            var attribute = new RequiredCollectionAttribute(1, 5);
            var result    = attribute.IsValid(collection);

            True(result);
        }
示例#10
0
        public void LengthAboveMinimumReturnsTrue()
        {
            var collection = new List <int> {
                1, 2, 3
            };
            var attribute = new RequiredCollectionAttribute(2);
            var result    = attribute.IsValid(collection);

            True(result);
        }
示例#11
0
        public void LengthMatchesMinimumReturnsTrue()
        {
            var collection = new List <int> {
                1
            };
            var attribute = new RequiredCollectionAttribute(1);
            var result    = attribute.IsValid(collection);

            True(result);
        }