public unsafe void Should_correctly_convert_Guid_values(Endianness endianness) { var value = Guid.Parse("01020304-0506-0708-1020-304050607080"); var expectedBytes = endianness == Endianness.Big ? new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80 } : new byte[] { 0x04, 0x03, 0x02, 0x01, 0x06, 0x05, 0x08, 0x07, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80 }; var converted = EndiannessConverter.Convert(value, endianness); fixed(byte *b = expectedBytes) converted.Should().Be(*(Guid *)b); }
public void Convert_should_swap_byte_order_if_number_is_not_in_requested_endianness() { EndiannessConverter.Convert(short.MaxValue, ForeignEndianness).Should().Be(EndiannessConverter.Swap(short.MaxValue)); EndiannessConverter.Convert(ushort.MaxValue, ForeignEndianness).Should().Be(EndiannessConverter.Swap(ushort.MaxValue)); EndiannessConverter.Convert(int.MaxValue, ForeignEndianness).Should().Be(EndiannessConverter.Swap(int.MaxValue)); EndiannessConverter.Convert(uint.MaxValue, ForeignEndianness).Should().Be(EndiannessConverter.Swap(uint.MaxValue)); EndiannessConverter.Convert(long.MaxValue, ForeignEndianness).Should().Be(EndiannessConverter.Swap(long.MaxValue)); EndiannessConverter.Convert(ulong.MaxValue, ForeignEndianness).Should().Be(EndiannessConverter.Swap(ulong.MaxValue)); EndiannessConverter.Convert(float.MaxValue, ForeignEndianness).Should().Be(EndiannessConverter.Swap(float.MaxValue)); EndiannessConverter.Convert(double.MaxValue, ForeignEndianness).Should().Be(EndiannessConverter.Swap(double.MaxValue)); }
public void Convert_should_not_swap_byte_order_if_number_is_already_in_requested_endianness() { EndiannessConverter.Convert(short.MaxValue, SystemEndianness).Should().Be(short.MaxValue); EndiannessConverter.Convert(ushort.MaxValue, SystemEndianness).Should().Be(ushort.MaxValue); EndiannessConverter.Convert(int.MaxValue, SystemEndianness).Should().Be(int.MaxValue); EndiannessConverter.Convert(uint.MaxValue, SystemEndianness).Should().Be(uint.MaxValue); EndiannessConverter.Convert(long.MaxValue, SystemEndianness).Should().Be(long.MaxValue); EndiannessConverter.Convert(ulong.MaxValue, SystemEndianness).Should().Be(ulong.MaxValue); EndiannessConverter.Convert(float.MaxValue, SystemEndianness).Should().Be(float.MaxValue); EndiannessConverter.Convert(double.MaxValue, SystemEndianness).Should().Be(double.MaxValue); }