public void TestMinusHexToLong() { var hex = "-F"; var x = hex; var s = '+'; if (x[0] == '-' || x[0] == '+') { s = x[0]; x = x.Remove(0, 1); } var y = Hex.Decode($"{"".PadRight(16 - x.Length, '0')}{x}"); if (BitConverter.IsLittleEndian) { Array.Reverse(y); } var y1 = BitConverter.ToInt64(y, 0); if (s == '-') { y1 = 0 - y1; } var a = -15L; Assert.AreEqual(a, y1); Assert.AreEqual(a, HexParser.HexStringToLong(hex)); Assert.AreEqual(8, y.Length); }