Add AoC 2025 project structure and first solutions

This commit is contained in:
Sebastian Lindemeier
2025-12-04 21:40:42 +01:00
parent c83642d286
commit 1e98d90c33
15 changed files with 754 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.2"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0"/>
<PackageReference Include="xunit" Version="2.9.2"/>
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2"/>
</ItemGroup>
<ItemGroup>
<Using Include="Xunit"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AoC_2025\AoC_2025.csproj" />
</ItemGroup>
</Project>
+46
View File
@@ -0,0 +1,46 @@
using AdvenOfCode.Contracts;
namespace AoC_2025.Tests;
public class Day01Test
{
private readonly IPuzzleSolver<int> _sut;
private const string TestInputPath = @"C:\Users\p01004051\Documents\AoC-PuzzleInputs\2025\Test\day01.txt";
private const string ProdInputPath = @"C:\Users\p01004051\Documents\AoC-PuzzleInputs\2025\Prod\day01.txt";
public Day01Test()
{
_sut = new Day01();
}
[Fact]
public void Part01_Test_equals_3()
{
var actual = _sut.SolvePart1(TestInputPath);
Assert.Equal(3, actual);
}
[Fact]
public void Part01_Prod_equals_1097()
{
var actual = _sut.SolvePart1(ProdInputPath);
Assert.Equal(1097, actual);
}
[Fact]
public void Part02_Test_equals_16()
{
var actual = _sut.SolvePart2(TestInputPath);
Assert.Equal(16, actual);
}
[Fact]
public void Part02_Prod_equals_7101()
{
var actual = _sut.SolvePart2(ProdInputPath);
Assert.Equal(7101, actual);
}
}
+46
View File
@@ -0,0 +1,46 @@
using AdvenOfCode.Contracts;
namespace AoC_2025.Tests;
public class Day02Test
{
private readonly IPuzzleSolver<long> _sut;
private const string TestInputPath = @"C:\Users\p01004051\Documents\AoC-PuzzleInputs\2025\Test\day02.txt";
private const string ProdInputPath = @"C:\Users\p01004051\Documents\AoC-PuzzleInputs\2025\Prod\day02.txt";
public Day02Test()
{
_sut = new Day02();
}
[Fact]
public void Part01_Test_equals_1227775554()
{
var actual = _sut.SolvePart1(TestInputPath);
Assert.Equal(1227775554, actual);
}
[Fact]
public void Part01_Prod_equals_13919717792()
{
var actual = _sut.SolvePart1(ProdInputPath);
Assert.Equal(13919717792, actual);
}
[Fact]
public void Part02_Test_equals_4174379265()
{
var actual = _sut.SolvePart2(TestInputPath);
Assert.Equal(4174379265, actual);
}
[Fact]
public void Part02_Prod_equals_14582313461()
{
var actual = _sut.SolvePart2(ProdInputPath);
Assert.Equal(14582313461, actual);
}
}
+46
View File
@@ -0,0 +1,46 @@
using AdvenOfCode.Contracts;
namespace AoC_2025.Tests;
public class Day03Test
{
private readonly IPuzzleSolver<long> _sut;
private const string TestInputPath = @"C:\Users\p01004051\Documents\AoC-PuzzleInputs\2025\Test\day03.txt";
private const string ProdInputPath = @"C:\Users\p01004051\Documents\AoC-PuzzleInputs\2025\Prod\day03.txt";
public Day03Test()
{
_sut = new Day03();
}
[Fact]
public void Part01_Test_equals_357()
{
var actual = _sut.SolvePart1(TestInputPath);
Assert.Equal(357, actual);
}
[Fact]
public void Part01_Prod_equals_16812()
{
var actual = _sut.SolvePart1(ProdInputPath);
Assert.Equal(16812, actual);
}
[Fact]
public void Part02_Test_equals_3121910778619()
{
var actual = _sut.SolvePart2(TestInputPath);
Assert.Equal(3121910778619, actual);
}
[Fact]
public void Part02_Prod_equals_166345822896410()
{
var actual = _sut.SolvePart2(ProdInputPath);
Assert.Equal(166345822896410, actual);
}
}
+46
View File
@@ -0,0 +1,46 @@
using AdvenOfCode.Contracts;
namespace AoC_2025.Tests;
public class Day04Test
{
private readonly IPuzzleSolver<long> _sut;
private const string TestInputPath = @"C:\Users\p01004051\Documents\AoC-PuzzleInputs\2025\Test\day04.txt";
private const string ProdInputPath = @"C:\Users\p01004051\Documents\AoC-PuzzleInputs\2025\Prod\day04.txt";
public Day04Test()
{
_sut = new Day04();
}
[Fact]
public void Part01_Test_equals_13()
{
var actual = _sut.SolvePart1(TestInputPath);
Assert.Equal(13, actual);
}
[Fact]
public void Part01_Prod_equals_1411()
{
var actual = _sut.SolvePart1(ProdInputPath);
Assert.Equal(1411, actual);
}
[Fact]
public void Part02_Test_equals_43()
{
var actual = _sut.SolvePart2(TestInputPath);
Assert.Equal(43, actual);
}
[Fact]
public void Part02_Prod_equals_8557()
{
var actual = _sut.SolvePart2(ProdInputPath);
Assert.Equal(8557, actual);
}
}