feat: solved day 5 part 2
This commit is contained in:
@@ -73,4 +73,22 @@ public class PuzzleParserTests
|
||||
|
||||
await Assert.That(result).IsEqualTo(6260);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Parse_WhenGivenPuzzleInputOnPart2_ItShouldReturnExpectedResult()
|
||||
{
|
||||
var input = await GetPuzzleInput();
|
||||
|
||||
var parseResult = _puzzleParser.Parse(input);
|
||||
|
||||
var validator = new UpdateValidator(parseResult.Rules);
|
||||
|
||||
var result = parseResult.Updates
|
||||
.Where(u => validator.Validate(u) is false)
|
||||
.Select(u => validator.Sort(u))
|
||||
.Select(u => u.GetMiddlePage())
|
||||
.Sum();
|
||||
|
||||
await Assert.That(result).IsEqualTo(5346);
|
||||
}
|
||||
}
|
||||
@@ -81,4 +81,22 @@ public class UpdateValidatorTests
|
||||
await Assert.That(resultTwo).IsFalse();
|
||||
await Assert.That(resultThree).IsFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Sort_WhenGivenInvalidUpdate_ItShouldReturnNewUpdateSorted()
|
||||
{
|
||||
var updateOne = new Update([75,97,47,61,53]);
|
||||
var updateTwo = new Update([61,13,29]);
|
||||
var updateThree = new Update([97,13,75,29,47]);
|
||||
|
||||
var validator = new UpdateValidator(_exampleRules);
|
||||
|
||||
var resultOne = validator.Sort(updateOne);
|
||||
var resultTwo = validator.Sort(updateTwo);
|
||||
var resultThree = validator.Sort(updateThree);
|
||||
|
||||
await Assert.That(resultOne).IsEquivalentTo(new Update([97,75,47,61,53]));
|
||||
await Assert.That(resultTwo).IsEquivalentTo(new Update([61,29,13]));
|
||||
await Assert.That(resultThree).IsEquivalentTo(new Update([97,75,47,29,13]));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user