public void NumbersToHexConvertTest(int seed) { var random = new Random(seed); var uint8 = unchecked ((byte)(random.Next() % byte.MaxValue)); var uint16 = unchecked ((ushort)(random.Next() % ushort.MaxValue)); var uint32 = unchecked ((uint)random.Next()); var uint64 = unchecked ((ulong)random.NextDouble() * long.MaxValue); var uint8Hex = BitConverter.ToString(new byte[] { uint8 }).Replace("-", "").ToLowerInvariant(); var uint16Hex = BitConverter.ToString(BitConverter.GetBytes(uint16)).Replace("-", "").ToLowerInvariant(); var uint32Hex = BitConverter.ToString(BitConverter.GetBytes(uint32)).Replace("-", "").ToLowerInvariant(); var uint64Hex = BitConverter.ToString(BitConverter.GetBytes(uint64)).Replace("-", "").ToLowerInvariant(); var hexBuffer = new char[256]; // uint8 -> hex var count = HexConvert.WriteTo(uint8, hexBuffer, 0); var actualHex = new string(hexBuffer, 0, count); Assert.Equal(uint8Hex, actualHex); Array.Clear(hexBuffer, 0, hexBuffer.Length); // uint16 -> hex count = HexConvert.WriteTo(uint16, hexBuffer, 0); actualHex = new string(hexBuffer, 0, count); Assert.Equal(uint16Hex, actualHex); Array.Clear(hexBuffer, 0, hexBuffer.Length); // uint32 -> hex count = HexConvert.WriteTo(uint32, hexBuffer, 0); actualHex = new string(hexBuffer, 0, count); Assert.Equal(uint32Hex, actualHex); Array.Clear(hexBuffer, 0, hexBuffer.Length); // uint64 -> hex count = HexConvert.WriteTo(uint64, hexBuffer, 0); actualHex = new string(hexBuffer, 0, count); Assert.Equal(uint64Hex, actualHex); Array.Clear(hexBuffer, 0, hexBuffer.Length); }