Ejemplo n.º 1
0
        public void TestGUIIteration()
        {
            var appData = Factory.Settings["PriceDataFolder"];

            File.Delete(appData + @"\ServerCache\IBM.tck");
            var config             = new StarterConfig();
            StarterConfigView form = null;

            StartGUI(config, out form);
            try {
                config.WaitComplete(2);
                config.SymbolList = "IBM";
                StrategyBaseTest.CleanupFiles(config.SymbolList, null);
                config.DefaultPeriod  = 10;
                config.DefaultBarUnit = BarUnit.Second.ToString();
                config.ModelLoader    = "Example: Breakout Reversal";
                config.StarterName    = "Realtime Operation (Demo or Live)";
                config.Start();
                config.WaitComplete(30, () => { return(form.PortfolioDocs.Count > 0); });
                Assert.Greater(form.PortfolioDocs.Count, 0);
                var chart = form.PortfolioDocs[0].ChartControl;
                config.WaitComplete(30, () => { return(chart.IsDrawn); });
                var pane = chart.DataGraph.MasterPane.PaneList[0];
                Assert.IsNotNull(pane.CurveList);
                config.WaitComplete(30, () => { return(pane.CurveList.Count > 0); });
                Assert.Greater(pane.CurveList.Count, 0);
                var chartBars = (OHLCBarItem)pane.CurveList[0];
                config.WaitComplete(60, () => { return(chartBars.NPts >= 3); });
                Assert.GreaterOrEqual(chartBars.NPts, 3);
                config.Stop();
                config.WaitComplete(30, () => { return(!config.CommandWorker.IsBusy); });
                Assert.IsFalse(config.CommandWorker.IsBusy, "ProcessWorker.Busy");
            } catch (Exception ex) {
                log.Error("Test failed with error: " + ex.Message, ex);
                Environment.Exit(1);
            } finally {
                execute.Exit();
                guiThread.Join();
            }
        }