Coverage Summary for Class: CalibrationDocument (day01p1)

Class Method, % Line, %
CalibrationDocument 100% (2/2) 100% (2/2)
CalibrationDocument$Companion 100% (1/1) 100% (1/1)
Total 100% (3/3) 100% (3/3)


 package day01p1
 
 
 data class CalibrationValue(val value: Int)
 
 data class CalibrationDocumentLine(val value: String) {
   fun toCalibrationValue(): CalibrationValue = CalibrationValue(
     10 * value.first { it.isDigit() }.digitToInt()
       + value.last { it.isDigit() }.digitToInt()
   )
 }
 
 data class CalibrationDocument(val values: List<CalibrationDocumentLine>) {
   fun sumOfCalibrationValues(): Int = values.sumOf { it.toCalibrationValue().value }
 
   companion object {
     fun from(raw: String): CalibrationDocument =
       CalibrationDocument(raw.lines().map { CalibrationDocumentLine(it) })
   }
 }