public void WhenProtocolHaveMessages_MessagesAreCorrectlyReturned() { _protocol.GetPackets().Returns(new[] { "1", "2" }); _parser.Deserialize("1").Returns(1); _parser.Deserialize("2").Returns(2); var messages = _reciver.Recive(); Check.That(messages).ContainsExactly(1, 2); }
public TestMessage Deserialize(BinaryReader reader) { var model = new TestMessage(); model.Int32Field = BitConverter.ToInt32(reader.ReadBytes(4), 0); model.Float32Field = BitConverter.ToSingle(reader.ReadBytes(4), 0); model.Int16Field = BitConverter.ToInt16(reader.ReadBytes(2), 0); model.Int8Field = (sbyte)reader.ReadByte(); model.VarcharField = Encoding.ASCII.GetString(reader.ReadBytes(reader.ReadByte())); model.CharField = Encoding.ASCII.GetString(reader.ReadBytes(10)); model.Uint32Field = BitConverter.ToUInt32(reader.ReadBytes(4), 0); model.Uint16Field = BitConverter.ToUInt16(reader.ReadBytes(2), 0); model.Uint8Field = reader.ReadByte(); model.CustomTypeField = _customTypeDtoDeserializer.Deserialize(reader); model.ArrayField = new List <StringsObjectDto>(); var arrayFieldLength = (uint)reader.ReadByte(); for (var i = 0; i < arrayFieldLength; i++) { model.ArrayField.Add(_stringsObjectDtoDeserializer.Deserialize(reader)); } model.PrimitiveNumericArrayField = new List <int>(); var primitiveNumericArrayFieldLength = (uint)reader.ReadByte(); for (var i = 0; i < primitiveNumericArrayFieldLength; i++) { model.PrimitiveNumericArrayField.Add(BitConverter.ToInt32(reader.ReadBytes(4), 0)); } model.PrimitiveCharArrayField = new List <string>(); var primitiveCharArrayFieldLength = (uint)reader.ReadByte(); for (var i = 0; i < primitiveCharArrayFieldLength; i++) { model.PrimitiveCharArrayField.Add(Encoding.ASCII.GetString(reader.ReadBytes(9))); } model.PrimitiveVarcharArrayField = new List <string>(); var primitiveVarcharArrayFieldLength = (uint)reader.ReadByte(); for (var i = 0; i < primitiveVarcharArrayFieldLength; i++) { model.PrimitiveVarcharArrayField.Add(Encoding.ASCII.GetString(reader.ReadBytes(reader.ReadByte()))); } model.PrimitiveSingleByteArrayField = new List <sbyte>(); var primitiveSingleByteArrayFieldLength = (uint)reader.ReadByte(); for (var i = 0; i < primitiveSingleByteArrayFieldLength; i++) { model.PrimitiveSingleByteArrayField.Add((sbyte)reader.ReadByte()); } return(model); }
private T DeserializePacket(string packet) { return(_deserializer.Deserialize(packet)); }
public override void Handle(MhfClient client, MhfPacket requestPacket) { T request = _deserializer.Deserialize(requestPacket); HandleRequest(client, request); }