public void MarshalManagedToNativeTest()
        {
            const string s   = "Hello";
            var          m1  = CoTaskMemStringMarshaler.GetInstance(null);
            var          ptr = m1.MarshalManagedToNative(s);

            Assert.That(ptr, Is.Not.EqualTo(IntPtr.Zero));
            Assert.That(m1.MarshalNativeToManaged(ptr), Is.EqualTo(s));
            Assert.That(() => m1.CleanUpNativeData(ptr), Throws.Nothing);
        }
        public void GetInstanceTest()
        {
            var m1 = CoTaskMemStringMarshaler.GetInstance(null) as CoTaskMemStringMarshaler;

            Assert.That(m1, Is.InstanceOf <CoTaskMemStringMarshaler>());
            //Assert.That(m1.CharSet, Is.EqualTo(CharSet.Unicode));

            m1 = CoTaskMemStringMarshaler.GetInstance("Ansi") as CoTaskMemStringMarshaler;
            Assert.That(m1, Is.InstanceOf <CoTaskMemStringMarshaler>());
            //Assert.That(m1.CharSet, Is.EqualTo(CharSet.Ansi));

            m1 = CoTaskMemStringMarshaler.GetInstance("UnknownValue") as CoTaskMemStringMarshaler;
            Assert.That(m1, Is.InstanceOf <CoTaskMemStringMarshaler>());
            //Assert.That(m1.CharSet, Is.EqualTo(CharSet.Unicode));
        }
 public void GetNativeDataSizeTest()
 {
     Assert.That(CoTaskMemStringMarshaler.GetInstance(null).GetNativeDataSize(), Is.EqualTo(IntPtr.Size));
 }
 public void CleanUpManagedDataTest()
 {
     Assert.That(() => CoTaskMemStringMarshaler.GetInstance(null).CleanUpManagedData(4), Throws.Nothing);
 }