File tree Expand file tree Collapse file tree 3 files changed +66
-0
lines changed
main/kotlin/me/grison/aoc/y2019
test/kotlin/me/grison/aoc Expand file tree Collapse file tree 3 files changed +66
-0
lines changed Original file line number Diff line number Diff line change 1+ package me.grison.aoc.y2019
2+
3+ import me.grison.aoc.Day
4+ import me.grison.aoc.ints
5+
6+ class Day01 : Day (1 , 2019 ) {
7+ override fun title () = " The Tyranny of the Rocket Equation"
8+
9+ override fun partOne () = 3262991
10+
11+ override fun partTwo () = 4891620
12+ }
Original file line number Diff line number Diff line change 1+ package me.grison.aoc.y2018
2+
3+ import me.grison.aoc.Day
4+ import org.hamcrest.MatcherAssert.assertThat
5+ import org.hamcrest.core.Is.`is`
6+ import org.junit.jupiter.api.DynamicTest
7+ import org.junit.jupiter.api.TestFactory
8+
9+ data class Answer (val inst : () -> Day , val part1 : Any , val part2 : Any )
10+
11+ class AllDaysTest {
12+ @TestFactory
13+ fun answers () = listOf (
14+ Answer ({ Day01 () }, 561 , 563 ),
15+ ).map {
16+ val day = it.inst.invoke()
17+ DynamicTest .dynamicTest(" Day ${day.year} /${day.dayNumber} - Part 1 - expecting ${it.part1} " ) {
18+ assertThat(day.partOne(), `is `(it.part1))
19+ }
20+ DynamicTest .dynamicTest(" Day ${day.year} /${day.dayNumber} - Part 2 - expecting ${it.part2} " ) {
21+ assertThat(
22+ if (day.dayNumber < 25 ) day.partTwo()
23+ else " Merry Christmas!" , `is `(it.part2)
24+ )
25+ }
26+ }
27+ }
Original file line number Diff line number Diff line change 1+ package me.grison.aoc.y2019
2+
3+ import me.grison.aoc.Day
4+ import org.hamcrest.MatcherAssert.assertThat
5+ import org.hamcrest.core.Is.`is`
6+ import org.junit.jupiter.api.DynamicTest
7+ import org.junit.jupiter.api.TestFactory
8+
9+ data class Answer (val inst : () -> Day , val part1 : Any , val part2 : Any )
10+
11+ class AllDaysTest {
12+ @TestFactory
13+ fun answers () = listOf (
14+ Answer ({ Day01 () }, 3262991 , 4891620 ),
15+ ).map {
16+ val day = it.inst.invoke()
17+ DynamicTest .dynamicTest(" Day ${day.year} /${day.dayNumber} - Part 1 - expecting ${it.part1} " ) {
18+ assertThat(day.partOne(), `is `(it.part1))
19+ }
20+ DynamicTest .dynamicTest(" Day ${day.year} /${day.dayNumber} - Part 2 - expecting ${it.part2} " ) {
21+ assertThat(
22+ if (day.dayNumber < 25 ) day.partTwo()
23+ else " Merry Christmas!" , `is `(it.part2)
24+ )
25+ }
26+ }
27+ }
You can’t perform that action at this time.
0 commit comments