public void TestMessageReadWrites() { var boolVal = true; var intVal = 1337; var floatVal = 4.2f; var floatListVal = new float[] { 1001, 1002 }; var stringVal = "mlagents!"; IncomingMessage incomingMsg; using (var outgoingMsg = new OutgoingMessage()) { outgoingMsg.WriteBoolean(boolVal); outgoingMsg.WriteInt32(intVal); outgoingMsg.WriteFloat32(floatVal); outgoingMsg.WriteString(stringVal); outgoingMsg.WriteFloatList(floatListVal); incomingMsg = new IncomingMessage(outgoingMsg.ToByteArray()); } Assert.AreEqual(boolVal, incomingMsg.ReadBoolean()); Assert.AreEqual(intVal, incomingMsg.ReadInt32()); Assert.AreEqual(floatVal, incomingMsg.ReadFloat32()); Assert.AreEqual(stringVal, incomingMsg.ReadString()); Assert.AreEqual(floatListVal, incomingMsg.ReadFloatList()); }