public void DoesNotFailWithNonMethodInfo() { var ctor = typeof(Foo).GetConstructors().First(); IStuntBehavior behavior = new DefaultValueBehavior(); behavior.Execute(new MethodInvocation(new object(), ctor, new object[1]), () => null); }
public void DoesNotFailWithNonMethodInfo() { var ctor = typeof(Foo).GetConstructors().First(); IAvatarBehavior behavior = new DefaultValueBehavior(); behavior.Execute(MethodInvocation.Create(new object(), ctor, PlatformID.Win32NT), null !); }
public void SetsReturnNullableEnum() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnNullableEnum)); var behavior = new DefaultValueBehavior(); var result = behavior.Invoke(new MethodInvocation(new object(), method, new object[0]), () => null); Assert.Null(result.ReturnValue); }
public void SetsReturnEnum() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnEnum)); IStuntBehavior behavior = new DefaultValueBehavior(); var result = behavior.Execute(new MethodInvocation(new object(), method, new object[0]), () => null); Assert.Equal(default(PlatformID), result.ReturnValue); }
public void SetsReturnEnum() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnEnum)) !; IAvatarBehavior behavior = new DefaultValueBehavior(); var result = behavior.Execute(MethodInvocation.Create(new object(), method), null !); Assert.Equal(default(PlatformID), result.ReturnValue); }
public void SetsReturnGenericEnumerable() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnGenericEnumerable)); var behavior = new DefaultValueBehavior(); var result = behavior.Invoke(new MethodInvocation(new object(), method, new object[0]), () => null); Assert.NotNull(result.ReturnValue); Assert.True(result.ReturnValue is IEnumerable <object>); }
public void SetsReturnArray() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnArray)); IStuntBehavior behavior = new DefaultValueBehavior(); var result = behavior.Execute(new MethodInvocation(new object(), method, new object[0]), () => null); Assert.NotNull(result.ReturnValue); Assert.True(result.ReturnValue is object[]); Assert.Empty(((Array)result.ReturnValue)); }
public void SetsReturnGenericTask() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnGenericTask)); var behavior = new DefaultValueBehavior(); var result = behavior.Invoke(new MethodInvocation(new object(), method, new object[0]), () => null); Assert.NotNull(result.ReturnValue); Assert.True(result.ReturnValue is Task <object>); Assert.True(((Task)result.ReturnValue).IsCompleted); }
public void SetsReturnArray() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnArray)); var behavior = new DefaultValueBehavior(); var result = behavior.Invoke(new MethodInvocation(new object(), method, new object[0]), () => null); Assert.NotNull(result.ReturnValue); Assert.True(result.ReturnValue is object[]); Assert.Equal(0, ((Array)result.ReturnValue).Length); }
public void SetsRefEnumValue() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.VoidWithRefEnum)); var behavior = new DefaultValueBehavior(); var result = behavior.Invoke(new MethodInvocation(new object(), method, new object[1]), () => null); Assert.Equal(1, result.Outputs.Count); Assert.NotNull(result.Outputs[0]); Assert.Equal(default(PlatformID), result.Outputs[0]); }
public void SetsOutValue() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.VoidWithOut)) !; IAvatarBehavior behavior = new DefaultValueBehavior(); var result = behavior.Execute(MethodInvocation.Create(new object(), method, Array.Empty <object>()), null !); Assert.Equal(1, result.Outputs.Count); Assert.NotNull(result.Outputs.GetValue(0)); Assert.True(result.Outputs.GetValue(0) is object[]); }
public void SetsReturnGenericTaskEnum() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnGenericTaskEnum)); IStuntBehavior behavior = new DefaultValueBehavior(); var result = behavior.Execute(new MethodInvocation(new object(), method, new object[0]), () => null); Assert.NotNull(result.ReturnValue); Assert.True(result.ReturnValue is Task <PlatformID>); Assert.True(((Task)result.ReturnValue).IsCompleted); Assert.Equal(default, ((Task <PlatformID>)result.ReturnValue).Result);
public void SetsOutValue() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.VoidWithOut)); IStuntBehavior behavior = new DefaultValueBehavior(); var result = behavior.Execute(new MethodInvocation(new object(), method, new object[1]), () => null); Assert.Equal(1, result.Outputs.Count); Assert.NotNull(result.Outputs[0]); Assert.True(result.Outputs[0] is object[]); }
public void DoesNotSetsRefEnumValue() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.VoidWithRefEnum)); IStuntBehavior behavior = new DefaultValueBehavior(); var platform = PlatformID.Xbox; var result = behavior.Execute(new MethodInvocation(new object(), method, platform), () => null); Assert.Equal(1, result.Outputs.Count); Assert.NotNull(result.Outputs[0]); Assert.Equal(platform, result.Outputs[0]); }
public void DoesNotSetRefValue() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.VoidWithRef)); IStuntBehavior behavior = new DefaultValueBehavior(); var value = new object(); var result = behavior.Execute(new MethodInvocation(new object(), method, value), () => null); Assert.Equal(1, result.Outputs.Count); Assert.NotNull(result.Outputs[0]); Assert.Same(result.Outputs[0], value); }
public void DoesNotSetRefValue() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.VoidWithRef)) !; IAvatarBehavior behavior = new DefaultValueBehavior(); var value = new object[] { new object() }; var result = behavior.Execute(MethodInvocation.Create(new object(), method, value), null !); Assert.Equal(1, result.Outputs.Count); Assert.NotNull(result.Outputs.GetValue(0)); Assert.Same(result.Outputs.GetValue(0), value); }
public void SetsCustomGenericEnumerable() { var method = typeof(IDefaultValues).GetMethod(nameof(IDefaultValues.ReturnGenericEnumerable)); var behavior = new DefaultValueBehavior(); behavior.Provider.Register(typeof(IEnumerable <object>), _ => new object[] { 5, 10 }); var result = ((IStuntBehavior)behavior).Invoke(new MethodInvocation(new object(), method, new object[0]), () => null); Assert.NotNull(result.ReturnValue); Assert.True(result.ReturnValue is object[]); Assert.Equal(2, ((object[])result.ReturnValue).Length); }
public static bool IsBehavior(this object val, DefaultValueBehavior behavior) { return val is DefaultValueBehavior && (DefaultValueBehavior)val == behavior; }
public static bool IsBehavior(this object val, DefaultValueBehavior behavior) { return(val is DefaultValueBehavior && (DefaultValueBehavior)val == behavior); }