Updated tests for recent changes

pull/60/head
David Hall 2019-04-09 09:19:23 -06:00
parent 56abc66d2f
commit 935fc50bf9
4 changed files with 16 additions and 10 deletions

View File

@ -63,7 +63,7 @@
<Compile Include="InteropServices\SafeCoTaskMemStringTests.cs" />
<Compile Include="InteropServices\SafeHGlobalHandleTests.cs" />
<Compile Include="InteropServices\StrPtrTests.cs" />
<Compile Include="InteropServices\StructMarshalerTests.cs" />
<None Include="InteropServices\StructMarshalerTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>

View File

@ -144,7 +144,7 @@ namespace Vanara.Extensions.Tests
Assert.That(h, Is.Not.EqualTo(IntPtr.Zero));
var chSz = 2;
Assert.That(a, Is.EqualTo(chSz * (rs[0].Length + 1) * rs.Length + ((rs.Length + 1) * IntPtr.Size) + i));
var ro = h.ToIEnum<IntPtr>(rs.Length, i).Select(p => Marshal.ReadIntPtr(p)).ToArray();
var ro = h.ToIEnum<IntPtr>(rs.Length, i).ToArray();
Assert.That(ro, Has.None.EqualTo(IntPtr.Zero));
for (var i = 0; i < ro.Length; i++)
Assert.That(StringHelper.GetString(ro[i], CharSet.Unicode), Is.EqualTo(rs[i]));
@ -154,7 +154,7 @@ namespace Vanara.Extensions.Tests
Assert.That(h, Is.Not.EqualTo(IntPtr.Zero));
chSz = 1;
Assert.That(a, Is.EqualTo(chSz * (rs[0].Length + 1) * rs.Length + ((rs.Length + 1) * IntPtr.Size) + i));
ro = h.ToIEnum<IntPtr>(rs.Length, i).Select(p => Marshal.ReadIntPtr(p)).ToArray();
ro = h.ToIEnum<IntPtr>(rs.Length, i).ToArray();
Assert.That(ro, Has.None.EqualTo(IntPtr.Zero));
for (var i = 0; i < ro.Length; i++)
Assert.That(StringHelper.GetString(ro[i], CharSet.Ansi), Is.EqualTo(rs[i]));

View File

@ -20,14 +20,20 @@ namespace Vanara.Extensions.Tests
public void GetPropertyValueTest()
{
var dt = DateTime.Today;
// Has public value
Assert.That(dt.GetPropertyValue("Ticks", 0L), Is.EqualTo(dt.Ticks));
Assert.That(dt.GetPropertyValue("InternalTicks", 0L), Is.EqualTo(dt.Ticks));
Assert.That(dt.GetPropertyValue<long?>("Tacks"), Is.Null);
Assert.That(dt.GetPropertyValue<string>("Ticks"), Is.Null);
Assert.That(dt.GetPropertyValue<ulong>("Ticks", 0), Is.EqualTo((ulong)0));
Assert.That(dt.GetPropertyValue<byte>("Ticks"), Is.EqualTo((byte)0));
Assert.That(dt.GetPropertyValue<long>("Ticks"), Is.EqualTo(dt.Ticks));
// Has private value
Assert.That(dt.GetPropertyValue<long>("InternalTicks"), Is.EqualTo(dt.Ticks));
// Bad propname
Assert.That(() => dt.GetPropertyValue<long?>("Tacks"), Throws.Exception);
Assert.That(() => dt.GetPropertyValue<long?>("Tacks", null), Is.Null);
// Diff ret type
Assert.That(() => dt.GetPropertyValue<string>("Ticks"), Throws.Exception);
Assert.That(dt.GetPropertyValue("Ticks", string.Empty), Is.EqualTo(string.Empty));
// Has null val
var x = new X();
Assert.That(x.GetPropertyValue<string>("Str", ""), Is.EqualTo(""));
Assert.That(x.GetPropertyValue("Str", ""), Is.Null);
}
[TestCase(typeof(string), typeof(char))]

View File

@ -125,11 +125,11 @@ namespace Vanara.InteropServices.Tests
Assert.That(() => ms.Write(bytes, -1, 8), Throws.TypeOf<ArgumentOutOfRangeException>());
Assert.That(() => ms.Write(bytes, 1, -8), Throws.TypeOf<ArgumentOutOfRangeException>());
Assert.That(() => ms.Write(new byte[22]), Throws.ArgumentException);
Assert.That(() => ms.Write(0L), Throws.ArgumentException);
ms.Write((SafeHGlobalHandle) null);
Assert.That(ms.Position, Is.Zero);
ms.Write((string[]) null);
Assert.That(ms.Position, Is.Zero);
Assert.That(() => ms.Write(0L), Throws.Nothing);
}
using (var m = new SafeHGlobalHandle(100))
using (var ms = new MarshalingStream((IntPtr)m, m.Size))