Coverage Summary for Class: InappSettingsDtoBlankDeserializer (cloud.mindbox.mobile_sdk.inapp.data.dto.deserializers)

Class Method, % Branch, % Line, % Instruction, %
InappSettingsDtoBlankDeserializer 100% (2/2) 100% (6/6) 100% (20/20)
InappSettingsDtoBlankDeserializer$Companion
Total 100% (2/2) 100% (6/6) 100% (20/20)


 package cloud.mindbox.mobile_sdk.inapp.data.dto.deserializers
 
 import cloud.mindbox.mobile_sdk.models.operation.response.SettingsDtoBlank
 import com.google.gson.JsonDeserializationContext
 import com.google.gson.JsonDeserializer
 import com.google.gson.JsonElement
 import java.lang.reflect.Type
 
 private typealias InappSettingsDtoBlank = SettingsDtoBlank.InappSettingsDtoBlank
 
 internal class InappSettingsDtoBlankDeserializer : JsonDeserializer<InappSettingsDtoBlank> {
     override fun deserialize(
         json: JsonElement,
         typeOfT: Type,
         context: JsonDeserializationContext
     ): InappSettingsDtoBlank {
         val jsonObject = json.asJsonObject
 
         return InappSettingsDtoBlank(
             maxInappsPerSession = jsonObject.getAsIntOrNull(MAX_INAPPS_PER_SESSION),
             maxInappsPerDay = jsonObject.getAsIntOrNull(MAX_INAPPS_PER_DAY),
             minIntervalBetweenShows = jsonObject.getAsTimeSpan(MIN_INTERVAL_BETWEEN_SHOWS)
         )
     }
 
     companion object {
         const val MAX_INAPPS_PER_SESSION = "maxInappsPerSession"
         const val MAX_INAPPS_PER_DAY = "maxInappsPerDay"
         const val MIN_INTERVAL_BETWEEN_SHOWS = "minIntervalBetweenShows"
     }
 }