day 02: solve part 2

This commit is contained in:
Heiko Ludwig 2023-12-02 18:34:46 +01:00
parent 186304801e
commit cb8cc8034e
2 changed files with 28 additions and 9 deletions

View file

@ -20,13 +20,13 @@ class TestThing(unittest.TestCase):
}
self.assertEqual(games, target)
def testMaxCubes(self):
def testMaxNeededCubes(self):
test_cases = [
("3 blue, 2 red; 3 red, 4 blue", {"blue": 4, "red": 3}),
("2 red, 1 blue; 4 blue, 2 yellow", {"red": 2, "blue": 4, "yellow": 2})
]
for grabs, max_cubes in test_cases:
self.assertEqual(program.get_max_cubes(grabs), max_cubes)
self.assertEqual(program.get_max_needed_cubes(grabs), max_cubes)
def testGameIsValid(self):
cube_pools = {"red": 4, "green": 5, "blue": 6}
@ -39,11 +39,16 @@ class TestThing(unittest.TestCase):
for test_case, test_result in test_cases:
self.assertEqual(program.game_is_valid(test_case, cube_pools), test_result)
def testSumOfValidGames(self):
def testGetSumOfValidGames(self):
lines = program.get_lines("test-input.txt")
games = program.get_games(lines)
cube_pools = {"red": 12, "green": 13, "blue": 14}
self.assertEqual(program.sum_of_valid_games(games, cube_pools), 8)
self.assertEqual(program.get_sum_of_valid_games(games, cube_pools), 8)
def testGetPowerOfGames(self):
lines = program.get_lines("test-input.txt")
games = program.get_games(lines)
self.assertEqual(program.get_power_of_games(games), 2286)
if __name__ == '__main__':