Exemplo n.º 1
0
        public void TestAppend()
        {
            IQuoteCapture qc = null;

            // 测试null
            _quoteCapture.Append(qc);
            Assert.AreEqual(0, _quoteCapture.Count);

            // 测试空
            qc = new QuoteCapture();
            _quoteCapture.Append(qc);
            Assert.AreEqual(0, _quoteCapture.Count);

            // 测试不同的symbol
            qc = new QuoteCapture("symbol1");
            qc.Add(10, 20, 30);
            _quoteCapture.Append(qc);
            Assert.AreEqual(0, _quoteCapture.Count);

            // 测试_quoteCapter.LastTime < qc.LastTime
            qc = new QuoteCapture("symbol0");
            _quoteCapture.Add(10, 20, 15);
            qc.Add(5, 20);
            _quoteCapture.Append(qc);
            Assert.AreEqual(1, _quoteCapture.Count);
            Assert.AreEqual(10, _quoteCapture.Time[0]);
            Assert.AreEqual(20, _quoteCapture.Price[0]);
            Assert.AreEqual(15, _quoteCapture.Volume[0]);

            // 测试不添加小于LastTime的数据
            qc.Add(10, 18, 18);
            qc.Add(20, 30, 17);
            _quoteCapture.Append(qc);
            Assert.AreEqual(2, _quoteCapture.Count);
            Assert.AreEqual(10, _quoteCapture.Time[0]);
            Assert.AreEqual(20, _quoteCapture.Time[1]);
            Assert.AreEqual(20, _quoteCapture.Price[0]);
            Assert.AreEqual(30, _quoteCapture.Price[1]);
            Assert.AreEqual(15, _quoteCapture.Volume[0]);
            Assert.AreEqual(17, _quoteCapture.Volume[1]);
        }