diff --git a/processor/src/test/kotlin/fr/smarquis/sealed/SealedGenericsTest.kt b/processor/src/test/kotlin/fr/smarquis/sealed/SealedGenericsTest.kt index c36ac67..0848ae9 100644 --- a/processor/src/test/kotlin/fr/smarquis/sealed/SealedGenericsTest.kt +++ b/processor/src/test/kotlin/fr/smarquis/sealed/SealedGenericsTest.kt @@ -39,6 +39,17 @@ class SealedGenericsTest { actual = SealedCovariantGeneric::class.sealedObjectInstances(), ) + @SealedObjectInstances + sealed class SealedCovariantBoundedGeneric { + object INSTANCE : SealedCovariantBoundedGeneric() + } + + @Test + fun `generic covariant with bounded`() = assertEquals( + expected = setOf(SealedCovariantBoundedGeneric.INSTANCE), + actual = SealedCovariantBoundedGeneric::class.sealedObjectInstances(), + ) + @SealedObjectInstances sealed class SealedContravariantGeneric { object INSTANCE : SealedContravariantGeneric() @@ -50,6 +61,17 @@ class SealedGenericsTest { actual = SealedContravariantGeneric::class.sealedObjectInstances(), ) + @SealedObjectInstances + sealed class SealedContravariantBoundedGeneric { + object INSTANCE : SealedContravariantBoundedGeneric() + } + + @Test + fun `generic contravariant bounded`() = assertEquals( + expected = setOf(SealedContravariantBoundedGeneric.INSTANCE), + actual = SealedContravariantBoundedGeneric::class.sealedObjectInstances(), + ) + @SealedObjectInstances sealed class SealedBoundedSingleGeneric { object INSTANCE : SealedBoundedSingleGeneric()