Example #1
0
        static void Main(string [] args)
        {
            if (Debugger.IsAttached)
            {
                CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US");
            }

            _scenarios = Scenario.GetDerivedClassesCollection().ToList();

            if (args.Length > 0)
            {
                var item = _scenarios.FindIndex(t => Scenario.ScenarioMetadata.GetName(t).Equals(args [0], StringComparison.OrdinalIgnoreCase));
                _runningScenario = (Scenario)Activator.CreateInstance(_scenarios [item]);
                Application.Init();
                _runningScenario.Init(Application.Top);
                _runningScenario.Setup();
                _runningScenario.Run();
                _runningScenario = null;
                return;
            }

            Scenario scenario = GetScenarioToRun();

            while (scenario != null)
            {
                Application.Init();
                scenario.Init(Application.Top);
                scenario.Setup();
                scenario.Run();
                scenario = GetScenarioToRun();
            }
        }
Example #2
0
        static void Main(string [] args)
        {
            Console.OutputEncoding = Encoding.Default;

            if (Debugger.IsAttached)
            {
                CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US");
            }

            _scenarios = Scenario.GetDerivedClasses <Scenario> ().OrderBy(t => Scenario.ScenarioMetadata.GetName(t)).ToList();

            if (args.Length > 0 && args.Contains("-usc"))
            {
                _useSystemConsole = true;
                args = args.Where(val => val != "-usc").ToArray();
            }
            if (args.Length > 0)
            {
                var item = _scenarios.FindIndex(t => Scenario.ScenarioMetadata.GetName(t).Equals(args [0], StringComparison.OrdinalIgnoreCase));
                _runningScenario             = (Scenario)Activator.CreateInstance(_scenarios [item]);
                Application.UseSystemConsole = _useSystemConsole;
                Application.Init();
                _runningScenario.Init(Application.Top, _baseColorScheme);
                _runningScenario.Setup();
                _runningScenario.Run();
                _runningScenario = null;
                Application.Shutdown();
                return;
            }

            Scenario scenario;

            while ((scenario = GetScenarioToRun()) != null)
            {
#if DEBUG_IDISPOSABLE
                // Validate there are no outstanding Responder-based instances
                // after a scenario was selected to run. This proves the main UI Catalog
                // 'app' closed cleanly.
                foreach (var inst in Responder.Instances)
                {
                    Debug.Assert(inst.WasDisposed);
                }
                Responder.Instances.Clear();
#endif

                scenario.Init(Application.Top, _baseColorScheme);
                scenario.Setup();
                scenario.Run();
Example #3
0
        static void Main(string [] args)
        {
            if (Debugger.IsAttached)
            {
                CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US");
            }

            _scenarios = Scenario.GetDerivedClasses <Scenario> ().OrderBy(t => Scenario.ScenarioMetadata.GetName(t)).ToList();

            if (args.Length > 0)
            {
                var item = _scenarios.FindIndex(t => Scenario.ScenarioMetadata.GetName(t).Equals(args [0], StringComparison.OrdinalIgnoreCase));
                _runningScenario = (Scenario)Activator.CreateInstance(_scenarios [item]);
                Application.Init();
                _runningScenario.Init(Application.Top, _baseColorScheme);
                _runningScenario.Setup();
                _runningScenario.Run();
                _runningScenario = null;
                return;
            }

            Scenario scenario;

            while ((scenario = GetScenarioToRun()) != null)
            {
#if DEBUG_IDISPOSABLE
                // Validate there are no outstanding Responder-based instances
                // after a sceanario was selected to run. This proves the main UI Catalog
                // 'app' closed cleanly.
                foreach (var inst in Responder.Instances)
                {
                    Debug.Assert(inst.WasDisposed);
                }
                Responder.Instances.Clear();
#endif

                Application.UseSystemConsole = _useSystemConsole;
                scenario.Init(Application.Top, _baseColorScheme);
                scenario.Setup();
                scenario.Run();
                _top.Ready += () => {
                    _top.SetFocus(_rightPane);
                    _top.Ready = null;
                };

#if DEBUG_IDISPOSABLE
                // After the scenario runs, validate all Responder-based instances
                // were disposed. This proves the scenario 'app' closed cleanly.
                foreach (var inst in Responder.Instances)
                {
                    Debug.Assert(inst.WasDisposed);
                }
                Responder.Instances.Clear();
#endif
            }

            Application.Shutdown();

#if DEBUG_IDISPOSABLE
            // This proves that when the user exited the UI Catalog app
            // it cleaned up properly.
            foreach (var inst in Responder.Instances)
            {
                Debug.Assert(inst.WasDisposed);
            }
            Responder.Instances.Clear();
#endif
        }