Browse Source

Day 2: Sum calculation in program

master
Jeremy Soumokil 2 years ago
parent
commit
a70d9fafee
2 changed files with 10 additions and 8 deletions
  1. +9
    -3
      src/main/kotlin/day2/Day2.kt
  2. +1
    -5
      src/test/kotlin/day2/Day2Test.kt

+ 9
- 3
src/main/kotlin/day2/Day2.kt View File

@ -4,9 +4,15 @@ import java.io.File
object Day2 {
fun readGames(file: File = File("src/main/resources/day2/input.txt")): List<Game> = file
.readLines()
.map(Game.Companion::parse)
fun sumOfCompatibleGames(hand: Hand) = readGames()
.filter { it.isCompatibleWith(hand) }
.map(Game::id)
.sum()
private fun readGames(): List<Game> =
File("src/main/resources/day2/input.txt")
.readLines()
.map(Game.Companion::parse)
}

+ 1
- 5
src/test/kotlin/day2/Day2Test.kt View File

@ -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)
}
}

Loading…
Cancel
Save