Updated unit tests for errors based on underlying type changes.

pull/119/head v3.2.7
dahall 2020-05-04 12:41:48 -06:00
parent 0b4032473b
commit 88ad038496
3 changed files with 35 additions and 31 deletions

View File

@ -1,4 +1,5 @@
using NUnit.Framework;
using NUnit.Framework.Constraints;
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
@ -9,10 +10,11 @@ namespace Vanara.PInvoke.Tests
public class HRESULTTests
{
[TestCase(HRESULT.E_ACCESSDENIED, 0x80070005, ExpectedResult = 0)]
[TestCase(HRESULT.E_ACCESSDENIED, 0, ExpectedResult = 1)]
[TestCase(HRESULT.E_ACCESSDENIED, 5U, ExpectedResult = 1)]
[TestCase(HRESULT.E_ACCESSDENIED, 0, ExpectedResult = -1)]
[TestCase(HRESULT.E_ACCESSDENIED, 5U, ExpectedResult = -1)]
[TestCase(HRESULT.E_ACCESSDENIED, HRESULT.E_INVALIDARG, ExpectedResult = -1)]
[TestCase(HRESULT.E_INVALIDARG, HRESULT.E_ACCESSDENIED, ExpectedResult = 1)]
[TestCase(HRESULT.S_OK, HRESULT.E_ACCESSDENIED, ExpectedResult = 1)]
public int CompareToTest(int c, object obj) => new HRESULT(c).CompareTo(obj);
[TestCase(HRESULT.E_ACCESSDENIED, HRESULT.E_INVALIDARG, ExpectedResult = -1)]
@ -78,15 +80,15 @@ namespace Vanara.PInvoke.Tests
Assert.That(() => c.ToByte(f), Throws.Exception);
Assert.That(() => c.ToInt16(f), Throws.Exception);
Assert.That(() => c.ToUInt16(f), Throws.Exception);
Assert.That(() => c.ToInt32(f), Throws.Exception);
Assert.That(c.ToUInt32(f), Is.EqualTo(cv.ToUInt32(f)));
Assert.That(c.ToUInt32(f), Is.EqualTo(unchecked((uint)HRESULT.E_ACCESSDENIED)));
Assert.That(c.ToInt32(f), Is.EqualTo(cv.ToInt32(f)));
Assert.That(c.ToInt64(f), Is.EqualTo(cv.ToInt64(f)));
Assert.That(c.ToUInt64(f), Is.EqualTo(cv.ToUInt64(f)));
Assert.That(c.ToUInt64(f), Is.EqualTo((ulong)unchecked((uint)HRESULT.E_ACCESSDENIED)));
Assert.That(c.ToSingle(f), Is.EqualTo(cv.ToSingle(f)));
Assert.That(c.ToDouble(f), Is.EqualTo(cv.ToDouble(f)));
Assert.That(c.ToDecimal(f), Is.EqualTo(cv.ToDecimal(f)));
Assert.That(() => c.ToDateTime(f), Throws.Exception);
Assert.That(c.ToString(f), Is.EqualTo("E_ACCESSDENIED"));
Assert.That(c.ToString(f), Does.StartWith("E_ACCESSDENIED"));
Assert.That(c.ToType(typeof(int), f), Is.EqualTo(cv.ToType(typeof(int), f)));
}
@ -120,12 +122,14 @@ namespace Vanara.PInvoke.Tests
Assert.That(() => HRESULT.ThrowIfFailed(0), Throws.Nothing);
}
[TestCase(HRESULT.E_INVALIDARG, ExpectedResult = "E_INVALIDARG")]
[TestCase(HRESULT.E_ACCESSDENIED, ExpectedResult = "E_ACCESSDENIED")]
[TestCase(0x80070003, ExpectedResult = "HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)")]
[TestCase(0x80990003, ExpectedResult = "0x80990003")]
[TestCase(0x80079254, ExpectedResult = "0x80079254")]
public string ToStringTest(int c) => new HRESULT(c).ToString();
[TestCase(HRESULT.E_INVALIDARG, "E_INVALIDARG")]
[TestCase(HRESULT.E_ACCESSDENIED, "E_ACCESSDENIED")]
public void ToStringTest(int c, string res) => Assert.That(new HRESULT(c).ToString(), Does.StartWith(res));
[TestCase(0x80070003, "HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)")]
[TestCase(0x80990003, "0x80990003")]
[TestCase(0x80079254, "0x80079254")]
public void ToStringTestU(uint c, string res) => Assert.That(new HRESULT(c).ToString(), Does.StartWith(res));
[Test]
public void TypeConverterTest()

View File

