Coverage Summary for Class: CalibrationDocumentLine (day01p1)

Class Class, % Method, % Line, %
CalibrationDocumentLine 100% (1/1) 100% (2/2) 100% (4/4)


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