public void Activate_SetsPropertyValue() { // Arrange var instance = new TestClass(); var typeInfo = instance.GetType().GetTypeInfo(); var property = typeInfo.GetDeclaredProperty("IntProperty"); var activator = new PropertyActivator <int>(property, valueAccessor: (val) => val + 1); // Act activator.Activate(instance, 123); // Assert Assert.Equal(124, instance.IntProperty); }
public void Activate_InvokesValueAccessorWithExpectedValue() { // Arrange var instance = new TestClass(); var typeInfo = instance.GetType().GetTypeInfo(); var property = typeInfo.GetDeclaredProperty("IntProperty"); var invokedWith = -1; var activator = new PropertyActivator <int>( property, valueAccessor: (val) => { invokedWith = val; return(val); }); // Act activator.Activate(instance, 123); // Assert Assert.Equal(123, invokedWith); }