Skip to content

Commit 3d7dab9

Browse files
authored
Fix generating Kotlin sealed object type definition (#1163)
1 parent 2d9226f commit 3d7dab9

File tree

2 files changed

+10
-8
lines changed
  • fixture-monkey-kotlin/src/main/kotlin/com/navercorp/fixturemonkey/kotlin
  • fixture-monkey-tests/kotlin-tests/src/test/kotlin/com/navercorp/fixturemonkey/tests/kotlin

2 files changed

+10
-8
lines changed

fixture-monkey-kotlin/src/main/kotlin/com/navercorp/fixturemonkey/kotlin/KotlinPlugin.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ class KotlinPlugin : Plugin {
8585
CandidateConcretePropertyResolver { property ->
8686
ConcreteTypeCandidateConcretePropertyResolver(
8787
property.type.actualType().cachedKotlin().sealedSubclasses
88-
.filter { it.objectInstance == null }
8988
.map { it.java }
9089
)
9190
.resolve(property)

fixture-monkey-tests/kotlin-tests/src/test/kotlin/com/navercorp/fixturemonkey/tests/kotlin/SealedClassTest.kt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import com.navercorp.fixturemonkey.kotlin.KotlinPlugin
2323
import com.navercorp.fixturemonkey.kotlin.giveMeBuilder
2424
import com.navercorp.fixturemonkey.kotlin.giveMeOne
2525
import com.navercorp.fixturemonkey.tests.TestEnvironment.TEST_COUNT
26+
import com.navercorp.fixturemonkey.tests.kotlin.SealedClassTest.SealedObjectClass.ConcreteSealedObjectClass
2627
import org.assertj.core.api.BDDAssertions.then
2728
import org.junit.jupiter.api.RepeatedTest
2829

@@ -71,24 +72,22 @@ class SealedClassTest {
7172

7273
@RepeatedTest(TEST_COUNT)
7374
fun sealedObject() {
74-
val actual: ObjectSealedClass = SUT.giveMeOne()
75+
val actual: SealedObjectClass = SUT.giveMeOne()
7576

76-
then(actual).isInstanceOf(ObjectSealedClass::class.java)
77+
then(actual).isInstanceOf(ConcreteSealedObjectClass::class.java)
7778
}
7879

7980
@RepeatedTest(TEST_COUNT)
8081
fun sealedObjectThenApply() {
81-
val actual = SUT.giveMeBuilder<ObjectSealedClass>()
82-
.thenApply { obj, builder -> }
82+
val actual = SUT.giveMeBuilder<SealedObjectClass>()
83+
.thenApply { obj, builder -> }
8384
.sample()
8485

85-
then(actual).isInstanceOf(ObjectSealedClass::class.java)
86+
then(actual).isInstanceOf(ConcreteSealedObjectClass::class.java)
8687
}
8788

8889
sealed class SealedClass
8990

90-
object ObjectSealedClass : SealedClass()
91-
9291
class ImplementedSealedClass(
9392
val string: String,
9493
val integer: Int,
@@ -110,6 +109,10 @@ class SealedClassTest {
110109

111110
class StringObject(val string: String)
112111

112+
sealed class SealedObjectClass {
113+
object ConcreteSealedObjectClass : SealedObjectClass()
114+
}
115+
113116
companion object {
114117
val SUT: FixtureMonkey = FixtureMonkey.builder()
115118
.plugin(KotlinPlugin())

0 commit comments

Comments
 (0)