public void TestScanForSingleProperty()
        {
            var obj = new Simple1Property();
            var ts  = new TypeScanner(obj.GetType());
            ValidationUnitCollection vc = ts.Scan();

            Assert.AreEqual(1, vc.Count, "Wrong Number of Attributes scanned");
            Assert.That(((SingleValidatorValidationUnit)vc[0]).Validator, Is.InstanceOf(typeof(RequiredValidator)), "Wrong Attribute Type");
        }
        public void TestWrongObjectWithDefaultValue()
        {
            var s1p = new Simple1Property();

            s1p.Property = cDefaultValueSimple1Property;
            var v = new Core.Validator();
            ValidationResult res = v.ValidateObject(s1p);

            Assert.IsFalse(res, "Object does not validate well");
            Assert.AreEqual(1, res.ErrorMessages.Count, "Wrong number of error detected");
            Assert.AreEqual(cSimpleErrorMessage, res.ErrorMessages[0]);
        }
        public void TestFluentForSourceWithLambda()
        {
            var s1f = new Simple1Property();

            Core.Validator v = new Core.Validator();
            v.AddRule(Rule.ForMember <Simple1Property>(o => o.Property)
                      .Required()
                      .Message(() => TestRes.Test));
            ValidationResult res = v.ValidateObject(s1f);

            Assert.That(res.Errors[0].SourceName, Is.EqualTo("Property"));
        }
        public void TestValidateWithExceptionForSourceMessages()
        {
            var obj = new Simple1Property();
            var v   = new Core.Validator();

            try
            {
                v.CheckObject(obj);
            }
            catch (ValidationException ex)
            {
                Assert.That(ex.Errors, Has.Count.EqualTo(1));
                Assert.That(ex.Errors[0].SourceName, Is.EqualTo("Property"));
                return;
            }
            Assert.Fail("Exception expected");
        }
		public void TestScanForSingleProperty()
		{
			var obj = new Simple1Property();
			var ts = new TypeScanner(obj.GetType());
			ValidationUnitCollection vc = ts.Scan();
			Assert.AreEqual(1, vc.Count, "Wrong Number of Attributes scanned");
			Assert.That(((SingleValidatorValidationUnit)vc[0]).Validator, Is.InstanceOf(typeof(RequiredValidator)), "Wrong Attribute Type");
		}
		public void TestWrongObjectWithDefaultValue()
		{
			var s1p = new Simple1Property();
			s1p.Property = cDefaultValueSimple1Property;
			var v = new Core.Validator();
			ValidationResult res = v.ValidateObject(s1p);
			Assert.IsFalse(res, "Object does not validate well");
			Assert.AreEqual(1, res.ErrorMessages.Count, "Wrong number of error detected");
			Assert.AreEqual(cSimpleErrorMessage, res.ErrorMessages[0]);
		}
		public void TestFluentForSourceWithLambda()
		{
			var s1f = new Simple1Property();
			Core.Validator v = new Core.Validator();
			v.AddRule(Rule.ForMember<Simple1Property>(o => o.Property)
				.Required()
				.Message(() => TestRes.Test));
			ValidationResult res = v.ValidateObject(s1f);
			Assert.That(res.Errors[0].SourceName, Is.EqualTo("Property"));
		}
		public void TestValidateWithExceptionForSourceMessages()
		{
			var obj = new Simple1Property();
			var v = new Core.Validator();
			try
			{
				v.CheckObject(obj);
			}
			catch (ValidationException ex)
			{
				Assert.That(ex.Errors, Has.Count.EqualTo(1));
				Assert.That(ex.Errors[0].SourceName, Is.EqualTo("Property"));
				return;
			}
			Assert.Fail("Exception expected");
		}