Пример #1
0
        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"));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }