using AdvenOfCode.Contracts; namespace AoC_2025.Tests; public class Day07Test { private readonly IPuzzleSolver _sut; private static readonly string rootPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); private readonly string TestInputPath = @$"{rootPath}/AoC-PuzzleInputs/2025/Test/day07.txt"; private readonly string ProdInputPath = @$"{rootPath}/AoC-PuzzleInputs/2025/Prod/day07.txt"; public Day07Test() { _sut = new Day07(); } [Fact] public void Part01_Test_equals_21() { var actual = _sut.SolvePart1(TestInputPath); Assert.Equal(21, actual); } [Fact] public void Part01_Prod_equals_1658() { var actual = _sut.SolvePart1(ProdInputPath); Assert.Equal(1658, actual); } [Fact] public void Part02_Test_equals_40() { var actual = _sut.SolvePart2(TestInputPath); Assert.Equal(40, actual); } [Fact] public void Part02_Prod_equals_53916299384254() { var actual = _sut.SolvePart2(ProdInputPath); Assert.Equal(53916299384254, actual); } [Fact] public void Part02Again_Test_equals_40() { var sut = _sut as Day07; var actual = sut.SolvePart2Again(TestInputPath); Assert.Equal(40, actual); } [Fact] public void Part02Again_Prod_equals_53916299384254() { var sut = _sut as Day07; var actual = sut.SolvePart2Again(ProdInputPath); Assert.Equal(53916299384254, actual); } }