public void CreatesExposedProperties()
{
var modelType = AssemblyWeaver.Assembly.GetType("Catel.Fody.TestAssembly.ExposingDerivedModel");
var viewModelType = AssemblyWeaver.Assembly.GetType("Catel.Fody.TestAssembly.ExposingViewModel");
var model = Activator.CreateInstance(modelType);
var viewModel = Activator.CreateInstance(viewModelType, new [] {model});
Assert.IsTrue(PropertyDataManager.Default.IsPropertyRegistered(viewModelType, "FirstName"));
Assert.IsTrue(PropertyDataManager.Default.IsPropertyRegistered(viewModelType, "MappedLastName"));
// Default value of the FirstName property on the model is "Geert"
Assert.AreEqual("Geert", PropertyHelper.GetPropertyValue<string>(viewModel, "FirstName"));
// Default value of the LastName property on the model is "Geert"
Assert.AreEqual("van Horrik", PropertyHelper.GetPropertyValue<string>(viewModel, "MappedLastName"));
}