diff --git a/UnitTests/Core/Core.csproj b/UnitTests/Core/Core.csproj index 378b877d..9747945a 100644 --- a/UnitTests/Core/Core.csproj +++ b/UnitTests/Core/Core.csproj @@ -63,7 +63,7 @@ - + diff --git a/UnitTests/Core/Extensions/InteropExtensionsTests.cs b/UnitTests/Core/Extensions/InteropExtensionsTests.cs index 8d519511..83d49602 100644 --- a/UnitTests/Core/Extensions/InteropExtensionsTests.cs +++ b/UnitTests/Core/Extensions/InteropExtensionsTests.cs @@ -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(rs.Length, i).Select(p => Marshal.ReadIntPtr(p)).ToArray(); + var ro = h.ToIEnum(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(rs.Length, i).Select(p => Marshal.ReadIntPtr(p)).ToArray(); + ro = h.ToIEnum(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])); diff --git a/UnitTests/Core/Extensions/ReflectionExtensionsTests.cs b/UnitTests/Core/Extensions/ReflectionExtensionsTests.cs index e5557355..0d624180 100644 --- a/UnitTests/Core/Extensions/ReflectionExtensionsTests.cs +++ b/UnitTests/Core/Extensions/ReflectionExtensionsTests.cs @@ -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("Tacks"), Is.Null); - Assert.That(dt.GetPropertyValue("Ticks"), Is.Null); - Assert.That(dt.GetPropertyValue("Ticks", 0), Is.EqualTo((ulong)0)); - Assert.That(dt.GetPropertyValue("Ticks"), Is.EqualTo((byte)0)); + Assert.That(dt.GetPropertyValue("Ticks"), Is.EqualTo(dt.Ticks)); + // Has private value + Assert.That(dt.GetPropertyValue("InternalTicks"), Is.EqualTo(dt.Ticks)); + // Bad propname + Assert.That(() => dt.GetPropertyValue("Tacks"), Throws.Exception); + Assert.That(() => dt.GetPropertyValue("Tacks", null), Is.Null); + // Diff ret type + Assert.That(() => dt.GetPropertyValue("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("Str", ""), Is.EqualTo("")); + Assert.That(x.GetPropertyValue("Str", ""), Is.Null); } [TestCase(typeof(string), typeof(char))] diff --git a/UnitTests/Core/InteropServices/MarshalingStreamTests.cs b/UnitTests/Core/InteropServices/MarshalingStreamTests.cs index cb44c336..831d7aa5 100644 --- a/UnitTests/Core/InteropServices/MarshalingStreamTests.cs +++ b/UnitTests/Core/InteropServices/MarshalingStreamTests.cs @@ -125,11 +125,11 @@ namespace Vanara.InteropServices.Tests Assert.That(() => ms.Write(bytes, -1, 8), Throws.TypeOf()); Assert.That(() => ms.Write(bytes, 1, -8), Throws.TypeOf()); 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))