using System.Globalization;
|
using NUnit.Framework;
|
namespace OpenTap.UnitTests;
|
|
public class UnitFormatterTest
|
{
|
|
[TestCase("", "0x", 10, "0xa")]
|
[TestCase("", "0X", 10, "0xA")]
|
[TestCase("", "0x8", 10, "0x0000000a")]
|
[TestCase("", "0X8", 10, "0x0000000A")]
|
[TestCase("", "0x16", 10, "0x000000000000000a")]
|
[TestCase("", "0X16", 10, "0x000000000000000A")]
|
public void TestFormats(string unit, string format, object value, string expected)
|
{
|
var result = UnitFormatter.Format(BigFloat.Convert(value), false, unit, format, CultureInfo.InvariantCulture);
|
Assert.AreEqual(expected, result);
|
BigFloat flt = UnitFormatter.Parse(result, unit, format, CultureInfo.InvariantCulture);
|
var result2 = flt.ConvertTo(value.GetType());
|
Assert.AreEqual(value, result2);
|
}
|
|
}
|
|
public class StepWithHexProperties : TestStep
|
{
|
|
[Unit("", StringFormat: "0x")]
|
public uint X { get; set; } = 0xAABBAABB;
|
[Unit("", StringFormat: "0X")]
|
public int X2 { get; set; } = 0x0ABBAABB;
|
[Unit("", StringFormat:"X")]
|
public int X3 { get; set; }= 0x0ABBAABB;
|
[Unit("", StringFormat:"X8")]
|
public int X4 { get; set; }= 0x0ABBAABB;
|
[Unit("", StringFormat:"0x8")]
|
public int X5 { get; set; }= 0x0ABBAABB;
|
[Unit("", StringFormat:"0X8")]
|
public int X6 { get; set; }= 0x0ABBAABB;
|
|
[Unit("", StringFormat:"0x16")]
|
public ulong X7 { get; set; }= 0x0ABBAABB;
|
[Unit("", StringFormat:"0X16")]
|
public ulong X8 { get; set; }= 0x0ABBAABB;
|
|
public override void Run()
|
{
|
|
}
|
}
|