using System; using HEAL.Attic; using HeuristicLab.Common; using HeuristicLab.Core; using HeuristicLab.Optimization; using HeuristicLab.PluginInfrastructure; namespace HeuristicLab.ConsoleApplications { [StorableType("61621E70-8A67-43A2-8EB2-233FC01E493B")] [Application("CLIInspect", "")] public class ConsoleInspector : ApplicationBase { [Storable] public UniPath InputFilePath { get; set; } public ConsoleInspector() { } public ConsoleInspector(UniPath inputFilePath) { InputFilePath = inputFilePath; } public override void Run(ICommandLineArgument[] args) { ContentManager.Initialize(new PersistenceContentManager()); IStorableContent content = ContentManager.Load(InputFilePath.ToString()); IOptimizer optimizer = content as IOptimizer; if (content != null) { Console.WriteLine($"Name: {optimizer.Name}"); Console.WriteLine($"Description: {optimizer.Description}"); Console.WriteLine($"Run count: {optimizer.Runs.Count}"); Console.WriteLine("\nRESULT(S):"); int i = 1; foreach (var run in optimizer.Runs) { Console.WriteLine($"{"-------------------------------- RUN",35} {$"{i++:D3}" + " --------------------------------",-35}"); foreach (var res in run.Results) { Console.WriteLine($"{res.Key,35} : {res.Value,-35}"); } } } } } }