public async void CommunicationDeviceSerializerBatchTest() { Regulus.Serialization.ISerializer serializer = new Regulus.Serialization.Dynamic.Serializer(); Stream cd = new Regulus.Remote.Standalone.Stream(); IStreamable peer = cd; byte[] buf = serializer.ServerToClient(ServerToClientOpCode.LoadSoul, new Regulus.Remote.PackageLoadSoul() { EntityId = 1, ReturnType = false, TypeId = 1 }); await cd.Push(buf, 0, 1); await cd.Push(buf, 1, buf.Length - 1); byte[] recvBuf = new byte[buf.Length]; await peer.Receive(recvBuf, 0, recvBuf.Length); await peer.Receive(recvBuf, 1, recvBuf.Length - 1); ResponsePackage responsePkg = serializer.Deserialize(recvBuf) as ResponsePackage; PackageLoadSoul lordsoulPkg = serializer.Deserialize(responsePkg.Data) as PackageLoadSoul; Assert.Equal(ServerToClientOpCode.LoadSoul, responsePkg.Code); Assert.Equal(1, lordsoulPkg.EntityId); Assert.False(lordsoulPkg.ReturnType); Assert.Equal(1, lordsoulPkg.TypeId); }