using Solutions; namespace Tests; public static class Common { /// /// Asserts expected solutions for a given day. /// /// The derived day class /// Correct part 1 solution /// Correct part 2 solution /// Correct answers are for the test input public static async Task CheckDay(Type dayType, string part1, string part2, bool testInput = false) { var day = Activator.CreateInstance(dayType) as Day; await Assert.That(day).IsNotNull(); day!.UseTestInput = testInput; await Assert.That(File.Exists(day.FileName)).IsTrue(); day.PrintProcessInput(); // part 1 var part1Actual = day.PrintPart1().ToString(); await Assert.That(part1Actual).IsEqualTo(part1); //Assert.AreEqual(part1, part1Actual.ToString(), $"Incorrect answer for {day} Part 1"); // part 2 var part2Actual = day.PrintPart2().ToString(); await Assert.That(part2Actual).IsEqualTo(part2); } }