public void TestPackedCandleStream() { var stream = new PackedCandleStream( srcCandles.Select( c => new CandleDataPacked { timeOpen = c.timeOpen, open = c.open, HLC = c.GetHlcOffset16(VersePointValue), close = c.close }).ToList(), true); var parsedCandles = stream.GetCandles().Select(c => { var candle = new CandleData {timeOpen = c.timeOpen, open = c.open, close = c.close}; candle.MakeHlcFromOffset16(c.HLC, VersePointValue); return candle; }).ToList(); for (var candleIndex = 0; candleIndex < srcCandles.Count; candleIndex++) { var candle = srcCandles[candleIndex]; var parsedCandle = parsedCandles[candleIndex]; Assert.AreEqual(candle.high, parsedCandle.high, 0.000001, "TestPackedCandleStream: ParseLine error (high)"); Assert.AreEqual(candle.low, parsedCandle.low, 0.000001, "TestPackedCandleStream: ParseLine error (low)"); Assert.AreEqual(candle.close, parsedCandle.close, 0.000001, "TestPackedCandleStream: ParseLine error (close)"); } }