public void IncomingParameterMatchesDeclaredParameterCaseInsensitively_SetsValue() { // Arrange var parameters = new ParameterViewBuilder { { nameof(HasInstanceProperties.IntProp).ToLowerInvariant(), 123 } }.Build(); var target = new HasInstanceProperties(); // Act parameters.SetParameterProperties(target); // Assert Assert.Equal(123, target.IntProp); }
public void IncomingParameterMatchesAnnotatedPrivateProperty_SetsValue() { // Arrange var someObject = new object(); var parameters = new ParameterViewBuilder { { nameof(HasInstanceProperties.IntProp), 123 }, { nameof(HasInstanceProperties.StringProp), "Hello" }, { HasInstanceProperties.ObjectPropName, someObject }, }.Build(); var target = new HasInstanceProperties(); // Act parameters.SetParameterProperties(target); // Assert Assert.Equal(123, target.IntProp); Assert.Equal("Hello", target.StringProp); Assert.Same(someObject, target.ObjectPropCurrentValue); }
public void NoIncomingParameterMatchesDeclaredParameter_LeavesValueUnchanged() { // Arrange var existingObjectValue = new object(); var target = new HasInstanceProperties { IntProp = 456, StringProp = "Existing value", ObjectPropCurrentValue = existingObjectValue }; var parameters = new ParameterViewBuilder().Build(); // Act parameters.SetParameterProperties(target); // Assert Assert.Equal(456, target.IntProp); Assert.Equal("Existing value", target.StringProp); Assert.Same(existingObjectValue, target.ObjectPropCurrentValue); }
public void NoIncomingParameterMatchesDeclaredParameter_SetValuesDefault() { // Arrange var existingObjectValue = new object(); var target = new HasInstanceProperties { IntProp = 456, StringProp = "Existing value", ObjectPropCurrentValue = existingObjectValue }; var parameterCollection = new ParameterCollectionBuilder().Build(); // Act parameterCollection.SetParameterProperties(target); // Assert Assert.Equal(0, target.IntProp); Assert.Null(target.StringProp); Assert.Null(target.ObjectPropCurrentValue); }