Copy your daily input data from the advent of code page to the corresponding *.txt
file in src/main/resources
.
Use the prepared solution classes under src/main/kotlin/days
and implement the method stubs for partOne and partTwo.
Each
day has two properties:
inputString
: the input data as one stringinputList
: the input data splitted into lines
So your solution can be implemented in the following way:
object Day01 : Day(1, "Day1") {
override fun partOne() = inputString.doSomething()
override fun partTwo() = inputList.map { it.doSomething() }
}
This step is optional, but it's a nice way to proof that your solution is valid:
Extend the test factory in src/test/kotlin/de/pgebert/aoc/DaysTest.kt
.
By default, the input is read from the input file of the corresponding day, but for development it can be useful to test against the provided example input. This can be achieved very easily:
@Test
fun `testing day 01 example`() {
val example = """
1abc2
pqr3stu8vwx
a1b2c3d4e5f
treb7uchet
"""
val day = Day01(input = example)
day.partOne() shouldBe 142
}
Contributions, issues and feature requests are welcome!
Give a ⭐️ if this project helped you!