public void TestScanForDescendantObject()
		{
			var obj = new GraphValidationFixture.Container1();
			var ts = new TypeScanner(obj.GetType());
			var vc = new Dictionary<Type, ValidationUnitCollection>();
			ts.RecursiveScan(vc);
			Assert.AreEqual(2, vc.Count, "Wrong Number of Attributes scanned");
			var lt = new List<Type>();
			lt.AddRange(vc.Keys);
			Assert.AreEqual(typeof (GraphValidationFixture.Container1), lt[0], "Wrong Attribute Type");
			Assert.AreEqual(typeof (GraphValidationFixture.Contained1), lt[1], "Wrong Attribute Type");
		}
 public void ScannerInheritedTest()
 {
     var v = new Core.Validator();
     ChildEntity bes = new ChildEntity();
     var ts = new TypeScanner(bes.GetType());
     ValidationUnitCollection vc = ts.Scan();
     Assert.That(vc, Has.Count.EqualTo(2));
     Assert.That(vc[1].ErrorMessage.Message, Is.EqualTo("This is a required field"));
 }
		public void TestScanForTypeValidator()
		{
			var obj = new SimpleTypeValidation();
			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(ConstantResultValidator)), "Wrong Attribute Type");
		}
		public void TestScanForSinglePropertyAndSingleField()
		{
			var obj = new Simple1Field1Property();
			var ts = new TypeScanner(obj.GetType());
			ValidationUnitCollection vc = ts.Scan();
			Assert.AreEqual(2, vc.Count, "Wrong Number of Attributes scanned");
			Assert.That(((SingleValidatorValidationUnit)vc[0]).Validator, Is.InstanceOf(typeof(RequiredValidator)), "Wrong Attribute Type");
			Assert.That(((SingleValidatorValidationUnit)vc[1]).Validator, Is.InstanceOf(typeof(RequiredValidator)), "Wrong Attribute Type");
		}