Example #1
0
        public void PointerNullMethodDelegateParameter()
        {
            var            obj = new PointerHolder();
            MethodDelegate d   = obj.Method;

            d.DynamicInvoke(null, 0);
        }
Example #2
0
        public void PointerMethodDelegateParameter(int value)
        {
            var            obj = new PointerHolder();
            MethodDelegate d   = obj.Method;

            d.DynamicInvoke(Pointer.Box(unchecked ((void *)value), typeof(byte *)), value);
        }
Example #3
0
        public void IntPtrMethodDelegateParameter(int value)
        {
            var            obj = new PointerHolder();
            MethodDelegate d   = obj.Method;

            d.DynamicInvoke((IntPtr)value, value);
        }
Example #4
0
        public void PointerMethodParameter(int value)
        {
            var        obj    = new PointerHolder();
            MethodInfo method = typeof(PointerHolder).GetMethod("Method");

            method.Invoke(obj, new[] { Pointer.Box(unchecked ((void *)value), typeof(byte *)), value });
        }
Example #5
0
        public void IntPtrMethodParameter(int value)
        {
            var        obj    = new PointerHolder();
            MethodInfo method = typeof(PointerHolder).GetMethod("Method");

            method.Invoke(obj, new object[] { (IntPtr)value, value });
        }
Example #6
0
        public void UIntPtrMethodParameter(uint value)
        {
            var        obj    = new PointerHolder();
            MethodInfo method = typeof(PointerHolder).GetMethod(nameof(PointerHolder.MethodWithVoidPointer));

            method.Invoke(obj, new object[] { (UIntPtr)value });
        }
Example #7
0
        public void PointerNullMethodParameter()
        {
            var        obj    = new PointerHolder();
            MethodInfo method = typeof(PointerHolder).GetMethod("Method");

            method.Invoke(obj, new object[] { null, 0 });
        }
Example #8
0
        public void PointerFieldSetValue(int value)
        {
            var       obj   = new PointerHolder();
            FieldInfo field = typeof(PointerHolder).GetField("field");

            field.SetValue(obj, Pointer.Box(unchecked ((void *)value), typeof(int *)));
            Assert.Equal(value, unchecked ((int)obj.field));
        }
Example #9
0
        public void PointerFieldSetNullValue()
        {
            var       obj   = new PointerHolder();
            FieldInfo field = typeof(PointerHolder).GetField("field");

            field.SetValue(obj, null);
            Assert.Equal(0, unchecked ((int)obj.field));
        }
Example #10
0
        public void IntPtrFieldSetValue(int value)
        {
            var       obj   = new PointerHolder();
            FieldInfo field = typeof(PointerHolder).GetField("field");

            field.SetValue(obj, (IntPtr)value);
            Assert.Equal(value, unchecked ((int)obj.field));
        }
Example #11
0
        public void PointerPropertySetValue(int value)
        {
            var          obj      = new PointerHolder();
            PropertyInfo property = typeof(PointerHolder).GetProperty("Property");

            property.SetValue(obj, Pointer.Box(unchecked ((void *)value), typeof(char *)));
            Assert.Equal(value, unchecked ((int)obj.Property));
        }
Example #12
0
        public void IntPtrPropertySetValue(int value)
        {
            var          obj      = new PointerHolder();
            PropertyInfo property = typeof(PointerHolder).GetProperty("Property");

            property.SetValue(obj, (IntPtr)value);
            Assert.Equal(value, unchecked ((int)obj.Property));
        }
Example #13
0
        public void PointerMethodDelegateParameter_InvalidType_SystemPointer(int value)
        {
            // Although the type boxed doesn't match, when unboxing void* is returned.
            var obj = new PointerHolder();
            MethodDelegateWithSystemPointer d = obj.MethodWithSystemPointer;

            d.DynamicInvoke(Pointer.Box(unchecked ((void *)value), typeof(long *)), value);
        }
Example #14
0
        public void PointerMethodParameter_InvalidType(int value)
        {
            var        obj    = new PointerHolder();
            MethodInfo method = typeof(PointerHolder).GetMethod("Method");

            Assert.Throws <ArgumentException>(() =>
            {
                method.Invoke(obj, new[] { Pointer.Box(unchecked ((void *)value), typeof(long *)), value });
            });
        }
