feat: solved day 9 part 2

This commit is contained in:
Stevan Freeborn
2024-12-09 20:04:30 -06:00
parent 42e14095af
commit b51d76ad3c
3 changed files with 109 additions and 14 deletions
+49
View File
@@ -4,6 +4,11 @@ public class DiskMapTests
{
private const string TestInput = "12345";
private const string ExampleInput = "2333133121414131402";
private async Task<string> GetPuzzleInput()
{
return await File.ReadAllTextAsync(Path.Combine(AppContext.BaseDirectory, "INPUT.txt"));
}
[Test]
public async Task FromDenseFormat_WhenCalled_ItShouldReturnDiskMap()
@@ -59,4 +64,48 @@ public class DiskMapTests
await Assert.That(result).IsEqualTo(1928);
}
[Test]
public async Task CalculateCheckSum_WhenCalledWithPuzzleInput_ItShouldReturnExpectedValue()
{
var input = await GetPuzzleInput();
var result = DiskMap.FromDenseFormat(input)
.CompactDisk()
.CalculateCheckSum();
await Assert.That(result).IsEqualTo(6200294120911);
}
[Test]
public async Task CalculateCheckSum_WhenCalledWhenCalledWithTestInputAndNoFragmentation_ItShouldReturnExpectedValue()
{
var result = DiskMap.FromDenseFormat(TestInput)
.CompactDiskWithoutFragmentation()
.CalculateCheckSum();
await Assert.That(result).IsEqualTo(132);
}
[Test]
public async Task CalculateCheckSum_WhenCalledWithExampleInputAndNoFragmentation_ItShouldReturnExpectedValue()
{
var result = DiskMap.FromDenseFormat(ExampleInput)
.CompactDiskWithoutFragmentation()
.CalculateCheckSum();
await Assert.That(result).IsEqualTo(2858);
}
[Test]
public async Task CalculateCheckSum_WhenCalledWithPuzzleInputAndNoFragmentation_ItShouldReturnExpectedValue()
{
var input = await GetPuzzleInput();
var result = DiskMap.FromDenseFormat(input)
.CompactDiskWithoutFragmentation()
.CalculateCheckSum();
await Assert.That(result).IsEqualTo(6227018762750);
}
}