public void RetrievalOfValueForInstanceOfDerivedTypeThroughBaseAliasedPropertyReturnsValueFromInheritedProperty() { PropertyInfo propertyInfo = typeof(BaseTestDomainObject).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(BaseTestDomainObject.Base3Value, 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 RetrievalOfValueForInstanceOfNonRelatedTypeReturnsFailure() { PropertyInfo propertyInfo = typeof(BaseTestDomainObject).GetProperty("Property1"); ValueAccess valueAccess = new PropertyValueAccess(propertyInfo); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue("a string", out value, out valueAccessRetrievalFailure); Assert.IsFalse(status); Assert.IsNull(value); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.ErrorValueAccessInvalidType, valueAccessRetrievalFailure)); }