diff --git a/kotest-common/src/commonMain/kotlin/io/kotest/mpp/stable.kt b/kotest-common/src/commonMain/kotlin/io/kotest/mpp/stable.kt index f8385ff6613..89e894e145d 100644 --- a/kotest-common/src/commonMain/kotlin/io/kotest/mpp/stable.kt +++ b/kotest-common/src/commonMain/kotlin/io/kotest/mpp/stable.kt @@ -53,4 +53,5 @@ private val allPlatformStableTypes = setOf( Boolean::class, Pair::class, Triple::class, + Char::class, ) diff --git a/kotest-common/src/jvmTest/kotlin/io/kotest/mpp/StableTest.kt b/kotest-common/src/jvmTest/kotlin/io/kotest/mpp/StableTest.kt new file mode 100644 index 00000000000..4db94695778 --- /dev/null +++ b/kotest-common/src/jvmTest/kotlin/io/kotest/mpp/StableTest.kt @@ -0,0 +1,32 @@ +package io.kotest.mpp + +import io.kotest.core.spec.style.StringSpec +import io.kotest.matchers.shouldBe + +class StableTest : StringSpec({ + "class should be correctly identified as stable" { + data class StableClass( + val string: String, + val int: Int, + val long: Long, + val double: Double, + val float: Float, + val byte: Byte, + val short: Short, + val boolean: Boolean, + val pair: Pair, + val triple: Triple, + val char: Char, + ) + + class Unstable() { + // something unstable here + } + + data class UnstableDataClass(val string: String, val unstable: Unstable) + + isStable(StableClass::class) shouldBe true + isStable(Unstable::class) shouldBe false + isStable(UnstableDataClass::class) shouldBe false + } +})