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