From f0df492eca60c473db4b2927b2fc2a3ca6014d37 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Wed, 1 Dec 2021 10:10:43 -0500 Subject: also check test input --- aoc2021.test/DayTests.cs | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'aoc2021.test') diff --git a/aoc2021.test/DayTests.cs b/aoc2021.test/DayTests.cs index 4c8e295..3bc1d84 100644 --- a/aoc2021.test/DayTests.cs +++ b/aoc2021.test/DayTests.cs @@ -11,6 +11,8 @@ public class DayTests var day = Activator.CreateInstance(dayType) as Day; s.Stop(); Assert.IsNotNull(day, "failed to instantiate day object"); + Assert.IsTrue(File.Exists(day.FileName)); + Console.Write($"Day {day.DayNumber}: {day.PuzzleName,-15} "); Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed in constructor"); // part 1 @@ -18,7 +20,8 @@ public class DayTests s.Start(); var part1Actual = day.Part1(); s.Stop(); - Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed in part1"); + Console.Write($"Part1: {part1Actual,-15} "); + Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed"); Assert.AreEqual(part1, part1Actual, $"Incorrect answer for Day {day.DayNumber} Part1"); // part 2 @@ -26,7 +29,40 @@ public class DayTests s.Start(); var part2Actual = day.Part2(); s.Stop(); - Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed in part2"); + Console.Write($"Part2: {part2Actual,-15} "); + Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed"); + Assert.AreEqual(part2, part2Actual, $"Incorrect answer for Day {day.DayNumber} Part2"); + } + + [DataTestMethod] + [DataRow(typeof(Day01), "7", "5")] + public void CheckTestInputs(Type dayType, string part1, string part2) + { + Day.UseTestInput = true; + var s = Stopwatch.StartNew(); + var day = Activator.CreateInstance(dayType) as Day; + s.Stop(); + Assert.IsNotNull(day, "failed to instantiate day object"); + Assert.IsTrue(File.Exists(day.FileName)); + Console.Write($"Day {day.DayNumber}: {day.PuzzleName,-15} "); + Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed in constructor"); + + // part 1 + s.Reset(); + s.Start(); + var part1Actual = day.Part1(); + s.Stop(); + Console.Write($"Part1: {part1Actual,-15} "); + Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed"); + Assert.AreEqual(part1, part1Actual, $"Incorrect answer for Day {day.DayNumber} Part1"); + + // part 2 + s.Reset(); + s.Start(); + var part2Actual = day.Part2(); + s.Stop(); + Console.Write($"Part2: {part2Actual,-15} "); + Console.WriteLine($"{s.ScaleMilliseconds()} ms elapsed"); Assert.AreEqual(part2, part2Actual, $"Incorrect answer for Day {day.DayNumber} Part2"); } } -- cgit 1.4.1