From 5d2eebf0939acd89cd03bc2a6178961fce46ce2f Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Thu, 4 May 2023 03:33:19 +0530 Subject: [PATCH] fix(api): add test util for type assertion --- .../test/kotlin/dev/msfjarvis/claw/util/TestUtils.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/api/src/test/kotlin/dev/msfjarvis/claw/util/TestUtils.kt b/api/src/test/kotlin/dev/msfjarvis/claw/util/TestUtils.kt index 0e23e063..e81abdb1 100644 --- a/api/src/test/kotlin/dev/msfjarvis/claw/util/TestUtils.kt +++ b/api/src/test/kotlin/dev/msfjarvis/claw/util/TestUtils.kt @@ -6,8 +6,12 @@ */ package dev.msfjarvis.claw.util +import com.google.common.truth.Truth.assertThat import java.io.File +import kotlin.contracts.ExperimentalContracts +import kotlin.contracts.contract +@OptIn(ExperimentalContracts::class) object TestUtils { fun getJson(path: String): String { // Load the JSON response @@ -15,4 +19,10 @@ object TestUtils { val file = File(uri.path) return String(file.readBytes()) } + + inline fun assertIs(value: Any?): T { + contract { returns() implies (value is T) } + assertThat(value).isInstanceOf(T::class.java) + return value as T + } }