public void Field_value_table() { var expectedDouble = (double)-1 / 65537; var expectedString = "شصꩠ😄"; var expectedTime = new DateTime(9999, 12, 31, 23, 59, 59, DateTimeKind.Utc); var expected = new Dictionary <string, object>() { { "double", expectedDouble }, { "string", expectedString }, { "time", expectedTime } }; var data = new object[] { 'F', 0x00, 0x00, 0x00, 50, 6, 'd', 'o', 'u', 'b', 'l', 'e', 'd', 0xBE, 0xEF, 0xFF, 0xE0, 0x00, 0x1F, 0xFF, 0xE0, 6, 's', 't', 'r', 'i', 'n', 'g', 's', 11, 0xD8, 0xB4, 0xD8, 0xB5, 0xEA, 0xA9, 0xA0, 0xF0, 0x9F, 0x98, 0x84, 4, 't', 'i', 'm', 'e', 'T', 0x00, 0x00, 0x00, 0x3a, 0xff, 0xf4, 0x41, 0x7F }; var bytes = data .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(bytes); var reader = new AmqpValueReader(stream, false); var value = reader.ReadFieldValue(); Assert.Equal(expected, value); }
public void Field_value_array() { var expectedDouble = (double)-1 / 65537; var expectedString = "شصꩠ😄"; var expectedTime = new DateTime(9999, 12, 31, 23, 59, 59, DateTimeKind.Utc); var expected = new object[] { expectedDouble, expectedString, expectedTime }; var data = new object[] { 'A', 0x00, 0x00, 0x00, 31, 'd', 0xBE, 0xEF, 0xFF, 0xE0, 0x00, 0x1F, 0xFF, 0xE0, 's', 11, 0xD8, 0xB4, 0xD8, 0xB5, 0xEA, 0xA9, 0xA0, 0xF0, 0x9F, 0x98, 0x84, 'T', 0x00, 0x00, 0x00, 0x3a, 0xff, 0xf4, 0x41, 0x7F }; var bytes = data .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(bytes); var reader = new AmqpValueReader(stream, false); var value = reader.ReadFieldValue(); Assert.Equal(expected, value); }
public void Field_value_time(int[] expected, object[] data) { var bytes = data .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(bytes); var reader = new AmqpValueReader(stream, false); var value = reader.ReadFieldValue(); Assert.IsType <DateTime>(value); var time = (DateTime)value; var expectedTime = new DateTime( expected[0], expected[1], expected[2], expected[3], expected[4], expected[5], DateTimeKind.Utc ); Assert.Equal(expectedTime, time); Assert.Equal(DateTimeKind.Utc, time.Kind); }
public void Field_value_boolean_true(byte[] data) { var stream = new MemoryStream(data); var reader = new AmqpValueReader(stream, false); var value = reader.ReadFieldValue(); Assert.IsType <bool>(value); Assert.Equal(true, value); }
public void Field_value_string_with_multibyte_chars(string expected, object[] data) { var bytes = data .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(bytes); var reader = new AmqpValueReader(stream, false); Assert.Equal(expected, reader.ReadFieldValue()); }
public void Field_value_double(double expected, object[] data) { var bytes = data .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(bytes); var reader = new AmqpValueReader(stream, false); var value = reader.ReadFieldValue(); Assert.IsType <double>(value); Assert.Equal(expected, value); }