Coverage Summary for Class: TrainingValidState (com.vsevolodganin.clicktrack.training)

Class Method, % Branch, % Line, % Instruction, %
TrainingValidState 0% (0/2) 0% (0/2) 0% (0/7) 0% (0/136)
TrainingValidState$Companion 0% (0/1) 0% (0/1) 0% (0/2)
TrainingValidState$Ending
TrainingValidState$Ending$ByTempo 0% (0/3) 0% (0/2) 0% (0/3) 0% (0/31)
TrainingValidState$Ending$ByTempo$Companion 0% (0/1) 0% (0/1) 0% (0/2)
TrainingValidState$Ending$ByTime 0% (0/3) 0% (0/2) 0% (0/4) 0% (0/49)
TrainingValidState$Ending$ByTime$Companion 0% (0/1) 0% (0/1) 0% (0/2)
TrainingValidState$Ending$Companion 0% (0/1) 0% (0/1) 0% (0/35)
Total 0% (0/12) 0% (0/6) 0% (0/18) 0% (0/257)


 package com.vsevolodganin.clicktrack.training
 
 import com.vsevolodganin.clicktrack.model.BeatsPerMinute
 import com.vsevolodganin.clicktrack.model.CueDuration
 import kotlinx.serialization.SerialName
 import kotlinx.serialization.Serializable
 import kotlin.time.Duration
 
 @Serializable
 data class TrainingValidState(
     val startingTempo: BeatsPerMinute,
     val mode: TrainingEditState.TrainingMode,
     val segmentLength: CueDuration,
     val tempoChange: BeatsPerMinute,
     val ending: Ending,
 ) {
     @Serializable
     sealed interface Ending {
         val kind: TrainingEndingKind
 
         @Serializable
         @SerialName("com.vsevolodganin.clicktrack.state.redux.TrainingPersistableState.Ending.ByTempo") // For backward compatibility
         class ByTempo(val endingTempo: BeatsPerMinute) : Ending {
             override val kind: TrainingEndingKind
                 get() = TrainingEndingKind.BY_TEMPO
         }
 
         @Serializable
         @SerialName("com.vsevolodganin.clicktrack.state.redux.TrainingPersistableState.Ending.ByTime") // For backward compatibility
         class ByTime(
             @Suppress("DEPRECATION") // Kept legacy serializer for backward compatibility
             @Serializable(with = com.vsevolodganin.clicktrack.utils.time.LegacyDurationSerializer::class)
             val duration: Duration,
         ) : Ending {
             override val kind: TrainingEndingKind
                 get() = TrainingEndingKind.BY_TIME
         }
     }
 }