mirror of https://github.com/dahall/Vanara.git
66 lines
1.8 KiB
C#
66 lines
1.8 KiB
C#
using NUnit.Framework;
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Runtime.InteropServices.ComTypes;
|
|
using static Vanara.PInvoke.Ole32;
|
|
using static Vanara.PInvoke.PropSys;
|
|
|
|
namespace Vanara.PInvoke.Tests
|
|
{
|
|
[TestFixture()]
|
|
public class Ole32Tests
|
|
{
|
|
[Test()]
|
|
public void CoInitializeExTest()
|
|
{
|
|
var hr = CoInitializeEx(IntPtr.Zero, COINIT.COINIT_APARTMENTTHREADED);
|
|
TestContext.WriteLine(hr.ToString());
|
|
Assert.That((int)hr, Is.EqualTo(0).Or.EqualTo(-2147417850));
|
|
CoUninitialize();
|
|
}
|
|
|
|
[Test()]
|
|
public void OleInitializeTest()
|
|
{
|
|
var hr = OleInitialize(IntPtr.Zero);
|
|
TestContext.WriteLine(hr.ToString());
|
|
Assert.That((int)hr, Is.EqualTo(0).Or.EqualTo(-2147417850));
|
|
OleUninitialize();
|
|
}
|
|
|
|
[Test()]
|
|
public void PropVariantClearTest()
|
|
{
|
|
var pv = new PROPVARIANT();
|
|
InitPropVariantFromStringVector(new[] {"A", "B", "C", "D"}, 4, pv);
|
|
Assert.That(pv.vt != VARTYPE.VT_EMPTY);
|
|
Assert.That(PropVariantClear(pv).Succeeded);
|
|
Assert.That(pv.vt == VARTYPE.VT_EMPTY && pv.uhVal == 0);
|
|
}
|
|
|
|
[Test()]
|
|
public void PropVariantCopyTest()
|
|
{
|
|
using (var pv = new PROPVARIANT())
|
|
{
|
|
var strArr = new[] {"A", "B", "C", "D"};
|
|
InitPropVariantFromStringVector(strArr, 4, pv);
|
|
Assert.That(pv.vt == (VARTYPE.VT_VECTOR | VARTYPE.VT_LPWSTR));
|
|
Assert.That(pv.Value, Is.EquivalentTo(strArr));
|
|
using (var pvc = new PROPVARIANT())
|
|
{
|
|
Assert.That(PropVariantCopy(pvc, pv).Succeeded);
|
|
Assert.That(pvc.vt == (VARTYPE.VT_VECTOR | VARTYPE.VT_LPWSTR));
|
|
Assert.That(pvc.Value, Is.EquivalentTo(strArr));
|
|
}
|
|
}
|
|
}
|
|
|
|
[Test()]
|
|
public void ReleaseStgMediumTest()
|
|
{
|
|
var m = new STGMEDIUM {tymed = TYMED.TYMED_HGLOBAL, unionmember = Marshal.AllocHGlobal(16)};
|
|
Assert.That(() => ReleaseStgMedium(m), Throws.Nothing);
|
|
}
|
|
}
|
|
} |