Ejemplo n.º 1
0
        /// <summary>
        /// The main body of the program.
        /// </summary>
        /// <param name="args">Problem number as int</param>
        /// <returns>ExitCode as int</returns>
        private static int DoStuff(string[] args)
        {
            Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));

            // If we have no program arguments fail
            if (args.Length < 1)
            {
                Trace.WriteLine("Please enter a Problem Id that corresponds to one on https://projecteuler.net/");
                return(ExitCode.ParameterMissing);
            }

            int problemId;

            // Check if Problem Id is an int
            if (!int.TryParse(args[0], out problemId))
            {
                Trace.WriteLine("Please enter Problem Id as an int. Value given: " + problemId);
                return(ExitCode.ProblemIdArgNotAnInt);
            }

            SolutionOutput soultionOutput = SolutionRunner.RunSolution(problemId);

            Trace.WriteLine("Running Problem No. " + problemId);
            Trace.WriteLine("Solution Output: " + soultionOutput.Output);
            Trace.WriteLine("DurationMilliseconds: " + soultionOutput.DurationMilliseconds);
            bool didProblemPass = soultionOutput.ValidationResult;

            if (didProblemPass)
            {
                return(ExitCode.Ok);
            }

            return(ExitCode.ProblemFailed);
        }
Ejemplo n.º 2
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build();

        var f = Framework.Current;

        runner            = new SolutionRunner(f);
        runner.TargetFile = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "BollingerBands.exe");

        runner.StateChanged += OnRunnerStateChanged;
        btnStart.Clicked    += OnStartButtonClicked;
        btnStop.Clicked     += OnStopButtonClicked;
        btnStep.Clicked     += OnStepButtonClicked;
        btnPause.Clicked    += OnPauseButtonClicked;
        btnStatus.Clicked   += OnStatusButtonClicked;

        foreach (var n in Enum.GetNames(typeof(StrategyMode)))
        {
            cbxMode.AppendText(n);
        }

        cbxMode.Changed += (sender, e) =>
        {
            if (cbxMode.ActiveText == "Backtest")
            {
                runner.StrategyMode = StrategyMode.Backtest;
            }
            if (cbxMode.ActiveText == "Live")
            {
                runner.StrategyMode = StrategyMode.Live;
            }
            if (cbxMode.ActiveText == "Paper")
            {
                runner.StrategyMode = StrategyMode.Paper;
            }
        };
        cbxMode.Active = 0;

        foreach (var s in runner.AvailableStepEvents.Keys)
        {
            cbxEvent.AppendText(s);
        }
        cbxEvent.Changed += (sender, e) => runner.StepEvent = runner.AvailableStepEvents[cbxEvent.ActiveText];
        cbxEvent.Active   = 0;
        updateUI();
    }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            var api    = new PuzzleApi("http://adventofcode.com", new SessionProvider());
            var runner = new SolutionRunner(api);

            var days = new IPuzzleSolution[]
            {
                new Day1(),
                new Day2(),
                new Day3(),
                new Day4(),
                new Day5(),
                new Day6(),
                new Day7(),
                new Day8(),
                new Day9(),
                new Day10(),
                new Day11(),
                new Day12(),
                new Day13(),
                new Day14(),
                new Day15(),
                new Day16(),
                //new Day17(),
                //new Day18(),
                //new Day19(),
                //new Day20(),
                //new Day21(),
                //new Day22(),
                //new Day23(),
                //new Day24(),
                //new Day25(),
            }.ToList();

            //days.ForEach(x => runner.Run(x).Wait());


            runner.Run(days.Last()).Wait();
        }
Ejemplo n.º 4
0
        private static void ReadSettings()
        {
            string problemSettings = ConfigurationManager.AppSettings["problems"] ?? "all";
            runAllProblems = problemSettings.ToLower() == "all";
            if (!runAllProblems)
            {
                problems = problemSettings.Split(',')
                                            .Select(s => s.TrimStart('0', ' '))
                                            .ToArray();
            }

            string runnerSettings = ConfigurationManager.AppSettings["runner"] ?? string.Empty;
            runner = runnerSettings.ToLower() == "parallel"
                ? (SolutionRunner)RunSolutionParallel
                : RunSolution;

            iterations = int.Parse(ConfigurationManager.AppSettings["iterations"] ?? "1");
            if (iterations < 1)
            {
                iterations = 1;
            }

            showMs = (ConfigurationManager.AppSettings["timingUnits"] ?? "ms".ToLower()) == "ms";
        }