Ejemplo n.º 1
0
        public void ReturnsEmptyStringWhenTheLengthIsZero()
        {
            var target = new MarshallingService();
            var result = target.PtrToUnicodeString(new IntPtr(1), 0);

            Assert.AreEqual(string.Empty, result);
        }
Ejemplo n.º 2
0
        public void ReturnsNullWhenThePtrIsZero()
        {
            var target = new MarshallingService();
            var result = target.PtrToUnicodeString(IntPtr.Zero, 1);

            Assert.IsNull(result);
        }
Ejemplo n.º 3
0
        public void MarshalsTheStringFromThePtrAsExpected()
        {
            var ptr      = IntPtr.Zero;
            var expected = "Hello";

            try
            {
                ptr = Marshal.StringToHGlobalUni(expected);

                var target = new MarshallingService();
                var result = target.PtrToUnicodeString(ptr, expected.Length);

                Assert.AreEqual(expected, result);
            }
            finally
            {
                Marshal.FreeHGlobal(ptr);
            }
        }