示例#1
0
        public Report GetReport(SolverContext context, Solution solution, SolutionMapping solutionMapping)
        {
            PluginSolutionMapping pluginSolutionMapping = solutionMapping as PluginSolutionMapping;

            if (pluginSolutionMapping == null && solutionMapping != null)
            {
                throw new ArgumentException("solutionMapping is not a LinearSolutionMapping", "solutionMapping");
            }
            return(new Z3TermSolverReport(context, this, solution, pluginSolutionMapping));
        }
示例#2
0
        private void RunInstanceOfSolution(SolutionMapping solutionMapping)
        {
            var input    = this.ReadDataFromClipboard();
            var instance = Activator.CreateInstance(solutionMapping.ClassType);

            try
            {
                var result = solutionMapping.Method.Invoke(instance, new object[] { input });
                Console.WriteLine($"Solution for day {solutionMapping.Day}, problem {solutionMapping.Problem}:");
                Console.WriteLine(result);
                this.WriteDataToClipboard(result?.ToString() ?? string.Empty);
                Console.WriteLine("Result copied to clipboard.");
            }
            catch (Exception e)
            {
                Console.WriteLine("Failed to Generate answer: " + e.Message);
            }
        }
示例#3
0
 public Report GetReport(SolverContext context, Solution solution, SolutionMapping solutionMapping)
 {
     LinearSolutionMapping lpSolutionMapping = solutionMapping as LinearSolutionMapping;
     if (lpSolutionMapping == null && solutionMapping != null)
         throw new ArgumentException("solutionMapping is not a LinearSolutionMapping", "solutionMapping");
     return new Z3LinearSolverReport(context, this, solution, lpSolutionMapping);
 }