feat: solved day 6 part 1 and part 2

This commit is contained in:
Stevan Freeborn
2024-12-07 01:28:15 -06:00
parent 75af0819fa
commit abf19be8cd
7 changed files with 306 additions and 5 deletions
+64
View File
@@ -0,0 +1,64 @@
namespace GuardGallivant.Tests;
public class MapTests
{
private readonly string[] _exampleMap = [
"....#.....",
".........#",
"..........",
"..#.......",
".......#..",
"..........",
".#..^.....",
"........#.",
"#.........",
"......#...",
];
private async Task<string[]> GetPuzzleInput()
{
return await File.ReadAllLinesAsync(Path.Combine(AppContext.BaseDirectory, "INPUT.txt"));
}
[Test]
public async Task PredictDistinctPositionsCount_WhenCalledWithExample_ItShouldReturnExpectedCount()
{
var map = new Map(_exampleMap);
var result = map.PredictDistinctPositionsCount();
await Assert.That(result).IsEqualTo(41);
}
[Test]
public async Task PredictDistinctPositionsCount_WhenCalledWithPuzzleInput_ItShouldReturnExpectedCount()
{
var input = await GetPuzzleInput();
var map = new Map(input);
var result = map.PredictDistinctPositionsCount();
await Assert.That(result).IsEqualTo(4789);
}
[Test]
public async Task IdentifyNumberOfPlacementsForNewObstruction_WhenCalledWithExample_ItShouldReturnExpectedCount()
{
var map = new Map(_exampleMap);
var result = map.IdentifyNumberOfPlacementsForNewObstruction();
await Assert.That(result).IsEqualTo(6);
}
[Test]
public async Task IdentifyNumberOfPlacementsForNewObstruction_WhenCalledWithPuzzleInput_ItShouldReturnExpectedCount()
{
var input = await GetPuzzleInput();
var map = new Map(input);
var result = map.IdentifyNumberOfPlacementsForNewObstruction();
await Assert.That(result).IsEqualTo(1304);
}
}