public void ReadBooleanArrayBig() { List<byte> s = new List<byte>(); s.Add(0xff); for (int i = 0; i < 255; i++) { s.Add(0x00); } WireDecoder d = new WireDecoder(s.ToArray()); var val = d.ReadValue(NtType.BooleanArray); Assert.That(val.Type, Is.EqualTo(NtType.BooleanArray)); Assert.That(val.Value, Is.EqualTo(v_boolArrayBig.Value)); Assert.That(d.ReadValue(NtType.BooleanArray), Is.Null); Assert.That(d.Error, Is.Null); }
public static List<RpcValue> UnpackRpcValues(byte[] packed, params NtType[] types) { WireDecoder dec = new WireDecoder(packed); List<RpcValue> values = new List<RpcValue>(); foreach (var type in types) { var item = dec.ReadValue(type); if (item == null) { values.Clear(); break; } values.Add(item); } return values; }
public void TestReadStringArray() { List<byte> b = new List<byte>() { 0x02, 0x05 }; b.AddRange(Encoding.UTF8.GetBytes("hello")); b.Add(0x07); b.AddRange(Encoding.UTF8.GetBytes("goodbye")); b.Add(0x55); WireDecoder d = new WireDecoder(b.ToArray()); var val = d.ReadValue(NtType.StringArray); Assert.That(val.Type, Is.EqualTo(NtType.StringArray)); Assert.That(val.Value, Is.EqualTo(v_stringArray.Value)); byte by = 0; Assert.That(d.Read8(ref by)); Assert.That(by, Is.EqualTo(0x55)); Assert.That(d.ReadValue(NtType.StringArray), Is.Null); Assert.That(d.Error, Is.Null); }
public void TestStringValue() { byte[] rawData = new byte[] { 0x05, (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o', 0x03, (byte)'b', (byte)'y', (byte)'e', 0x55, }; WireDecoder d = new WireDecoder(rawData); var val = d.ReadValue(NtType.String); Assert.That(val.Type, Is.EqualTo(NtType.String)); Assert.That(val.Value, Is.EqualTo(v_string.Value)); var vFalse = RpcValue.MakeString("bye"); val = d.ReadValue(NtType.String); Assert.That(val.Type, Is.EqualTo(NtType.String)); Assert.That(val.Value, Is.EqualTo(vFalse.Value)); byte b = 0; Assert.That(d.Read8(ref b)); Assert.That(b, Is.EqualTo(0x55)); Assert.That(d.ReadValue(NtType.String), Is.Null); Assert.That(d.Error, Is.Null); }
public void TestReadDoubleArray() { byte[] b = { 0x02, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55 }; WireDecoder d = new WireDecoder(b); var val = d.ReadValue(NtType.DoubleArray); Assert.That(val.Type, Is.EqualTo(NtType.DoubleArray)); Assert.That(val.Value, Is.EqualTo(v_doubleArray.Value)); byte by = 0; Assert.That(d.Read8(ref by)); Assert.That(by, Is.EqualTo(0x55)); Assert.That(d.ReadValue(NtType.DoubleArray), Is.Null); Assert.That(d.Error, Is.Null); }
public void TestReadBooleanArray() { byte[] b = { 0x03, 0x00, 0x01, 0x00, 0x02, 0x01, 0x00, 0xff }; WireDecoder d = new WireDecoder(b); var val = d.ReadValue(NtType.BooleanArray); Assert.That(val.Type, Is.EqualTo(NtType.BooleanArray)); Assert.That(val.Value, Is.EqualTo(v_boolArray.Value)); var boolArray2 = RpcValue.MakeBooleanArray(true, false); val = d.ReadValue(NtType.BooleanArray); Assert.That(val.Type, Is.EqualTo(NtType.BooleanArray)); Assert.That(val.Value, Is.EqualTo(boolArray2.Value)); Assert.That(d.ReadValue(NtType.BooleanArray), Is.Null); Assert.That(d.Error, Is.Null); }
public void TestDoubleValue() { byte[] rawData = new byte[] { 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; WireDecoder d = new WireDecoder(rawData); var val = d.ReadValue(NtType.Double); Assert.That(val.Type, Is.EqualTo(NtType.Double)); Assert.That(val.Value, Is.EqualTo(v_double.Value)); val = d.ReadValue(NtType.Double); Assert.That(val.Type, Is.EqualTo(NtType.Double)); Assert.That(val.Value, Is.EqualTo(v_double.Value)); Assert.That(d.ReadValue(NtType.Double), Is.Null); Assert.That(d.Error, Is.Null); }
public void TestBooleanValue() { byte[] rawData = new byte[] { 0x01, 0x00 }; WireDecoder d = new WireDecoder(rawData); var val = d.ReadValue(NtType.Boolean); Assert.That(val.Type, Is.EqualTo(NtType.Boolean)); Assert.That(val.Value, Is.EqualTo(v_boolean.Value)); var vFalse = RpcValue.MakeBoolean(false); val = d.ReadValue(NtType.Boolean); Assert.That(val.Type, Is.EqualTo(NtType.Boolean)); Assert.That(val.Value, Is.EqualTo(vFalse.Value)); Assert.That(d.ReadValue(NtType.Boolean), Is.Null); Assert.That(d.Error, Is.Null); }
public void ReadValueError() { WireDecoder d = new WireDecoder(new byte[0]); Assert.That(d.ReadValue(NtType.Unassigned), Is.Null); Assert.That(d.Error, Is.Not.Null); }