public void WhenObjectValueAssignedIncompatibleNewValue_ThenThrowsArgumentException() { var parameter = typeof(ArgumentTests).GetMethod(nameof(Arguments)).GetParameters()[0]; var argument = new ObjectArgument(parameter, 42); Assert.Throws <ArgumentException>(() => argument.WithRawValue("foo")); }
public void WhenObjectValueIsNullForNullableValueType_ThenSucceeds() { var parameter = typeof(ArgumentTests).GetMethod(nameof(Arguments)).GetParameters()[1]; var argument = new ObjectArgument(parameter, null); Assert.Null(argument.RawValue); }
public void WhenObjectValueIsNotNull_ThenSucceedsForOutParameter() { var parameter = typeof(ArgumentTests).GetMethod(nameof(Arguments)).GetParameters()[5]; var argument = new ObjectArgument(parameter, PlatformID.Win32NT); Assert.Equal(PlatformID.Win32NT, argument.RawValue); }
public void WhenObjectValueIsCompatible_ThenSucceedsForRefParameter() { var parameter = typeof(ArgumentTests).GetMethod(nameof(Arguments)).GetParameters()[3]; var argument = new ObjectArgument(parameter, "foo"); Assert.Equal("foo", argument.RawValue); }
public void WhenTypedValueIsNull_ThenSucceedsForReferenceType() { var parameter = typeof(ArgumentTests).GetMethod(nameof(Arguments)).GetParameters()[2]; var argument = new ObjectArgument(parameter, null); Assert.Null(argument.RawValue); }
public void WhenObjectValueIsCompatible_ThenRawValueEqualsValue() { var parameter = typeof(ArgumentTests).GetMethod(nameof(Arguments)).GetParameters()[4]; var value = new object(); var argument = new ObjectArgument(parameter, value); Assert.Same(value, argument.RawValue); }
public void WhenComparingArguments_ThenComparesStructurally() { var parameter = typeof(ArgumentTests).GetMethod(nameof(Arguments)).GetParameters()[0]; var first = new ObjectArgument(parameter, 42); var second = new ObjectArgument(parameter, 42); Assert.Equal(first, second); Assert.NotEqual(first, second.WithRawValue(24)); }
public void WhenObjectValueAssignedNewValue_ThenNewInstanceReturned() { var parameter = typeof(ArgumentTests).GetMethod(nameof(Arguments)).GetParameters()[4]; var value = new object(); var argument = new ObjectArgument(parameter, value); var updated = argument.WithRawValue(new object()); Assert.NotSame(argument, updated); Assert.NotSame(argument.RawValue, updated.RawValue); }