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); }