Ejemplo n.º 1
0
        public void ReturnsNullPtrWhenNullBytes()
        {
            var target = new MarshallingService();
            var result = target.ByteArrayToPtr(null);

            Assert.AreEqual(IntPtr.Zero, result);
        }
Ejemplo n.º 2
0
        public void MarshalsTheByteArrayToAPtrAsExpected()
        {
            IntPtr ptr = IntPtr.Zero;

            try
            {
                var bytes = new byte[] { 1, 2, 3, 4, 5 };

                var target = new MarshallingService();
                var result = target.ByteArrayToPtr(bytes);

                Assert.True(result != IntPtr.Zero);
            }
            finally
            {
                if (ptr != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(ptr);
                }
            }
        }
Ejemplo n.º 3
0
        public void MarshalsThePtrToByteArrayAsExpected()
        {
            IntPtr ptr = IntPtr.Zero;

            try
            {
                var bytes = new byte[] { 1, 2, 3, 4 };

                var target = new MarshallingService();
                ptr = target.ByteArrayToPtr(bytes);

                var result = target.PtrToByteArray(ptr, bytes.Length);

                CollectionAssert.AreEqual(bytes, result);
            }
            finally
            {
                if (ptr != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(ptr);
                }
            }
        }