public static Offset <PongMessage> CreatePongMessage(FlatBufferBuilder builder,
                                                      int count = 0,
                                                      StringOffset msgOffset = default(StringOffset))
 {
     builder.StartObject(2);
     PongMessage.AddMsg(builder, msgOffset);
     PongMessage.AddCount(builder, count);
     return(PongMessage.EndPongMessage(builder));
 }
        public void TestPingMessage()
        {
            // Register message creators
            schema.Register(MessageIds.Ping, bb => PingMessage.GetRootAsPingMessage(bb));
            schema.Register(MessageIds.Pong, bb => PongMessage.GetRootAsPongMessage(bb));

            var count = 10;
            var msg   = "TestPing10";
            var lists = new int[][][]
            {
                new int[][]
                {
                    new int[] { 1, 2 },
                    new int[] { 2, 3 },
                },
                new int[][]
                {
                    new int[] { 3, 4 },
                    new int[] { 4, 5 },
                    new int[] { 5, 6 },
                },
                new int[][]
                {
                },
            };
            var ping = CreatePingMessage(count, msg, lists);

            queue.Enqueue(ping.ToProtocolMessage(MessageIds.Ping));

            var message = queue.Dequeue();

            Assert.AreEqual((int)MessageIds.Ping, message.Id);

            Assert.IsTrue(message.Body is PingMessage);
            var pingBody = (PingMessage)message.Body;

            Assert.AreEqual(count, pingBody.Count);
            Assert.AreEqual(msg, pingBody.Msg);

            Assert.AreEqual(lists.Length, pingBody.ListsLength);

            Assert.AreEqual(lists[0].Length, pingBody.Lists(0).Value.ItemsLength);
            Assert.AreEqual(lists[0][0][0], pingBody.Lists(0).Value.Items(0).Value.Key);
            Assert.AreEqual(lists[0][0][1], pingBody.Lists(0).Value.Items(0).Value.Value);

            Assert.AreEqual(lists[1].Length, pingBody.Lists(1).Value.ItemsLength);
            Assert.AreEqual(lists[1][2][0], pingBody.Lists(1).Value.Items(2).Value.Key);
            Assert.AreEqual(lists[1][2][1], pingBody.Lists(1).Value.Items(2).Value.Value);

            Assert.AreEqual(lists[2].Length, pingBody.Lists(2).Value.ItemsLength);
        }
 public static PongMessage GetRootAsPongMessage(ByteBuffer _bb, PongMessage obj)
 {
     return(obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb));
 }