Coverage Summary for Class: SystemTimeProvider (cloud.mindbox.mobile_sdk.utils)

Class Class, % Method, % Branch, % Line, % Instruction, %
SystemTimeProvider 100% (1/1) 50% (2/4) 50% (2/4) 70% (7/10)


 package cloud.mindbox.mobile_sdk.utils
 
 import cloud.mindbox.mobile_sdk.models.Milliseconds
 import cloud.mindbox.mobile_sdk.models.Timestamp
 import cloud.mindbox.mobile_sdk.models.toTimestamp
 
 internal interface TimeProvider {
     fun currentTimeMillis(): Long
 
     fun currentTimestamp(): Timestamp
 
     fun elapsedSince(startTimeMillis: Timestamp): Milliseconds
 }
 
 internal class SystemTimeProvider : TimeProvider {
     override fun currentTimeMillis() = System.currentTimeMillis()
 
     override fun currentTimestamp() = System.currentTimeMillis().toTimestamp()
 
     override fun elapsedSince(startTimeMillis: Timestamp): Milliseconds = Milliseconds(currentTimeMillis() - startTimeMillis.ms)
 }