public void Field_value_array() { var valueDouble = (double)-1 / 65537; var valueString = "شصꩠ😄"; var valueTime = new DateTime(9999, 12, 31, 23, 59, 59, DateTimeKind.Utc); var values = new object[] { valueDouble, valueString, valueTime }; var expected = 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 expectedData = expected .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(); var writer = new AmqpValueWriter(stream, false); writer.WriteFieldValue(values); var data = stream.ToArray(); Assert.Equal(expectedData, data); }
public void Field_value_time(int[] valueParts, object[] expected) { var value = new DateTime( valueParts[0], valueParts[1], valueParts[2], valueParts[3], valueParts[4], valueParts[5], DateTimeKind.Utc ); var expectedData = expected .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(); var writer = new AmqpValueWriter(stream, false); writer.WriteFieldValue(value); var data = stream.ToArray(); Assert.Equal(expectedData, data); }
public void Field_value_nested_table() { var valueDouble = (double)-1 / 65537; var valueString = "شصꩠ😄"; var valueTime = new DateTime(9999, 12, 31, 23, 59, 59, DateTimeKind.Utc); var values = new Dictionary <string, object>() { { "double", valueDouble }, { "string", valueString }, { "time", valueTime }, { "nested", new Dictionary <string, object>() { { "double", valueDouble }, { "string", valueString }, { "time", valueTime } } } }; var exprected = new object[] { 'F', 0x00, 0x00, 0x00, 112, 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, 6, 'n', 'e', 's', 't', 'e', 'd', '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 expectedData = exprected .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(); var writer = new AmqpValueWriter(stream, false); writer.WriteFieldValue(values); var data = stream.ToArray(); Assert.Equal(expectedData, data); }
public void Field_value_double(double value, object[] expected) { var expectedData = expected .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(); var writer = new AmqpValueWriter(stream, false); writer.WriteFieldValue(value); var data = stream.ToArray(); Assert.Equal(expectedData, data); }
public void Field_value_boolean_true() { var expected = new object[] { 't', 1 } .Select(x => Convert.ToByte(x)) .ToArray() ; var stream = new MemoryStream(); var writer = new AmqpValueWriter(stream, false); writer.WriteFieldValue(true); var data = stream.ToArray(); Assert.Equal(expected, data); }