Example #15
0
        public void PointerMethodDelegateParameter_InvalidType(int value)
        {
            var            obj = new PointerHolder();
            MethodDelegate d   = obj.Method;

            AssertExtensions.Throws <ArgumentException>(null, () =>
            {
                d.DynamicInvoke(Pointer.Box(unchecked ((void *)value), typeof(long *)), value);
            });
        }
Example #16
0
        public void PointerPropertySetValue_InvalidType(int value)
        {
            var          obj      = new PointerHolder();
            PropertyInfo property = typeof(PointerHolder).GetProperty("Property");

            Assert.Throws <ArgumentException>(() =>
            {
                property.SetValue(obj, Pointer.Box(unchecked ((void *)value), typeof(long *)));
            });
        }
Example #17
0
        public void PointerFieldSetValue_InvalidType(int value)
        {
            var       obj   = new PointerHolder();
            FieldInfo field = typeof(PointerHolder).GetField("field");

            Assert.Throws <ArgumentException>(() =>
            {
                field.SetValue(obj, Pointer.Box(unchecked ((void *)value), typeof(long *)));
            });
        }
Example #18
0
        public void IntPtrMethodDelegateParameter_InvalidType_SystemPointer(int value)
        {
            // An IntPtr is not converted to a System.Pointer.
            var obj = new PointerHolder();
            MethodDelegateWithSystemPointer d = obj.MethodWithSystemPointer;

            AssertExtensions.Throws <ArgumentException>(null, () =>
            {
                d.DynamicInvoke((IntPtr)value, value);
            });
        }
Example #19
0
        public void PointerMethodDelegateReturn(int value)
        {
            var            obj         = new PointerHolder();
            ReturnDelegate d           = obj.Return;
            object         actualValue = d.DynamicInvoke(value);

            Assert.IsType <Pointer>(actualValue);
            void *actualPointer = Pointer.Unbox(actualValue);

            Assert.Equal(value, unchecked ((int)actualPointer));
        }
Example #20
0
        public void PointerMethodReturn(int value)
        {
            var        obj         = new PointerHolder();
            MethodInfo method      = typeof(PointerHolder).GetMethod("Return");
            object     actualValue = method.Invoke(obj, new object[] { value });

            Assert.IsType <Pointer>(actualValue);
            void *actualPointer = Pointer.Unbox(actualValue);

            Assert.Equal(value, unchecked ((int)actualPointer));
        }
Example #21
0
        public void PointerPropertyGetValue(int value)
        {
            var obj = new PointerHolder();

            obj.Property = unchecked ((char *)value);
            PropertyInfo property    = typeof(PointerHolder).GetProperty("Property");
            object       actualValue = property.GetValue(obj);

            Assert.IsType <Pointer>(actualValue);
            void *actualPointer = Pointer.Unbox(actualValue);

            Assert.Equal(value, unchecked ((int)actualPointer));
        }
Example #22
0
        public void PointerFieldGetValue(int value)
        {
            var obj = new PointerHolder();

            obj.field = unchecked ((int *)value);
            FieldInfo field       = typeof(PointerHolder).GetField("field");
            object    actualValue = field.GetValue(obj);

            Assert.IsType <Pointer>(actualValue);
            void *actualPointer = Pointer.Unbox(actualValue);

            Assert.Equal(value, unchecked ((int)actualPointer));
        }
Example #23
0
        public void PointerNullMethodDelegateParameter_InvalidType_SystemPointer()
        {
            // An null is not converted to a System.Pointer.
            var obj = new PointerHolder();
            MethodDelegateWithSystemPointer d = obj.MethodWithSystemPointer;

            try
            {
                d.DynamicInvoke(null, 0);
            }
            catch (TargetInvocationException e) when(e.InnerException is ArgumentException)
            {
                return;
            }

            Assert.Fail("Inner exception should be ArgumentException.");
        }
