diff --git a/src/test/kotlin/no/rodland/advent_2023/Day07Test.kt b/src/test/kotlin/no/rodland/advent_2023/Day07Test.kt index af020fd5..9a50f869 100644 --- a/src/test/kotlin/no/rodland/advent_2023/Day07Test.kt +++ b/src/test/kotlin/no/rodland/advent_2023/Day07Test.kt @@ -7,10 +7,13 @@ import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test import readFile -@Suppress("ClassName") +@Suppress("ClassName", "PrivatePropertyName") @DisableSlow internal class Day07Test { private val data07 = "2023/input_07.txt".readFile() + + // https://www.reddit.com/r/adventofcode/comments/18cr4xr/2023_day_7_better_example_input_not_a_spoiler/ + private val data07_2 = "2023/input_07_2.txt".readFile() private val test07 = listOf( "32T3K 765", "T55J5 684", @@ -70,6 +73,8 @@ internal class Day07Test { @Nested inner class `Part 2` { + + @Test fun `07,2,test`() { report(test.testPart2) @@ -80,4 +85,19 @@ internal class Day07Test { report(test.livePart2) } } + + @Nested + inner class `Edge Cases` { + @Test + fun `07,1,live,edge`() { + val day = Day07(data07_2) + report(test.livePart1.copy(function = { day.partOne() }, expected = 4466L)) + } + + @Test + fun `07,2,live,edge`() { + val day = Day07(data07_2) + report(test.livePart2.copy(function = { day.partTwo() }, expected = 4657L)) + } + } } diff --git a/src/test/resources/2023/input_07_2.txt b/src/test/resources/2023/input_07_2.txt new file mode 100644 index 00000000..e931c06f --- /dev/null +++ b/src/test/resources/2023/input_07_2.txt @@ -0,0 +1,16 @@ +2345A 2 +Q2Q2Q 13 +2345J 5 +J345A 3 +32T3K 7 +T55J5 19 +KK677 11 +KTJJT 29 +QQQJA 23 +JJJJJ 31 +JAAAA 43 +AAAAJ 53 +AAAAA 59 +2AAAA 17 +2JJJJ 47 +JJJJ2 34 \ No newline at end of file