public void QuoteBarSerializationRoundTrip() { var quoteBar = new QuoteBar { Symbol = Symbols.AAPL, Time = DateTime.UtcNow, EndTime = DateTime.UtcNow, Value = 10, LastAskSize = 10, LastBidSize = 100, Ask = new Bar(1, 2, 3, 4), Bid = new Bar(11, 22, 33, 44), Period = TimeSpan.FromMinutes(1) }; var serializedQuoteBar = quoteBar.ProtobufSerialize(); using (var stream = new MemoryStream(serializedQuoteBar)) { // verify its correct var result = (QuoteBar)Serializer.Deserialize <IEnumerable <BaseData> >(stream).First(); Assert.AreEqual(quoteBar.Time, result.Time); Assert.AreEqual(quoteBar.DataType, result.DataType); Assert.AreEqual(quoteBar.EndTime, result.EndTime); Assert.AreEqual(quoteBar.Value, result.Value); Assert.AreEqual(quoteBar.Close, result.Close); Assert.AreEqual(quoteBar.High, result.High); Assert.AreEqual(quoteBar.Low, result.Low); Assert.AreEqual(quoteBar.Open, result.Open); Assert.AreEqual(quoteBar.Period, result.Period); Assert.AreEqual(quoteBar.Ask.Close, result.Ask.Close); Assert.AreEqual(quoteBar.Ask.High, result.Ask.High); Assert.AreEqual(quoteBar.Ask.Low, result.Ask.Low); Assert.AreEqual(quoteBar.Ask.Open, result.Ask.Open); Assert.AreEqual(quoteBar.Bid.Close, result.Bid.Close); Assert.AreEqual(quoteBar.Bid.High, result.Bid.High); Assert.AreEqual(quoteBar.Bid.Low, result.Bid.Low); Assert.AreEqual(quoteBar.Bid.Open, result.Bid.Open); } }