Example #24
0
 public void PointerPropertySetValue_InvalidType(int value)
 {
     var obj = new PointerHolder();
     PropertyInfo property = typeof(PointerHolder).GetProperty("Property");
     Assert.Throws<ArgumentException>(() =>
     {
         property.SetValue(obj, Pointer.Box((void*)value, typeof(long*)));
     });
 }
Example #25
0
 public void PointerPropertySetValue(int value)
 {
     var obj = new PointerHolder();
     PropertyInfo property = typeof(PointerHolder).GetProperty("Property");
     property.SetValue(obj, Pointer.Box((void*)value, typeof(char*)));
     Assert.Equal(value, (int)obj.Property);
 }
Example #26
0
 public void IntPtrPropertySetValue(int value)
 {
     var obj = new PointerHolder();
     PropertyInfo property = typeof(PointerHolder).GetProperty("Property");
     property.SetValue(obj, (IntPtr)value);
     Assert.Equal(value, (int)obj.Property);
 }
Example #27
0
 public void PointerFieldGetValue(int value)
 {
     var obj = new PointerHolder();
     obj.field = (int*)value;
     FieldInfo field = typeof(PointerHolder).GetField("field");
     object actualValue = field.GetValue(obj);
     Assert.IsType<Pointer>(actualValue);
     void* actualPointer = Pointer.Unbox(actualValue);
     Assert.Equal(value, (int)actualPointer);
 }
Example #28
0
 public void PointerFieldSetValue(int value)
 {
     var obj = new PointerHolder();
     FieldInfo field = typeof(PointerHolder).GetField("field");
     field.SetValue(obj, Pointer.Box((void*)value, typeof(int*)));
     Assert.Equal(value, (int)obj.field);
 }
Example #29
0
 public void IntPtrFieldSetValue(int value)
 {
     var obj = new PointerHolder();
     FieldInfo field = typeof(PointerHolder).GetField("field");
     field.SetValue(obj, (IntPtr)value);
     Assert.Equal(value, (int)obj.field);
 }
Example #30
0
 public void IntPtrMethodParameter(int value)
 {
     var obj = new PointerHolder();
     MethodInfo method = typeof(PointerHolder).GetMethod("Method");
     method.Invoke(obj, new object[] { (IntPtr)value, value });
 }
Example #31
0
 public void PointerMethodReturn(int value)
 {
     var obj = new PointerHolder();
     MethodInfo method = typeof(PointerHolder).GetMethod("Return");
     object actualValue = method.Invoke(obj, new object[] { value });
     Assert.IsType<Pointer>(actualValue);
     void* actualPointer = Pointer.Unbox(actualValue);
     Assert.Equal(value, (int)actualPointer);
 }
Example #32
0
 public void PointerPropertyGetValue(int value)
 {
     var obj = new PointerHolder();
     obj.Property = (char*)value;
     PropertyInfo property = typeof(PointerHolder).GetProperty("Property");
     object actualValue = property.GetValue(obj);
     Assert.IsType<Pointer>(actualValue);
     void* actualPointer = Pointer.Unbox(actualValue);
     Assert.Equal(value, (int)actualPointer);
 }
Example #33
0
 public void PointerMethodParameter(int value)
 {
     var obj = new PointerHolder();
     MethodInfo method = typeof(PointerHolder).GetMethod("Method");
     method.Invoke(obj, new[] { Pointer.Box((void*)value, typeof(byte*)), value });
 }
Example #34
0
 public void PointerFieldSetValue_InvalidType(int value)
 {
     var obj = new PointerHolder();
     FieldInfo field = typeof(PointerHolder).GetField("field");
     Assert.Throws<ArgumentException>(() =>
     {
         field.SetValue(obj, Pointer.Box((void*)value, typeof(long*)));
     });
 }
Example #35
0
 public void PointerMethodParameter_InvalidType(int value)
 {
     var obj = new PointerHolder();
     MethodInfo method = typeof(PointerHolder).GetMethod("Method");
     Assert.Throws<ArgumentException>(() =>
     {
         method.Invoke(obj, new[] { Pointer.Box((void*)value, typeof(long*)), value });
     });
 }