public void SerializeTest()
        {
            var ass1 = new Asset
            {
                Quantity     = 1,
                RelatedStock = new Stock("GOOGL", "GOOGLE")
            };
            var assets = new Dictionary <string, Asset>
            {
                { ass1.RelatedStock.Symbol, ass1 }
            };

            var updateMessage = new PortfolioUpdateMessage
            {
                Assets         = assets,
                PortfolioID    = 1,
                WriteAuthority = true
            };

            var serializedMessage = MessageFactory.GetMessage(updateMessage.Encode(), false) as PortfolioUpdateMessage;

            Assert.AreEqual(updateMessage.PortfolioID, serializedMessage.PortfolioID);
            Assert.AreEqual(updateMessage.WriteAuthority, serializedMessage.WriteAuthority);
            Assert.AreEqual(updateMessage.Assets.Count, serializedMessage.Assets.Count);
            Assert.AreEqual(updateMessage.Assets.ContainsKey("GOOGL"), serializedMessage.Assets.ContainsKey("GOOGL"));
            Assert.AreEqual(updateMessage.Assets["GOOGL"].Quantity, serializedMessage.Assets["GOOGL"].Quantity);
            Assert.AreEqual(updateMessage.Assets["GOOGL"].RelatedStock.Name, serializedMessage.Assets["GOOGL"].RelatedStock.Name);
        }