Ejemplo n.º 1
0
        public void DoesNotFailWithNonMethodInfo()
        {
            var            ctor     = typeof(Foo).GetConstructors().First();
            IStuntBehavior behavior = new DefaultValueBehavior();

            behavior.Execute(new MethodInvocation(new object(), ctor, new object[1]), () => null);
        }
Ejemplo n.º 2
0
        public void DoesNotFailWithNonMethodInfo()
        {
            var             ctor     = typeof(Foo).GetConstructors().First();
            IAvatarBehavior behavior = new DefaultValueBehavior();

            behavior.Execute(MethodInvocation.Create(new object(), ctor, PlatformID.Win32NT), null !);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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>);
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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]);
        }
Ejemplo n.º 11
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[]);
        }
Ejemplo n.º 12
0
        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);
Ejemplo n.º 13
0
        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[]);
        }
Ejemplo n.º 14
0
        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]);
        }
Ejemplo n.º 15
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);
        }
Ejemplo n.º 16
0
        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);
        }
Ejemplo n.º 17
0
        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);
 }