コード例 #1
0
        public void TestNestingCollectionValidator()
        {
            Society soc = new Society();

            soc.Members.Add(new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"));
            soc.Members.Add(new Inventor("Mihajlo Pupin", new DateTime(1854, 10, 9), "Serbian"));


            RequiredValidator req = new RequiredValidator("Name", "true");

            RegularExpressionValidator reg = new RegularExpressionValidator("Name", "true", @"[a-z]*\s[a-z]*");

            reg.Options = RegexOptions.IgnoreCase;

            CollectionValidator validator = new CollectionValidator();

            validator.Validators.Add(req);
            validator.Validators.Add(reg);

            validator.Context = Expression.Parse("Members");

            Assert.IsTrue(validator.Validate(soc, new ValidationErrors()));

            validator.Context = null;
            Assert.IsTrue(validator.Validate(soc.Members, new ValidationErrors()));
        }
コード例 #2
0
        public void TestWithNull()
        {
            CollectionValidator validator = new CollectionValidator();

            //This should cause the ArgumentException because we passed null into Validate method
            Assert.IsTrue(validator.Validate(null, new ValidationErrors()));
        }
コード例 #3
0
        public void TestDifferentCollectionTypes()
        {
            const string xml = @"<?xml version='1.0' encoding='UTF-8' ?>
            <objects xmlns='http://www.springframework.net' xmlns:v='http://www.springframework.net/validation'>
          <v:group id='validatePerson' when='T(Spring.Objects.TestObject) == #this.GetType()'>
            <v:required id ='req' when='true' test='Name'/>
            <v:regex id ='reg' test='Name'>
              <v:property name='Expression' value='[a-z]*\s[a-z]*'/>
              <v:property name='Options' value='IgnoreCase'/>
              <v:message id='reg1' providers='regularni' when='true'>
                 <v:param value='#this.ToString()'/> 
              </v:message>
            </v:regex>
          </v:group>  
           <v:collection id='collectionValidator' validate-all='true'>
                <v:ref name='validatePerson'/>
           </v:collection>
           </objects>";

            MemoryStream stream   = new MemoryStream(new UTF8Encoding().GetBytes(xml));
            IResource    resource = new InputStreamResource(stream, "collectionValidator");

            XmlObjectFactory    objectFactory = new XmlObjectFactory(resource, null);
            CollectionValidator validator     = (CollectionValidator)objectFactory.GetObject("collectionValidator");

            IList       listPersons = new ArrayList();
            IDictionary dictPersons = new Hashtable();
            ISet        setPersons  = new ListSet();

            listPersons.Add(new TestObject("DAMJAN Tomic", 24));
            listPersons.Add(new TestObject("Goran Milosavljevic", 24));
            listPersons.Add(new TestObject("Ivan CIKIC", 28));

            dictPersons.Add(1, listPersons[0]);
            dictPersons.Add(2, listPersons[1]);
            dictPersons.Add(3, listPersons[2]);

            setPersons.AddAll(listPersons);
            IValidationErrors ve = new ValidationErrors();

            Assert.IsTrue(validator.Validate(listPersons, ve));
            Assert.IsTrue(ve.IsEmpty);
            Assert.IsTrue(validator.Validate(dictPersons, ve));
            Assert.IsTrue(ve.IsEmpty);
            Assert.IsTrue(validator.Validate(setPersons, ve));
            Assert.IsTrue(ve.IsEmpty);
        }
コード例 #4
0
        public void TestWithWrongArgumentType()
        {
            RequiredValidator   req       = new RequiredValidator("Name", "true");
            CollectionValidator validator = new CollectionValidator();

            validator.Validators.Add(req);

            TestObject tObj = new TestObject("Damjan Tomic", 24);

            //This should cause the ArgumentException because tObj is not a Collection
            Assert.IsTrue(validator.Validate(tObj, new ValidationErrors()));
        }
コード例 #5
0
        public void TestCollection()
        {
            IList persons = new ArrayList();

            persons.Add(new TestObject("Damjan Tomic", 24));
            persons.Add(new TestObject("Goran Milosavljevic", 24));
            persons.Add(new TestObject("Ivan Cikic", 28));
            
            RequiredValidator req = new RequiredValidator("Name", "true");

            RegularExpressionValidator reg = new RegularExpressionValidator("Name", "true", @"[a-z]*\s[a-z]*");
            reg.Options = RegexOptions.IgnoreCase;
            
            CollectionValidator validator = new CollectionValidator();
            validator.Validators.Add(req);
            validator.Validators.Add(reg);                        
            
            Assert.IsTrue(validator.Validate(persons, new ValidationErrors()));
        }
コード例 #6
0
        public void TestCollection()
        {
            IList persons = new ArrayList();

            persons.Add(new TestObject("Damjan Tomic", 24));
            persons.Add(new TestObject("Goran Milosavljevic", 24));
            persons.Add(new TestObject("Ivan Cikic", 28));

            RequiredValidator req = new RequiredValidator("Name", "true");

            RegularExpressionValidator reg = new RegularExpressionValidator("Name", "true", @"[a-z]*\s[a-z]*");

            reg.Options = RegexOptions.IgnoreCase;

            CollectionValidator validator = new CollectionValidator();

            validator.Validators.Add(req);
            validator.Validators.Add(reg);

            Assert.IsTrue(validator.Validate(persons, new ValidationErrors()));
        }
コード例 #7
0
        public void TestValidationErrorsAreCollected()
        {
            IList persons = new ArrayList();

            persons.Add(new TestObject(null, 24));
            persons.Add(new TestObject("Goran Milosavljevic", 24));
            persons.Add(new TestObject("Ivan Cikic", 28));
            persons.Add(new TestObject(null, 20));

            RequiredValidator req = new RequiredValidator("Name", "true");

            req.Actions.Add(new ErrorMessageAction("1", new string[] { "firstProvider", "secondProvider" }));

            CollectionValidator validator = new CollectionValidator(true, true);

            validator.Validators.Add(req);

            IValidationErrors ve = new ValidationErrors();

            Assert.IsFalse(validator.Validate(persons, ve));
            Assert.IsFalse(ve.IsEmpty);
        }
コード例 #8
0
        public void TestNestingCollectionValidator()
        {            
            Society soc = new Society();
            soc.Members.Add(new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"));
            soc.Members.Add(new Inventor("Mihajlo Pupin", new DateTime(1854, 10, 9), "Serbian"));
            
            
            RequiredValidator req = new RequiredValidator("Name", "true");

            RegularExpressionValidator reg = new RegularExpressionValidator("Name", "true", @"[a-z]*\s[a-z]*");
            reg.Options = RegexOptions.IgnoreCase;
            
            CollectionValidator validator = new CollectionValidator();
            validator.Validators.Add(req);
            validator.Validators.Add(reg);                        
                       
            validator.Context = Expression.Parse("Members");
            
            Assert.IsTrue(validator.Validate(soc, new ValidationErrors()));
            
            validator.Context = null;
            Assert.IsTrue(validator.Validate(soc.Members, new ValidationErrors()));
        }
コード例 #9
0
 public void TestWithNull()
 {
     CollectionValidator validator = new CollectionValidator();
     //This should cause the ArgumentException because we passed null into Validate method
     Assert.IsTrue(validator.Validate(null, new ValidationErrors()));
 }
コード例 #10
0
        public void TestValidationErrorsAreCollected()
        {
            IList persons = new ArrayList();

            persons.Add(new TestObject(null, 24));
            persons.Add(new TestObject("Goran Milosavljevic", 24));
            persons.Add(new TestObject("Ivan Cikic", 28));
            persons.Add(new TestObject(null, 20));

            RequiredValidator req = new RequiredValidator("Name", "true");
            req.Actions.Add(new ErrorMessageAction("1", new string[] { "firstProvider", "secondProvider" }));

            CollectionValidator validator = new CollectionValidator(true,true);
            
            validator.Validators.Add(req);

            IValidationErrors ve = new ValidationErrors();

            Assert.IsFalse(validator.Validate(persons, ve));
            Assert.IsFalse(ve.IsEmpty);
            
        }
コード例 #11
0
 public void TestWithWrongArgumentType()
 {
     RequiredValidator req = new RequiredValidator("Name", "true");
     CollectionValidator validator = new CollectionValidator();
     validator.Validators.Add(req);
     
     TestObject tObj = new TestObject("Damjan Tomic", 24);
     
     //This should cause the ArgumentException because tObj is not a Collection
     Assert.IsTrue(validator.Validate(tObj, new ValidationErrors()));              
 }