@ -20,7 +20,7 @@ namespace Vanara.PInvoke.Tests
nts = new NTStatus(0);
Assert.That((int)nts, Is.Zero);
nts = new NTStatus(NTStatus.STATUS_CANCELLED);
Assert.That((int)nts, Is.EqualTo(0xC0000120));
Assert.That((uint)nts, Is.EqualTo(0xC0000120));
Assert.That(nts.Failed);
Assert.That(nts.CustomerDefined, Is.False);
Assert.That(nts.Code, Is.EqualTo(0x120));
@ -29,8 +29,8 @@ namespace Vanara.PInvoke.Tests
}
[TestCase(NTStatus.STATUS_ACCESS_DENIED, 0xC0000022, ExpectedResult = 0)]
[TestCase(NTStatus.STATUS_ACCESS_DENIED, 0, ExpectedResult = 1)]
[TestCase(NTStatus.STATUS_ACCESS_DENIED, 0x22U, ExpectedResult = 1)]
[TestCase(NTStatus.STATUS_ACCESS_DENIED, 0, ExpectedResult = -1)]
[TestCase(NTStatus.STATUS_ACCESS_DENIED, 0x22U, ExpectedResult = -1)]
[TestCase(NTStatus.STATUS_ACCESS_DENIED, NTStatus.STATUS_ACPI_INVALID_ARGUMENT, ExpectedResult = -1)]
[TestCase(NTStatus.STATUS_ACPI_INVALID_ARGUMENT, NTStatus.STATUS_ACCESS_DENIED, ExpectedResult = 1)]
public int CompareToTest(int c, object obj) => new NTStatus(c).CompareTo(obj);
@ -87,16 +87,16 @@ namespace Vanara.PInvoke.Tests
Assert.That(() => c.ToByte(f), Throws.Exception);
Assert.That(() => c.ToInt16(f), Throws.Exception);
Assert.That(() => c.ToUInt16(f), Throws.Exception);
Assert.That(() => c.ToInt32(f), Throws.Exception);
Assert.That(c.ToUInt32(f), Is.EqualTo(cv.ToUInt32(f)));
Assert.That(c.ToInt32(f), Is.EqualTo(cv.ToInt32(f)));
Assert.That(c.ToUInt32(f), Is.EqualTo((uint)nts));
Assert.That(c.ToInt64(f), Is.EqualTo(cv.ToInt64(f)));
Assert.That(c.ToUInt64(f), Is.EqualTo(cv.ToUInt64(f)));
Assert.That(c.ToUInt64(f), Is.EqualTo((ulong)(uint)nts));
Assert.That(c.ToSingle(f), Is.EqualTo(cv.ToSingle(f)));
Assert.That(c.ToDouble(f), Is.EqualTo(cv.ToDouble(f)));
Assert.That(c.ToDecimal(f), Is.EqualTo(cv.ToDecimal(f)));
Assert.That(c.ToBoolean(f), Is.EqualTo(nts.Succeeded));
Assert.That(() => c.ToDateTime(f), Throws.Exception);
Assert.That(c.ToString(f), Is.EqualTo("STATUS_ACCESS_DENIED"));
Assert.That(c.ToString(f), Does.StartWith("STATUS_ACCESS_DENIED"));
Assert.That(c.ToType(typeof(int), f), Is.EqualTo(cv.ToType(typeof(int), f)));
}
@ -130,11 +130,11 @@ namespace Vanara.PInvoke.Tests
Assert.That(() => NTStatus.ThrowIfFailed(0), Throws.Nothing);
}
[TestCase(NTStatus.STATUS_ACPI_INVALID_ARGUMENT, ExpectedResult = "STATUS_ACPI_INVALID_ARGUMENT")]
[TestCase(NTStatus.STATUS_ACCESS_DENIED, ExpectedResult = "STATUS_ACCESS_DENIED")]
[TestCase(0xC0000022, ExpectedResult = "STATUS_ACCESS_DENIED")]
[TestCase(0x80990003, ExpectedResult = "0x80990003")]
[TestCase(0x80079254, ExpectedResult = "0x80079254")]
public string ToStringTest(int c) => new NTStatus(c).ToString();
[TestCase(NTStatus.STATUS_ACPI_INVALID_ARGUMENT, "STATUS_ACPI_INVALID_ARGUMENT")]
[TestCase(NTStatus.STATUS_ACCESS_DENIED, "STATUS_ACCESS_DENIED")]
[TestCase(unchecked((int)0xC0000022), "STATUS_ACCESS_DENIED")]
[TestCase(unchecked((int)0x80990003), "0x80990003")]
[TestCase(unchecked((int)0x80079254), "0x80079254")]
public void ToStringTest(int c, string val) => Assert.That(new NTStatus(c).ToString(), Does.StartWith(val));
}
}

View File

@ -74,7 +74,7 @@ namespace Vanara.PInvoke.Tests
Assert.That(c.ToDouble(f), Is.EqualTo(cv.ToDouble(f)));
Assert.That(c.ToDecimal(f), Is.EqualTo(cv.ToDecimal(f)));
Assert.That(() => c.ToDateTime(f), Throws.Exception);
Assert.That(c.ToString(f), Is.EqualTo("ERROR_ACCESS_DENIED"));
Assert.That(c.ToString(f), Does.StartWith("ERROR_ACCESS_DENIED"));
Assert.That(c.ToType(typeof(uint), f), Is.EqualTo(cv.ToType(typeof(uint), f)));
}
@ -117,11 +117,11 @@ namespace Vanara.PInvoke.Tests
Assert.That(() => Win32Error.ThrowLastError(), Throws.Exception);
}
[TestCase(Win32Error.ERROR_INVALID_PARAMETER, ExpectedResult = "ERROR_INVALID_PARAMETER")]
[TestCase(Win32Error.ERROR_ACCESS_DENIED, ExpectedResult = "ERROR_ACCESS_DENIED")]
[TestCase(0x00000003, ExpectedResult = "ERROR_PATH_NOT_FOUND")]
[TestCase(0x00990003, ExpectedResult = "0x00990003")]
public string ToStringTest(uint c) => new Win32Error(c).ToString();
[TestCase(Win32Error.ERROR_INVALID_PARAMETER, "ERROR_INVALID_PARAMETER")]
[TestCase(Win32Error.ERROR_ACCESS_DENIED, "ERROR_ACCESS_DENIED")]
[TestCase(0x00000003U, "ERROR_PATH_NOT_FOUND")]
[TestCase(0x00990003U, "0x00990003")]
public void ToStringTest(uint c, string val) => Assert.That(new Win32Error(c).ToString(), Does.StartWith(val));
[Test]
public void TypeConverterTest()