my advent of code solutions
1using Solutions;
2
3namespace Tests;
4
5public static class Common
6{
7 /// <summary>
8 /// Asserts expected solutions for a given day.
9 /// </summary>
10 /// <param name="dayType">The derived day class</param>
11 /// <param name="part1">Correct part 1 solution</param>
12 /// <param name="part2">Correct part 2 solution</param>
13 /// <param name="testInput">Correct answers are for the test input</param>
14 public static async Task CheckDay(Type dayType, string part1, string part2, bool testInput = false)
15 {
16 var day = Activator.CreateInstance(dayType) as Day;
17 await Assert.That(day).IsNotNull();
18 day!.UseTestInput = testInput;
19 await Assert.That(File.Exists(day.FileName)).IsTrue();
20
21 day.PrintProcessInput();
22
23 // part 1
24 var part1Actual = day.PrintPart1().ToString();
25 await Assert.That(part1Actual).IsEqualTo(part1);
26 //Assert.AreEqual(part1, part1Actual.ToString(), $"Incorrect answer for {day} Part 1");
27
28 // part 2
29 var part2Actual = day.PrintPart2().ToString();
30 await Assert.That(part2Actual).IsEqualTo(part2);
31 }
32}