using AdvenOfCode.Contracts; namespace AoC_2025.Tests; public class Day10Test { private IPuzzleSolver _sut; private static readonly string rootPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); private readonly string TestInputPath = @$"{rootPath}\AoC-PuzzleInputs\2025\Test\day10.txt"; private readonly string ProdInputPath = @$"{rootPath}\AoC-PuzzleInputs\2025\Prod\day10.txt"; public Day10Test() { _sut = new Day10(); } [Fact] public void Part01_Test_equals_7() { var actual = _sut.SolvePart1(TestInputPath); Assert.Equal(7, actual); } [Fact] public void Part01_Prod_equals_500() { var actual = (_sut as Day10).SolvePart1Unoptimized(ProdInputPath); Assert.Equal(500, actual); } [Fact] public void Part01Unop_Test_equals_7() { var actual = (_sut as Day10).SolvePart1Unoptimized(TestInputPath); Assert.Equal(7, actual); } [Fact] public void Part01Unop_Prod_equals_500() { var actual = _sut.SolvePart1(ProdInputPath); Assert.Equal(500, actual); } [Fact] public void Part02_Test_equals_33() { var actual = _sut.SolvePart2(TestInputPath); Assert.Equal(33, actual); } [Fact] public void Part02Z3_Test_equals_33() { var actual = (_sut as Day10)?.SolvePart2Z3(TestInputPath); Assert.Equal(33, actual); } [Fact] public void Part02_Prod_equals_19763() { var actual = _sut.SolvePart2(ProdInputPath); Assert.Equal(19763, actual); } [Fact] public void Part02Z3_Prod_equals_19763() { var actual = (_sut as Day10)?.SolvePart2Z3(ProdInputPath); Assert.Equal(19763, actual); } }