Coverage Summary for Class: GenericClickSounds (com.vsevolodganin.clicktrack.model)

Class Method, % Branch, % Line, % Instruction, %
GenericClickSounds 0% (0/4) 0% (0/4) 0% (0/8) 4.2% (4/95)
GenericClickSounds$Companion 0% (0/1) 0% (0/1) 0% (0/5)
GenericClickSounds$WhenMappings
Total 0% (0/5) 0% (0/4) 0% (0/9) 4% (4/100)


 package com.vsevolodganin.clicktrack.model
 
 import kotlinx.serialization.Serializable
 
 @Serializable
 data class GenericClickSounds<T : ClickSoundSource>(
     val strongBeat: T?,
     val weakBeat: T?,
 ) {
     val asIterable: Iterable<T> get() = listOfNotNull(strongBeat, weakBeat)
 
     fun beatByType(type: ClickSoundType) = when (type) {
         ClickSoundType.STRONG -> strongBeat
         ClickSoundType.WEAK -> weakBeat
     }
 }
 
 typealias ClickSounds = GenericClickSounds<*>
 typealias UriClickSounds = GenericClickSounds<ClickSoundSource.Uri>