package io.oxygenhub.android import io.oxygenhub.android.api.HubJson import io.oxygenhub.android.api.Inbox import io.oxygenhub.android.api.Issue import io.oxygenhub.android.api.Repository import io.oxygenhub.android.api.User import kotlinx.serialization.builtins.ListSerializer /** The JSON fixtures under src/test/resources/fixtures, written from oxygenhub's hub-api types. */ object Fixtures { fun text(name: String): String = requireNotNull(Fixtures::class.java.classLoader!!.getResource("fixtures/$name")) { "no fixture $name" }.readText() val user: User get() = HubJson.decodeFromString(User.serializer(), text("user.json")) val repos: List get() = HubJson.decodeFromString(ListSerializer(Repository.serializer()), text("repos.json")) val issues: List get() = HubJson.decodeFromString(ListSerializer(Issue.serializer()), text("issues.json")) val inbox: Inbox get() = HubJson.decodeFromString(Inbox.serializer(), text("inbox.json")) }