public void WrapperCreator_FromPropertyInfo_WorksProperly() { var propertyInfo = typeof(MergeTestObject).GetProperty("Property1"); var propertyWrapper = PropertyWrapperHelper.Create<MergeTestObject>(propertyInfo); var instance1 = new MergeTestObject() { Property1 = 1 }; var instance2 = new MergeTestObject(); propertyWrapper.Copy(instance1, instance2); // this should match the name of whatever property is accessed in the lambda above Assert.AreEqual("Property1", propertyWrapper.Name); Assert.AreEqual(instance1.Property1, instance2.Property1); }
public void WrapperCreator_FromExpression_WorksProperly() { Expression<Func<MergeTestObject, int>> expression = o => o.Property1; var propertyWrapper = PropertyWrapperHelper.Create(expression); var instance1 = new MergeTestObject() { Property1 = 1 }; var instance2 = new MergeTestObject(); propertyWrapper.Copy(instance1, instance2); // this should match the name of whatever property is accessed in the lambda above Assert.AreEqual("Property1", propertyWrapper.Name); Assert.AreEqual(instance1.Property1, instance2.Property1); }
public void ParameterValidation_ThrowsWhenParamterIsNotPropertyAccess() { PropertyWrapperHelper.Create<MergeTestObject, int>(o => o.NotProperty); }