Files
advent-of-code-2024/09/DiskFragmenter.Tests/DiskMapTests.cs
T

111 lines
3.1 KiB
C#
Raw Normal View History

2024-12-09 15:29:06 -06:00
namespace DiskFragmenter.Tests;
public class DiskMapTests
{
private const string TestInput = "12345";
private const string ExampleInput = "2333133121414131402";
2024-12-09 20:04:30 -06:00
private async Task<string> GetPuzzleInput()
{
return await File.ReadAllTextAsync(Path.Combine(AppContext.BaseDirectory, "INPUT.txt"));
}
2024-12-09 15:29:06 -06:00
[Test]
public async Task FromDenseFormat_WhenCalled_ItShouldReturnDiskMap()
{
var map = DiskMap.FromDenseFormat(TestInput);
await Assert.That(map).IsTypeOf<DiskMap>();
}
[Test]
public async Task CompactDisk_WhenCalled_ItShouldReturnNewDiskCompacted()
{
var map = DiskMap.FromDenseFormat(TestInput);
var compactedMap = map.CompactDisk();
await Assert.That(compactedMap).IsNotEqualTo(map);
}
[Test]
public async Task CompactDiskWithoutFragmentation_WhenCalledWithTestInput_ItShouldReturnNewDiskCompacted()
{
var map = DiskMap.FromDenseFormat(TestInput);
var compactedMap = map.CompactDiskWithoutFragmentation();
await Assert.That(compactedMap).IsNotEqualTo(map);
}
[Test]
public async Task CompactDiskWithoutFragmentation_WhenCalledWithExampleInput_ItShouldReturnNewDiskCompacted()
{
var map = DiskMap.FromDenseFormat(ExampleInput);
var compactedMap = map.CompactDiskWithoutFragmentation();
await Assert.That(compactedMap).IsNotEqualTo(map);
}
[Test]
public async Task CalculateCheckSum_WhenCalledWhenCalledWithTestInput_ItShouldReturnExpectedValue()
{
var result = DiskMap.FromDenseFormat(TestInput)
.CompactDisk()
.CalculateCheckSum();
await Assert.That(result).IsEqualTo(60);
}
[Test]
public async Task CalculateCheckSum_WhenCalledWithExampleInput_ItShouldReturnExpectedValue()
{
var result = DiskMap.FromDenseFormat(ExampleInput)
.CompactDisk()
.CalculateCheckSum();
await Assert.That(result).IsEqualTo(1928);
}
2024-12-09 20:04:30 -06:00
[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);
}
2024-12-09 15:29:06 -06:00
}