Coverage Summary for Class: BpmValidator (com.vsevolodganin.clicktrack.common)

Class Method, % Branch, % Line, % Instruction, %
BpmValidator 0% (0/2) 0% (0/6) 0% (0/8) 0% (0/38)
BpmValidator$ValidationResult 0% (0/1) 0% (0/3) 0% (0/12)
Total 0% (0/3) 0% (0/6) 0% (0/11) 0% (0/50)


 package com.vsevolodganin.clicktrack.common
 
 import com.vsevolodganin.clicktrack.model.BeatsPerMinute
 import com.vsevolodganin.clicktrack.model.bpm
 import me.tatarka.inject.annotations.Inject
 
 @Inject
 class BpmValidator {
     class ValidationResult(
         val coercedBpm: BeatsPerMinute,
         val hasError: Boolean,
     )
 
     fun validate(value: Int): ValidationResult {
         return if (value !in BeatsPerMinute.VALID_TEMPO_RANGE) {
             ValidationResult(
                 coercedBpm = value.coerceIn(BeatsPerMinute.VALID_TEMPO_RANGE).bpm,
                 hasError = true,
             )
         } else {
             ValidationResult(
                 coercedBpm = value.bpm,
                 hasError = false,
             )
         }
     }
 }