public void EncodeAndDecode_PassCards() { MessageId msgId = new MessageId(); MessageId convId = new MessageId(); List <CardTypes> cards = new List <CardTypes>(); cards.Add(CardTypes.Sashimi); cards.Add(CardTypes.EggNigiri); PassCard msg1 = new PassCard() { MsgId = msgId, ConvId = convId, Hand = cards }; byte[] bytes = msg1.Encode(); PassCard msg2 = Message.Decode <PassCard>(bytes); Assert.IsNotNull(msg2); Assert.AreEqual(msg1.MsgId, msg2.MsgId); Assert.AreEqual(msg1.ConvId, msg2.ConvId); for (int i = 0; i < cards.Count; i++) { Assert.AreEqual(msg1.Hand[i], msg2.Hand[i]); } }