Exemple #1
0
        public void TestController()
        {
            string                   code           = "rb1710";
            double                   time           = 20170601.093055;
            KLinePeriod              klinePeriod    = KLinePeriod.KLinePeriod_1Minute;
            IDataNavigate            dataNavigater  = DataCenter.Default.DataNavigateFactory.CreateDataNavigate(code, time);
            IKLineData               klineData      = dataNavigater.GetKLineData(klinePeriod);
            int                      showKLineIndex = klineData.BarPos;
            ChartComponentData       compData       = new ChartComponentData(code, time, klinePeriod, showKLineIndex);
            ChartComponentController controller     = new ChartComponentController(dataNavigater, compData);

            IRealTimeData_Code reader       = controller.CurrentRealTimeDataReader_Code;
            IKLineData         currentKLine = reader.GetKLineData(klinePeriod);

            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);

            controller.Change("rb1801");
            currentKLine = reader.GetKLineData(klinePeriod);
            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);

            controller.Change(code);
            currentKLine = reader.GetKLineData(klinePeriod);
            Assert.AreEqual(compData.Code, currentKLine.Code);
            Assert.AreEqual(compData.Time, currentKLine.Time);
            Assert.AreEqual(compData.ShowKLineIndex, currentKLine.BarPos);
            Console.WriteLine(currentKLine);
            controller.ChangeChartType(ChartType.TimeLine);
            Console.WriteLine(compData);

            controller.Change(20170601.100531);
            controller.ChangeChartType(ChartType.KLine);
            Console.WriteLine(reader.GetKLineData(compData.KlinePeriod));
            Console.WriteLine(compData);

            controller.Change("rb1801", 20171014.093000, KLinePeriod.KLinePeriod_1Minute);
            Console.WriteLine(compData);
        }