From a70d9fafeefe13517842f64c000262884d26ff79 Mon Sep 17 00:00:00 2001 From: Jeremy Soumokil Date: Sun, 3 Dec 2023 00:41:30 +0100 Subject: [PATCH] Day 2: Sum calculation in program --- src/main/kotlin/day2/Day2.kt | 12 +++++++++--- src/test/kotlin/day2/Day2Test.kt | 6 +----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/day2/Day2.kt b/src/main/kotlin/day2/Day2.kt index 2b782ea..a53e249 100644 --- a/src/main/kotlin/day2/Day2.kt +++ b/src/main/kotlin/day2/Day2.kt @@ -4,9 +4,15 @@ import java.io.File object Day2 { - fun readGames(file: File = File("src/main/resources/day2/input.txt")): List = file - .readLines() - .map(Game.Companion::parse) + fun sumOfCompatibleGames(hand: Hand) = readGames() + .filter { it.isCompatibleWith(hand) } + .map(Game::id) + .sum() + + private fun readGames(): List = + File("src/main/resources/day2/input.txt") + .readLines() + .map(Game.Companion::parse) } diff --git a/src/test/kotlin/day2/Day2Test.kt b/src/test/kotlin/day2/Day2Test.kt index 5ca0729..1cf748e 100644 --- a/src/test/kotlin/day2/Day2Test.kt +++ b/src/test/kotlin/day2/Day2Test.kt @@ -6,10 +6,6 @@ class Day2Test { @Test fun readGames() { - val compatibleGames = Day2.readGames().filter { game -> - Hand(12, 13, 14).let(game::isCompatibleWith) - } - - assert(compatibleGames.map(Game::id).joinToString(separator=",") == "1,2,5") + assert(Day2.sumOfCompatibleGames(Hand(12, 13, 14)) == 8) } } \ No newline at end of file