diff --git a/AdventOfCode/Problems/AOC2022/Day0/TestProblem.cs b/AdventOfCode/Problems/AOC2022/Day0/TestProblem.cs index c3970be..f1166dc 100644 --- a/AdventOfCode/Problems/AOC2022/Day0/TestProblem.cs +++ b/AdventOfCode/Problems/AOC2022/Day0/TestProblem.cs @@ -3,7 +3,7 @@ using AdventOfCode.Runner.Attributes; namespace AdventOfCode.Problems.AOC2022.Day0; [ProblemInfo("2022", 0, "Fancy Test")] -public class TestProblem : IProblemBase +public class TestProblem : IProblem { public void LoadInput() { diff --git a/AdventOfCode/Problems/AOC2022/Day1/CalorieCounting.cs b/AdventOfCode/Problems/AOC2022/Day1/CalorieCounting.cs index 81363a8..c21835f 100644 --- a/AdventOfCode/Problems/AOC2022/Day1/CalorieCounting.cs +++ b/AdventOfCode/Problems/AOC2022/Day1/CalorieCounting.cs @@ -9,13 +9,13 @@ using System.Threading.Tasks; namespace AdventOfCode.Problems.AOC2022.Day1; [ProblemInfo("2022", 1, "Calorie Counting")] -internal class CalorieCounting : IProblemBase +internal class CalorieCounting : IProblem { - private (int calories, int elf) mostestElf; - private IEnumerable<(int sum, int idx)> mostestElves; - public List> FlaresFood { get; set; } + private (int calories, int elf)? _mostestElf; + private IEnumerable<(int sum, int idx)>? _mostestElves; + public CalorieCounting() { FlaresFood = new List> { @@ -40,14 +40,14 @@ internal class CalorieCounting : IProblemBase } public void CalculatePart1() { - mostestElf = FlaresFood + _mostestElf = FlaresFood .Select((x, idx) => (sum: x.Sum(), idx)) .MaxBy(x => x.sum); } public void CalculatePart2() { - mostestElves = FlaresFood + _mostestElves = FlaresFood .Select((x, idx) => (sum: x.Sum(), idx)) .OrderByDescending(e => e.sum) .Take(3); @@ -56,14 +56,24 @@ internal class CalorieCounting : IProblemBase public void PrintPart1() { - Console.WriteLine($"Mostest: {mostestElf}"); + if (_mostestElf == null) + { + Console.WriteLine("Part 1 has not been calculated"); + return; + } + Console.WriteLine($"Mostest: {_mostestElf}"); } public void PrintPart2() { + if(_mostestElves == null) + { + Console.WriteLine("Part 2 has not been calculated"); + return; + } Console.WriteLine("Top Elves"); - foreach (var elf in mostestElves) + foreach (var elf in _mostestElves) Console.WriteLine($"\t{elf}"); - Console.WriteLine($"Total {mostestElves.Sum(e => e.sum)}"); + Console.WriteLine($"Total {_mostestElves.Sum(e => e.sum)}"); } } diff --git a/AdventOfCode/Problems/AOC2023/Day0/TestProblem.cs b/AdventOfCode/Problems/AOC2023/Day0/TestProblem.cs index 9e9be99..b4c886d 100644 --- a/AdventOfCode/Problems/AOC2023/Day0/TestProblem.cs +++ b/AdventOfCode/Problems/AOC2023/Day0/TestProblem.cs @@ -3,7 +3,7 @@ using AdventOfCode.Runner.Attributes; namespace AdventOfCode.Problems.AOC2023.Day0; [ProblemInfo("2023", 0, "Test")] -public class TestProblem : IProblemBase +public class TestProblem : IProblem { public void LoadInput() { diff --git a/AdventOfCode/Runner/AOCRunner.cs b/AdventOfCode/Runner/AOCRunner.cs index 4cd4af9..d44fd23 100644 --- a/AdventOfCode/Runner/AOCRunner.cs +++ b/AdventOfCode/Runner/AOCRunner.cs @@ -16,7 +16,7 @@ public class AOCRunner private void FindProblemClasses() { - var types = Assembly.GetExecutingAssembly().DefinedTypes.Where(t => t.IsAssignableTo(typeof(IProblemBase)) && !t.IsInterface); + var types = Assembly.GetExecutingAssembly().DefinedTypes.Where(t => t.IsAssignableTo(typeof(IProblem)) && !t.IsInterface); if (types == null) return; foreach (var type in types) diff --git a/AdventOfCode/Runner/IProblemBase.cs b/AdventOfCode/Runner/IProblemBase.cs index 7f7a03a..cc57198 100644 --- a/AdventOfCode/Runner/IProblemBase.cs +++ b/AdventOfCode/Runner/IProblemBase.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; namespace AdventOfCode.Runner; -public interface IProblemBase +public interface IProblem { void LoadInput();