public void CanGetValueFromFieldForInstanceOfDerivedClass() { FieldInfo fieldInfo = typeof(BaseTestDomainObject).GetField("Field1"); ValueAccess valueAccess = new FieldValueAccess(fieldInfo); BaseTestDomainObject domainObject = new DerivedTestDomainObject(); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue(domainObject, out value, out valueAccessRetrievalFailure); Assert.IsTrue(status); Assert.AreEqual(BaseTestDomainObject.Base1Value, value); }
public void RetrievalOfValueForInstanceOfDerivedTypeThroughNewAliasedFieldReturnsValueFromNewField() { FieldInfo fieldInfo = typeof(DerivedTestDomainObject).GetField("Field3"); ValueAccess valueAccess = new FieldValueAccess(fieldInfo); BaseTestDomainObject domainObject = new DerivedTestDomainObject(); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue(domainObject, out value, out valueAccessRetrievalFailure); Assert.IsTrue(status); Assert.AreEqual(DerivedTestDomainObject.Derived3Value, value); }
public void CanValidateThroughPropertyAccess() { DerivedTestDomainObject targetToValidate = new DerivedTestDomainObject(); PropertyValueAccess valueAccess = new PropertyValueAccess(typeof(DerivedTestDomainObject).GetProperty("Property2")); MockValidator <object> valueValidator = new MockValidator <object>(false); Validator validator = new ValueAccessValidator(valueAccess, valueValidator); ValidationResults validationResults = validator.Validate(targetToValidate); Assert.IsTrue(validationResults.IsValid); Assert.AreEqual(1, valueValidator.ValidatedTargets.Count); Assert.AreSame(targetToValidate.Property2, valueValidator.ValidatedTargets[0]); }
public void RetrievalOfValueForInstanceOfDerivedTypeThroughNewAliasedPropertyReturnsValueFromNewProperty() { PropertyInfo propertyInfo = typeof(DerivedTestDomainObject).GetProperty("Property3"); ValueAccess valueAccess = new PropertyValueAccess(propertyInfo); BaseTestDomainObject domainObject = new DerivedTestDomainObject(); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue(domainObject, out value, out valueAccessRetrievalFailure); Assert.IsTrue(status); Assert.AreEqual(DerivedTestDomainObject.Derived3Value, value); }
public void CanGetValueFromOverridenPropertyForInstanceOfDerivedClass() { PropertyInfo propertyInfo = typeof(BaseTestDomainObject).GetProperty("Property2"); ValueAccess valueAccess = new PropertyValueAccess(propertyInfo); BaseTestDomainObject domainObject = new DerivedTestDomainObject(); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue(domainObject, out value, out valueAccessRetrievalFailure); Assert.IsTrue(status); Assert.AreEqual(DerivedTestDomainObject.Derived2Value, value); }
public void RetrievalOfValueForInstanceOfDerivedTypeThroughBaseAliasedMethodReturnsValueFromInheritedMethod() { MethodInfo methodInfo = typeof(BaseTestDomainObject).GetMethod("Method3"); ValueAccess valueAccess = new MethodValueAccess(methodInfo); BaseTestDomainObject domainObject = new DerivedTestDomainObject(); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue(domainObject, out value, out valueAccessRetrievalFailure); Assert.IsTrue(status); Assert.AreEqual(BaseTestDomainObject.Base3Value, value); }
public void CanGetValueFromOverridenMethodForInstanceOfDerivedClass() { MethodInfo methodInfo = typeof(BaseTestDomainObject).GetMethod("Method2"); ValueAccess valueAccess = new MethodValueAccess(methodInfo); BaseTestDomainObject domainObject = new DerivedTestDomainObject(); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue(domainObject, out value, out valueAccessRetrievalFailure); Assert.IsTrue(status); Assert.AreEqual(DerivedTestDomainObject.Derived2Value, value); }