diff --git a/library/src/jvmMain/kotlin/com/thumbtack/kotlin/test/GenerateTestObject.kt b/library/src/jvmMain/kotlin/com/thumbtack/kotlin/test/GenerateTestObject.kt index f2c7bfc..183551c 100644 --- a/library/src/jvmMain/kotlin/com/thumbtack/kotlin/test/GenerateTestObject.kt +++ b/library/src/jvmMain/kotlin/com/thumbtack/kotlin/test/GenerateTestObject.kt @@ -11,6 +11,8 @@ import kotlin.reflect.KClass import kotlin.reflect.full.primaryConstructor import kotlin.reflect.javaType +private const val DEFAULT_COLLECTION_SIZE = 3 + /** * Generates a test object for the given data class, where each field is given an actual, * unique value (as opposed to just some default value like empty string or null). @@ -66,6 +68,8 @@ import kotlin.reflect.javaType * specify a consistent value for this field. * @param useNullForNullableFields If true, then all fields that are nullable will be set to null, * unless specified in the overrides map. + * @param collectionSize If specified, supported collection types will be set to that size rather + * than * @return The generated object. */ fun KClass.generateTestObject( @@ -73,7 +77,7 @@ fun KClass.generateTestObject( overrides: Map? = null, referenceDate: Date? = null, useNullForNullableFields: Boolean = false, - collectionSize: Int = 3, + collectionSize: Int = DEFAULT_COLLECTION_SIZE, ): T { return generateTestObject( prefix, @@ -81,7 +85,7 @@ fun KClass.generateTestObject( overrides, referenceDate, useNullForNullableFields, - collectionSize, // TODO enforce size >= 1 + collectionSize.takeIf { it > 0 } ?: DEFAULT_COLLECTION_SIZE, ) ) }