diff --git a/.editorconfig b/.editorconfig index e3b94cfb..b075c6c7 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,5 +3,3 @@ root = true [*.{kt,kts}] ktlint_code_style = intellij_idea -ij_kotlin_allow_trailing_comma = false -ij_kotlin_allow_trailing_comma_on_call_site = false diff --git a/.github/workflows/test-main.yml b/.github/workflows/test-main.yml index b84f92d6..e5a08200 100644 --- a/.github/workflows/test-main.yml +++ b/.github/workflows/test-main.yml @@ -42,7 +42,7 @@ jobs: # LTS versions, latest version (if exists) java-version: [ '17', '21', '24' ] # Minimum version, latest release version, latest pre-release version (if exists) - kotlin: ['2.0.21', '2.1.20', '2.2.0-Beta2'] + kotlin: ['2.0.21', '2.1.20', '2.2.0-RC'] env: KOTLIN_VERSION: ${{ matrix.kotlin }} name: "Kotlin ${{ matrix.kotlin }} - Java ${{ matrix.java-version }}" diff --git a/build.gradle.kts b/build.gradle.kts index 653daf5b..8c883c3d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,7 +18,7 @@ val jacksonVersion = libs.versions.jackson.get() val generatedSrcPath = "${layout.buildDirectory.get()}/generated/kotlin" group = groupStr -version = "${jacksonVersion}-beta23" +version = "${jacksonVersion}-beta24" repositories { mavenCentral() diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ClosedRangeSupport.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ClosedRangeSupport.kt index 397caf7e..c79b4c44 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ClosedRangeSupport.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ClosedRangeSupport.kt @@ -9,7 +9,7 @@ import com.fasterxml.jackson.databind.module.SimpleAbstractTypeResolver internal abstract class ClosedRangeMixin @JsonCreator constructor( public val start: T, - @get:JsonProperty("end") public val endInclusive: T + @get:JsonProperty("end") public val endInclusive: T, ) { @JsonIgnore public abstract fun getEnd(): T diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/Converters.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/Converters.kt index 87fb4ab7..5d9baf23 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/Converters.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/Converters.kt @@ -14,7 +14,7 @@ import com.fasterxml.jackson.databind.util.StdConverter */ internal class ValueClassBoxConverter( unboxedClass: Class, - val boxedClass: Class + val boxedClass: Class, ) : StdConverter() { private val boxMethod = boxedClass.getDeclaredMethod("box-impl", unboxedClass).apply { ClassUtil.checkAndFixAccess(this, false) @@ -35,7 +35,7 @@ internal class ValueClassUnboxConverter(val valueClass: Class) : Std override fun getInputType(typeFactory: TypeFactory): JavaType = typeFactory.constructType(valueClass) override fun getOutputType( - typeFactory: TypeFactory + typeFactory: TypeFactory, ): JavaType = typeFactory.constructType(unboxMethod.genericReturnType) val delegatingSerializer: StdDelegatingSerializer by lazy { StdDelegatingSerializer(this) } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/Extensions.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/Extensions.kt index b3a3971d..e64a50f5 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/Extensions.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/Extensions.kt @@ -49,7 +49,7 @@ public fun jacksonMapperBuilder(initializer: KotlinModule.Builder.() -> Unit = { @JvmOverloads public fun ObjectMapper.registerKotlinModule( - initializer: KotlinModule.Builder.() -> Unit = {} + initializer: KotlinModule.Builder.() -> Unit = {}, ): ObjectMapper = this.registerModule(kotlinModule(initializer)) // endregion @@ -67,7 +67,7 @@ internal inline fun Any?.checkTypeMismatch(): T { // JsonMappingException was not used to unify the behavior. throw RuntimeJsonMappingException( "Deserialized value did not match the specified type; " + - "specified ${T::class.qualifiedName}$nullability but was ${this?.let { it::class.qualifiedName }}" + "specified ${T::class.qualifiedName}$nullability but was ${this?.let { it::class.qualifiedName }}", ) } return this @@ -157,7 +157,7 @@ public inline fun ObjectMapper.readValue(src: ByteArray): T = readVa * due to an incorrect customization to [ObjectMapper]. */ public inline fun ObjectMapper.treeToValue( - n: TreeNode + n: TreeNode, ): T = readValue(this.treeAsTokens(n), jacksonTypeRef()).checkTypeMismatch() /** @@ -192,13 +192,13 @@ public inline fun ObjectReader.readValuesTyped(jp: JsonParser): Iter } } public inline fun ObjectReader.treeToValue( - n: TreeNode + n: TreeNode, ): T? = readValue(this.treeAsTokens(n), jacksonTypeRef()) public inline fun ObjectMapper.addMixIn(): ObjectMapper = addMixIn(T::class.java, U::class.java) public inline fun JsonMapper.Builder.addMixIn(): JsonMapper.Builder = addMixIn( T::class.java, - U::class.java + U::class.java, ) public operator fun ArrayNode.plus(element: Boolean) { @@ -298,7 +298,7 @@ public operator fun JsonNode.contains(index: Int): Boolean = has(index) public fun SimpleModule.addSerializer( kClass: KClass, - serializer: JsonSerializer + serializer: JsonSerializer, ): SimpleModule = this.apply { kClass.javaPrimitiveType?.let { addSerializer(it, serializer) } addSerializer(kClass.javaObjectType, serializer) @@ -306,7 +306,7 @@ public fun SimpleModule.addSerializer( public fun SimpleModule.addDeserializer( kClass: KClass, - deserializer: JsonDeserializer + deserializer: JsonDeserializer, ): SimpleModule = this.apply { kClass.javaPrimitiveType?.let { addDeserializer(it, deserializer) } addDeserializer(kClass.javaObjectType, deserializer) diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/InternalCommons.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/InternalCommons.kt index 0a215001..d6f51e64 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/InternalCommons.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/InternalCommons.kt @@ -30,7 +30,7 @@ private val primitiveClassToDesc = mapOf( Long::class.java to 'J', Short::class.java to 'S', Boolean::class.java to 'Z', - Void.TYPE to 'V' + Void.TYPE to 'V', ) // -> this.name.replace(".", "/") @@ -56,12 +56,12 @@ internal fun Array>.toDescBuilder(): StringBuilder = this internal fun Constructor<*>.toSignature(): JvmMethodSignature = JvmMethodSignature( "", - parameterTypes.toDescBuilder().append('V').toString() + parameterTypes.toDescBuilder().append('V').toString(), ) internal fun Method.toSignature(): JvmMethodSignature = JvmMethodSignature( this.name, - parameterTypes.toDescBuilder().appendDescriptor(this.returnType).toString() + parameterTypes.toDescBuilder().appendDescriptor(this.returnType).toString(), ) internal val defaultConstructorMarker: Class<*> by lazy { diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinClassIntrospector.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinClassIntrospector.kt index 67f3aea9..ae4e3f9f 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinClassIntrospector.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinClassIntrospector.kt @@ -40,7 +40,7 @@ internal object KotlinClassIntrospector : BasicClassIntrospector() { override fun forSerialization( config: SerializationConfig, type: JavaType, - r: MixInResolver + r: MixInResolver, ): BasicBeanDescription { // minor optimization: for some JDK types do minimal introspection return _findStdTypeDesc(config, type) @@ -61,7 +61,7 @@ internal object KotlinClassIntrospector : BasicClassIntrospector() { override fun forDeserialization( config: DeserializationConfig, type: JavaType, - r: MixInResolver + r: MixInResolver, ): BasicBeanDescription { // minor optimization: for some JDK types do minimal introspection return _findStdTypeDesc(config, type) diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinFeature.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinFeature.kt index cfdf142d..d65a5c5d 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinFeature.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinFeature.kt @@ -84,7 +84,8 @@ public enum class KotlinFeature(internal val enabledByDefault: Boolean) { * `@JsonFormat` annotations need to be declared either on getter using `@get:JsonFormat` or field using `@field:JsonFormat`. * See [jackson-module-kotlin#651] for details. */ - UseJavaDurationConversion(enabledByDefault = false); + UseJavaDurationConversion(enabledByDefault = false), + ; internal val bitSet: BitSet = (1 shl ordinal).toBitSet() diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinModule.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinModule.kt index c24e8bdf..3b043d03 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinModule.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/KotlinModule.kt @@ -49,7 +49,7 @@ public class KotlinModule private constructor( public val strictNullChecks: Boolean = StrictNullChecks.enabledByDefault, public val copySyntheticConstructorParameterAnnotations: Boolean = CopySyntheticConstructorParameterAnnotations.enabledByDefault, - public val useJavaDurationConversion: Boolean = UseJavaDurationConversion.enabledByDefault + public val useJavaDurationConversion: Boolean = UseJavaDurationConversion.enabledByDefault, ) : SimpleModule(KotlinModule::class.java.name, kogeraVersion) { // kogeraVersion is generated by building. private constructor(builder: Builder) : this( builder.cacheSize, @@ -59,12 +59,12 @@ public class KotlinModule private constructor( builder.isEnabled(SingletonSupport), builder.isEnabled(StrictNullChecks), builder.isEnabled(CopySyntheticConstructorParameterAnnotations), - builder.isEnabled(UseJavaDurationConversion) + builder.isEnabled(UseJavaDurationConversion), ) @Deprecated( message = "This is an API for compatibility; use Builder.", - level = DeprecationLevel.HIDDEN + level = DeprecationLevel.HIDDEN, ) public constructor() : this(Builder()) @@ -101,7 +101,7 @@ public class KotlinModule private constructor( if (!context.isEnabled(MapperFeature.USE_ANNOTATIONS)) { throw IllegalStateException( - "The Jackson Kotlin module requires USE_ANNOTATIONS to be true or it cannot function" + "The Jackson Kotlin module requires USE_ANNOTATIONS to be true or it cannot function", ) } @@ -123,7 +123,7 @@ public class KotlinModule private constructor( */ public data class CacheSize( val initialCacheSize: Int = Builder.DEFAULT_CACHE_SIZE, - val maxCacheSize: Int = Builder.DEFAULT_CACHE_SIZE + val maxCacheSize: Int = Builder.DEFAULT_CACHE_SIZE, ) : Serializable { /** * Set the same size for [initialCacheSize] and [maxCacheSize]. @@ -133,12 +133,12 @@ public class KotlinModule private constructor( init { if (maxCacheSize < 16) { throw IllegalArgumentException( - "The maxCacheSize must be at least 16. The recommended value is 100 or more." + "The maxCacheSize must be at least 16. The recommended value is 100 or more.", ) } if (maxCacheSize < initialCacheSize) { throw IllegalArgumentException( - "maxCacheSize($maxCacheSize) was less than initialCacheSize($initialCacheSize)." + "maxCacheSize($maxCacheSize) was less than initialCacheSize($initialCacheSize).", ) } } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ReflectionCache.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ReflectionCache.kt index f2435d2c..01b8a460 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ReflectionCache.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ReflectionCache.kt @@ -30,10 +30,10 @@ internal class ReflectionCache(initialCacheSize: Int, maxCacheSize: Int) : Seria final override fun toString(): String = key.toString() class ValueClassBoxConverter( - override val key: Class<*> + override val key: Class<*>, ) : OtherCacheKey, io.github.projectmapk.jackson.module.kogera.ValueClassBoxConverter<*, *>>() class ValueClassUnboxConverter( - override val key: Class<*> + override val key: Class<*>, ) : OtherCacheKey, io.github.projectmapk.jackson.module.kogera.ValueClassUnboxConverter<*>>() } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/annotationIntrospector/KotlinFallbackAnnotationIntrospector.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/annotationIntrospector/KotlinFallbackAnnotationIntrospector.kt index 58c343a4..ed302303 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/annotationIntrospector/KotlinFallbackAnnotationIntrospector.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/annotationIntrospector/KotlinFallbackAnnotationIntrospector.kt @@ -36,10 +36,10 @@ import kotlin.metadata.isNullable internal class KotlinFallbackAnnotationIntrospector( private val strictNullChecks: Boolean, private val useJavaDurationConversion: Boolean, - private val cache: ReflectionCache + private val cache: ReflectionCache, ) : NopAnnotationIntrospector() { private fun findKotlinParameter( - param: AnnotatedParameter + param: AnnotatedParameter, ): JmValueParameter? = when (val owner = param.owner.member) { is Constructor<*> -> cache.getJmClass(param.declaringClass)?.findJmConstructor(owner)?.valueParameters is Method -> if (Modifier.isStatic(owner.modifiers)) { @@ -69,7 +69,7 @@ internal class KotlinFallbackAnnotationIntrospector( override fun refineDeserializationType( config: MapperConfig<*>, a: Annotated, - baseType: JavaType + baseType: JavaType, ): JavaType = findKotlinParameter(a)?.let { param -> val rawType = a.rawType param.reconstructedClassOrNull @@ -138,7 +138,7 @@ internal class KotlinFallbackAnnotationIntrospector( config: MapperConfig<*>, valueClass: AnnotatedClass, declaredConstructors: List, - declaredFactories: List + declaredFactories: List, ): PotentialCreator? { val jmClass = valueClass.creatableKotlinClass() ?: return null val primarilyConstructor = jmClass.primarilyConstructor() @@ -168,7 +168,7 @@ private fun JmValueParameter.isNullishTypeAt(index: Int): Boolean = arguments.ge } != false // If a type argument cannot be taken, treat it as nullable to avoid unexpected failure. private fun JmValueParameter.requireStrictNullCheck( - type: JavaType + type: JavaType, ): Boolean = ((type.isArrayType || type.isCollectionLikeType) && !this.isNullishTypeAt(0)) || (type.isMapLikeType && !this.isNullishTypeAt(1)) @@ -176,10 +176,10 @@ private fun JmClass.primarilyConstructor() = constructors.find { !it.isSecondary private fun isPossiblySingleString( jmConstructor: JmConstructor, - jmClass: JmClass + jmClass: JmClass, ) = jmConstructor.valueParameters.singleOrNull()?.let { it.isString && it.name !in jmClass.propertyNameSet } == true private fun isPossibleSingleString( isPossiblySingleString: Boolean, - javaConstructor: Constructor<*> + javaConstructor: Constructor<*>, ): Boolean = isPossiblySingleString && javaConstructor.parameters[0].annotations.none { it is JsonProperty } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/annotationIntrospector/KotlinPrimaryAnnotationIntrospector.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/annotationIntrospector/KotlinPrimaryAnnotationIntrospector.kt index e2feb0da..97ca6abe 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/annotationIntrospector/KotlinPrimaryAnnotationIntrospector.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/annotationIntrospector/KotlinPrimaryAnnotationIntrospector.kt @@ -26,7 +26,7 @@ import kotlin.metadata.isNullable internal class KotlinPrimaryAnnotationIntrospector( private val nullToEmptyCollection: Boolean, private val nullToEmptyMap: Boolean, - private val cache: ReflectionCache + private val cache: ReflectionCache, ) : NopAnnotationIntrospector() { // If a new isRequired is explicitly specified or the old required is true, those values take precedence. // In other cases, override is done by KotlinModule. @@ -74,7 +74,7 @@ internal class KotlinPrimaryAnnotationIntrospector( private fun JmProperty.isRequiredByNullability(): Boolean = !this.returnType.isNullable private fun AnnotatedMethod.getRequiredMarkerFromCorrespondingAccessor( - jmClass: JmClass + jmClass: JmClass, ): Boolean? = when (parameterCount) { 0 -> jmClass.findPropertyByGetter(member)?.isRequiredByNullability() 1 -> { diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/KotlinDeserializers.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/KotlinDeserializers.kt index 23b70264..f0531313 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/KotlinDeserializers.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/KotlinDeserializers.kt @@ -21,8 +21,6 @@ import io.github.projectmapk.jackson.module.kogera.jmClass.JmClass import io.github.projectmapk.jackson.module.kogera.toSignature import java.lang.reflect.Method import java.lang.reflect.Modifier -import kotlin.metadata.isSecondary -import kotlin.metadata.jvm.signature internal object SequenceDeserializer : StdDeserializer>(Sequence::class.java) { private fun readResolve(): Any = SequenceDeserializer @@ -46,7 +44,7 @@ internal object RegexDeserializer : StdDeserializer(Regex::class.java) { val optionsNode = node.get("options") if (!optionsNode.isArray) { throw IllegalStateException( - "Expected an array of strings for RegexOptions, but type was ${node.nodeType}" + "Expected an array of strings for RegexOptions, but type was ${node.nodeType}", ) } optionsNode.elements().asSequence().map { RegexOption.valueOf(it.asText()) }.toSet() @@ -56,7 +54,7 @@ internal object RegexDeserializer : StdDeserializer(Regex::class.java) { return Regex(pattern, options) } else { throw IllegalStateException( - "Expected a string or an object to deserialize a Regex, but type was ${node.nodeType}" + "Expected a string or an object to deserialize a Regex, but type was ${node.nodeType}", ) } } @@ -92,7 +90,7 @@ internal object ULongDeserializer : StdDeserializer(ULong::class.java) { internal class WrapsNullableValueClassBoxDeserializer( private val creator: Method, - private val converter: ValueClassBoxConverter + private val converter: ValueClassBoxConverter, ) : WrapsNullableValueClassDeserializer(converter.boxedClass) { private val inputType: Class<*> = creator.parameterTypes[0] @@ -150,12 +148,12 @@ private fun findValueCreator(type: JavaType, clazz: Class<*>, jmClass: JmClass): internal class KotlinDeserializers( private val cache: ReflectionCache, - private val useJavaDurationConversion: Boolean + private val useJavaDurationConversion: Boolean, ) : SimpleDeserializers() { override fun findBeanDeserializer( type: JavaType, config: DeserializationConfig?, - beanDesc: BeanDescription + beanDesc: BeanDescription, ): JsonDeserializer<*>? { val rawClass = type.rawClass diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/KotlinKeyDeserializers.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/KotlinKeyDeserializers.kt index bb7c526b..3a6f93c9 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/KotlinKeyDeserializers.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/KotlinKeyDeserializers.kt @@ -53,7 +53,7 @@ internal object ULongKeyDeserializer : StdKeyDeserializer(-1, ULong::class.java) // The implementation is designed to be compatible with various creators, just in case. internal class ValueClassKeyDeserializer( private val creator: Method, - private val converter: ValueClassBoxConverter + private val converter: ValueClassBoxConverter, ) : KeyDeserializer() { private val unboxedClass: Class<*> = creator.parameterTypes[0] @@ -82,7 +82,7 @@ internal class ValueClassKeyDeserializer( companion object { fun createOrNull( valueClass: Class<*>, - cache: ReflectionCache + cache: ReflectionCache, ): ValueClassKeyDeserializer<*, *>? { val jmClass = cache.getJmClass(valueClass) ?: return null val primaryKmConstructorSignature = @@ -107,7 +107,7 @@ internal class KotlinKeyDeserializers(private val cache: ReflectionCache) : Simp override fun findKeyDeserializer( type: JavaType, config: DeserializationConfig?, - beanDesc: BeanDescription? + beanDesc: BeanDescription?, ): KeyDeserializer? { val rawClass = type.rawClass diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/UnsignedIntegerCheckers.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/UnsignedIntegerCheckers.kt index 3d23e9a6..e2c63488 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/UnsignedIntegerCheckers.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/deserializers/UnsignedIntegerCheckers.kt @@ -18,7 +18,7 @@ internal sealed class UnsignedIntegerChecker, U : Comparable + deserializer: JsonDeserializer<*>, ): JsonDeserializer { val modifiedFromParent = super.modifyDeserializer(config, beanDesc, deserializer) diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/singletonSupport/KotlinObjectSingletonDeserializer.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/singletonSupport/KotlinObjectSingletonDeserializer.kt index d5b672e3..fc7b4e21 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/singletonSupport/KotlinObjectSingletonDeserializer.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/singletonSupport/KotlinObjectSingletonDeserializer.kt @@ -8,13 +8,13 @@ import com.fasterxml.jackson.databind.deser.ContextualDeserializer import com.fasterxml.jackson.databind.deser.ResolvableDeserializer internal fun JsonDeserializer<*>.asSingletonDeserializer( - singleton: Any + singleton: Any, ) = KotlinObjectSingletonDeserializer(singleton, this) /** deserialize as normal, but return the canonical singleton instance. */ internal class KotlinObjectSingletonDeserializer( private val singletonInstance: Any, - private val defaultDeserializer: JsonDeserializer<*> + private val defaultDeserializer: JsonDeserializer<*>, ) : JsonDeserializer(), // Additional interfaces of a specific 'JsonDeserializer' must be supported // Kotlin objectInstances are currently handled by a BeanSerializer which @@ -28,7 +28,7 @@ internal class KotlinObjectSingletonDeserializer( override fun createContextual( ctxt: DeserializationContext?, - property: BeanProperty? + property: BeanProperty?, ): JsonDeserializer<*> = (defaultDeserializer as? ContextualDeserializer) ?.let { it.createContextual(ctxt, property).asSingletonDeserializer(singletonInstance) } ?: this diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/KotlinValueInstantiator.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/KotlinValueInstantiator.kt index 3ee4f390..9331ca4a 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/KotlinValueInstantiator.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/KotlinValueInstantiator.kt @@ -30,7 +30,7 @@ internal class KotlinValueInstantiator( private val cache: ReflectionCache, private val nullToEmptyCollection: Boolean, private val nullToEmptyMap: Boolean, - private val nullIsSameAsDefault: Boolean + private val nullIsSameAsDefault: Boolean, ) : StdValueInstantiator(src) { private fun JavaType.requireEmptyValue() = (nullToEmptyCollection && this.isCollectionLikeType) || (nullToEmptyMap && this.isMapLikeType) @@ -43,7 +43,7 @@ internal class KotlinValueInstantiator( // and the input is explicit null, the value class is instantiated with null as input. private fun requireValueClassSpecialNullValue( isNullableParam: Boolean, - valueDeserializer: JsonDeserializer<*>? + valueDeserializer: JsonDeserializer<*>?, ): Boolean = !isNullableParam && valueDeserializer is WrapsNullableValueClassDeserializer<*> && cache.getJmClass(valueDeserializer.handledType())!!.wrapsNullableIfValue @@ -55,16 +55,13 @@ internal class KotlinValueInstantiator( when (creator) { is Constructor<*> -> ConstructorValueCreator(creator, jmClass, cache) is Method -> MethodValueCreator(creator, jmClass, cache) - else -> throw IllegalStateException( - "Expected a constructor or method to create a Kotlin object, instead found ${creator.javaClass.name}" - ) } } // we cannot reflect this method so do the default Java-ish behavior override fun createFromObjectWith( ctxt: DeserializationContext, props: Array, - buffer: PropertyValueBuffer + buffer: PropertyValueBuffer, ): Any? { val valueCreator: ValueCreator<*> = valueCreator ?: return super.createFromObjectWith(ctxt, props, buffer) valueCreator.checkAccessibility(ctxt) @@ -120,12 +117,12 @@ internal class KotlinInstantiators( private val cache: ReflectionCache, private val nullToEmptyCollection: Boolean, private val nullToEmptyMap: Boolean, - private val nullIsSameAsDefault: Boolean + private val nullIsSameAsDefault: Boolean, ) : SimpleValueInstantiators() { override fun findValueInstantiator( deserConfig: DeserializationConfig, beanDescriptor: BeanDescription, - defaultInstantiator: ValueInstantiator + defaultInstantiator: ValueInstantiator, ): ValueInstantiator = if (cache.getJmClass(beanDescriptor.beanClass) != null) { if (defaultInstantiator::class == StdValueInstantiator::class) { KotlinValueInstantiator( @@ -133,13 +130,13 @@ internal class KotlinInstantiators( cache, nullToEmptyCollection, nullToEmptyMap, - nullIsSameAsDefault + nullIsSameAsDefault, ) } else { // TODO: return defaultInstantiator and let default method parameters and nullability go unused? // or die with exception: throw IllegalStateException( - "KotlinValueInstantiator requires that the default ValueInstantiator is StdValueInstantiator" + "KotlinValueInstantiator requires that the default ValueInstantiator is StdValueInstantiator", ) } } else { diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/argumentBucket/ArgumentBucket.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/argumentBucket/ArgumentBucket.kt index 3c6fa796..cb0dac48 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/argumentBucket/ArgumentBucket.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/argumentBucket/ArgumentBucket.kt @@ -33,7 +33,8 @@ private enum class MaskOperation { // A vararg argument that has no default value need not be given and is therefore marked as initialized. INIT { override fun invoke(i: Int, j: Int): Int = i or j.inv() - }; + }, + ; abstract operator fun invoke(i: Int, j: Int): Int } @@ -47,7 +48,7 @@ private fun IntArray.update(index: Int, operation: MaskOperation) { internal class BucketGenerator( parameterTypes: List>, valueParameters: List, - private val converters: List?> + private val converters: List?>, ) { private val valueParameterSize: Int = parameterTypes.size private val originalAbsentArgs: Array @@ -90,7 +91,7 @@ internal class BucketGenerator( valueParameterSize, originalAbsentArgs.clone(), originalMasks.clone(), - converters + converters, ) } @@ -98,7 +99,7 @@ internal class ArgumentBucket( val valueParameterSize: Int, val arguments: Array, val masks: IntArray, - private val converters: List?> + private val converters: List?>, ) { /** * Sets the argument corresponding to index. diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/ConstructorValueCreator.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/ConstructorValueCreator.kt index a3ec49b0..f502ec44 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/ConstructorValueCreator.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/ConstructorValueCreator.kt @@ -15,12 +15,12 @@ import java.lang.reflect.Constructor internal class ConstructorValueCreator( private val constructor: Constructor, declaringJmClass: JmClass, - cache: ReflectionCache + cache: ReflectionCache, ) : ValueCreator() { private val declaringClass: Class = constructor.declaringClass override val isAccessible: Boolean = constructor.isAccessible - override val callableName: String = constructor.name + override val callableName: String get() = constructor.name override val valueParameters: List override val bucketGenerator: BucketGenerator @@ -33,7 +33,7 @@ internal class ConstructorValueCreator( bucketGenerator = BucketGenerator( rawTypes, valueParameters, - valueParameters.mapToConverters(rawTypes, cache) + valueParameters.mapToConverters(rawTypes, cache), ) } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/MethodValueCreator.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/MethodValueCreator.kt index e660dd3b..5618ad29 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/MethodValueCreator.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/MethodValueCreator.kt @@ -15,11 +15,11 @@ import java.lang.reflect.Method internal class MethodValueCreator( private val method: Method, declaringJmClass: JmClass, - cache: ReflectionCache + cache: ReflectionCache, ) : ValueCreator() { private val companion: JmClass.CompanionObject = declaringJmClass.companion!! override val isAccessible: Boolean = method.isAccessible && companion.isAccessible - override val callableName: String = method.name + override val callableName: String get() = method.name override val valueParameters: List override val bucketGenerator: BucketGenerator @@ -34,7 +34,7 @@ internal class MethodValueCreator( bucketGenerator = BucketGenerator( rawTypes, valueParameters, - valueParameters.mapToConverters(rawTypes, cache) + valueParameters.mapToConverters(rawTypes, cache), ) } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/ValueCreator.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/ValueCreator.kt index 8c88906e..ebf3d22b 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/ValueCreator.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/creator/ValueCreator.kt @@ -62,7 +62,7 @@ internal sealed class ValueCreator { @Suppress("UNCHECKED_CAST") internal fun List.mapToConverters( rawTypes: List>, - cache: ReflectionCache + cache: ReflectionCache, ): List?> = mapIndexed { i, param -> param.reconstructedClassOrNull ?.takeIf { it.isUnboxableValueClass() && rawTypes[i] != it } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmClass.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmClass.kt index 64206192..f95207bd 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmClass.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmClass.kt @@ -11,7 +11,6 @@ import kotlin.metadata.ClassKind import kotlin.metadata.ClassName import kotlin.metadata.KmClass import kotlin.metadata.isNullable -import kotlin.metadata.jvm.signature import kotlin.metadata.kind // Jackson Metadata Class @@ -65,7 +64,7 @@ private class JmClassImpl( clazz: Class<*>, kmClass: KmClass, superJmClass: JmClass?, - interfaceJmClasses: List + interfaceJmClasses: List, ) : JmClass { private val allPropsMap: Map @@ -123,5 +122,5 @@ internal fun JmClass( clazz: Class<*>, kmClass: KmClass, superJmClass: JmClass?, - interfaceJmClasses: List + interfaceJmClasses: List, ): JmClass = JmClassImpl(clazz, kmClass, superJmClass, interfaceJmClasses) diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmConstructor.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmConstructor.kt index ed60d9da..2a942fd0 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmConstructor.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmConstructor.kt @@ -10,17 +10,17 @@ import kotlin.metadata.jvm.signature internal data class JmConstructor( val isSecondary: Boolean, val signature: JvmMethodSignature?, - val valueParameters: List + val valueParameters: List, ) { constructor(constructor: KmConstructor) : this( isSecondary = constructor.isSecondary, signature = constructor.signature, - valueParameters = constructor.valueParameters.map { JmValueParameter(it) } + valueParameters = constructor.valueParameters.map { JmValueParameter(it) }, ) // Only constructors that take a value class as an argument have a DefaultConstructorMarker on the Signature. private fun StringBuilder.valueDesc( - len: Int + len: Int, ) = replace(len - 1, len, "Lkotlin/jvm/internal/DefaultConstructorMarker;)V").toString() fun isMetadataFor(constructor: Constructor<*>): Boolean { diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmFunction.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmFunction.kt index 94e194c9..2cb78b58 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmFunction.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmFunction.kt @@ -6,7 +6,7 @@ import kotlin.metadata.jvm.signature internal class JmFunction( val signature: JvmMethodSignature?, - val valueParameters: List + val valueParameters: List, ) { constructor(function: KmFunction) : this(function.signature, function.valueParameters.map { JmValueParameter(it) }) } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmProperty.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmProperty.kt index 8dab2f2f..fc2834ea 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmProperty.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmProperty.kt @@ -10,12 +10,12 @@ internal data class JmProperty( val name: String?, val getterName: String?, val setterSignature: JvmMemberSignature?, - val returnType: KmType + val returnType: KmType, ) { constructor(kmProperty: KmProperty) : this( name = kmProperty.name, getterName = kmProperty.getterSignature?.name, setterSignature = kmProperty.setterSignature, - returnType = kmProperty.returnType + returnType = kmProperty.returnType, ) } diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmValueParameter.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmValueParameter.kt index 5c7f8f44..e425823a 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmValueParameter.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/jmClass/JmValueParameter.kt @@ -13,14 +13,14 @@ internal class JmValueParameter( val isOptional: Boolean, val isVararg: Boolean, type: KmType, - classifier: KmClassifier.Class? + classifier: KmClassifier.Class?, ) { constructor(valueParameter: KmValueParameter) : this( valueParameter.name, isOptional = valueParameter.declaresDefaultValue, isVararg = valueParameter.varargElementType != null, valueParameter.type, - valueParameter.type.classifier as? KmClassifier.Class + valueParameter.type.classifier as? KmClassifier.Class, ) val isNullable: Boolean = type.isNullable diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ser/serializers/KotlinKeySerializers.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ser/serializers/KotlinKeySerializers.kt index 319d8f7b..6ed9c124 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ser/serializers/KotlinKeySerializers.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ser/serializers/KotlinKeySerializers.kt @@ -16,7 +16,7 @@ import java.lang.reflect.Method import java.lang.reflect.Modifier internal class ValueClassUnboxKeySerializer( - private val converter: ValueClassUnboxConverter + private val converter: ValueClassUnboxConverter, ) : StdSerializer(converter.valueClass) { override fun serialize(value: T, gen: JsonGenerator, provider: SerializerProvider) { val unboxed = converter.convert(value) @@ -38,7 +38,7 @@ private fun Class<*>.getStaticJsonKeyGetter(): Method? = this.declaredMethods.fi internal class ValueClassStaticJsonKeySerializer( private val converter: ValueClassUnboxConverter, - private val staticJsonKeyGetter: Method + private val staticJsonKeyGetter: Method, ) : StdSerializer(converter.valueClass) { private val keyType: Class<*> = staticJsonKeyGetter.returnType @@ -69,7 +69,7 @@ internal class KotlinKeySerializers(private val cache: ReflectionCache) : Simple override fun findSerializer( config: SerializationConfig, type: JavaType, - beanDesc: BeanDescription + beanDesc: BeanDescription, ): JsonSerializer<*>? { val rawClass = type.rawClass diff --git a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ser/serializers/KotlinSerializers.kt b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ser/serializers/KotlinSerializers.kt index eeafb873..90b303fe 100644 --- a/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ser/serializers/KotlinSerializers.kt +++ b/src/main/kotlin/io/github/projectmapk/jackson/module/kogera/ser/serializers/KotlinSerializers.kt @@ -56,7 +56,7 @@ private fun Class<*>.getStaticJsonValueGetter(): Method? = this.declaredMethods. internal class ValueClassStaticJsonValueSerializer( private val converter: ValueClassUnboxConverter, - private val staticJsonValueGetter: Method + private val staticJsonValueGetter: Method, ) : StdSerializer(converter.valueClass) { override fun serialize(value: T, gen: JsonGenerator, provider: SerializerProvider) { val unboxed = converter.convert(value) @@ -81,7 +81,7 @@ internal class KotlinSerializers(private val cache: ReflectionCache) : SimpleSer override fun findSerializer( config: SerializationConfig?, type: JavaType, - beanDesc: BeanDescription? + beanDesc: BeanDescription?, ): JsonSerializer<*>? { val rawClass = type.rawClass diff --git a/src/test/java/io/github/projectmapk/jackson/module/kogera/test/github/zPported/CloneableJavaObj.java b/src/test/java/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/CloneableJavaObj.java similarity index 79% rename from src/test/java/io/github/projectmapk/jackson/module/kogera/test/github/zPported/CloneableJavaObj.java rename to src/test/java/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/CloneableJavaObj.java index a801e468..10fa1659 100644 --- a/src/test/java/io/github/projectmapk/jackson/module/kogera/test/github/zPported/CloneableJavaObj.java +++ b/src/test/java/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/CloneableJavaObj.java @@ -1,4 +1,4 @@ -package io.github.projectmapk.jackson.module.kogera.test.github.zPported; +package io.github.projectmapk.jackson.module.kogera.zPorted.test.github; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/src/test/java/io/github/projectmapk/jackson/module/kogera/test/github/zPported/Github165JavaTest.java b/src/test/java/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github165JavaTest.java similarity index 90% rename from src/test/java/io/github/projectmapk/jackson/module/kogera/test/github/zPported/Github165JavaTest.java rename to src/test/java/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github165JavaTest.java index 077fbac2..b5bfc98b 100644 --- a/src/test/java/io/github/projectmapk/jackson/module/kogera/test/github/zPported/Github165JavaTest.java +++ b/src/test/java/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github165JavaTest.java @@ -1,4 +1,4 @@ -package io.github.projectmapk.jackson.module.kogera.test.github.zPported; +package io.github.projectmapk.jackson.module.kogera.zPorted.test.github; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/TestCommons.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/TestCommons.kt index 04746ca2..a5ba35fd 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/TestCommons.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/TestCommons.kt @@ -25,7 +25,7 @@ internal fun Class<*>.isKotlinClass() = declaredAnnotations.any { it is Metadata internal val defaultMapper = jacksonObjectMapper() internal inline fun callPrimaryConstructor( - mapper: (KParameter) -> Any? = { it.name } + mapper: (KParameter) -> Any? = { it.name }, ): T = T::class.primaryConstructor!!.run { val args = parameters.associateWith { mapper(it) } callBy(args) @@ -43,7 +43,7 @@ internal fun createTempJson(json: String): File { file.deleteOnExit() OutputStreamWriter( FileOutputStream(file), - StandardCharsets.UTF_8 + StandardCharsets.UTF_8, ).use { writer -> writer.write(json) writer.flush() diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/argumentBucket/ArgumentBucketTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/argumentBucket/ArgumentBucketTest.kt index a50a9ab6..f27e3246 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/argumentBucket/ArgumentBucketTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/deser/valueInstantiator/argumentBucket/ArgumentBucketTest.kt @@ -23,7 +23,7 @@ private class ArgumentBucketTest { val generator = BucketGenerator( (0..31).map { String::class.java }, (0..31).map { mockValueParameter() }, - emptyList() + emptyList(), ) val result = generator.generate() @@ -44,10 +44,10 @@ private class ArgumentBucketTest { Int::class.java, Float::class.java, Long::class.java, - Double::class.java + Double::class.java, ), (1..8).map { mockValueParameter() }, - emptyList() + emptyList(), ) val result = generator.generate() @@ -66,7 +66,7 @@ private class ArgumentBucketTest { val generator = BucketGenerator( (0..32).map { String::class.java }, (0..32).map { mockValueParameter() }, - emptyList() + emptyList(), ) val result = generator.generate() @@ -85,7 +85,7 @@ private class ArgumentBucketTest { val generator = BucketGenerator( (0..32).map { String::class.java }, (0..32).map { mockValueParameter() }, - List(33) { null } + List(33) { null }, ) val sut = generator.generate() @@ -114,7 +114,7 @@ private class ArgumentBucketTest { val generator = BucketGenerator( listOf(Int::class.java, V::class.java), (1..2).map { mockValueParameter() }, - listOf(converter, null) + listOf(converter, null), ) val bucket = generator.generate() diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ClosedRangesTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ClosedRangesTest.kt index 03af2437..c04a7a6d 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ClosedRangesTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ClosedRangesTest.kt @@ -1,22 +1,18 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration import io.github.projectmapk.jackson.module.kogera.ClosedRangeResolver -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertNotNull import org.junit.jupiter.api.Test class ClosedRangesTest { - companion object { - val mapper = jacksonObjectMapper() - } - @Test fun intLikeRange() { val src = IntRange(0, 1) - val json = mapper.writeValueAsString(src) - val result = mapper.readValue(json) + val json = defaultMapper.writeValueAsString(src) + val result = defaultMapper.readValue(json) assertEquals(src, result) } @@ -24,8 +20,8 @@ class ClosedRangesTest { @Test fun closedDoubleRange() { val src: ClosedFloatingPointRange = 0.0..1.0 - val json = mapper.writeValueAsString(src) - val result = mapper.readValue>(json) + val json = defaultMapper.writeValueAsString(src) + val result = defaultMapper.readValue>(json) assertEquals(src, result) } @@ -33,8 +29,8 @@ class ClosedRangesTest { @Test fun closedFloatRange() { val src: ClosedFloatingPointRange = 0.0f..1.0f - val json = mapper.writeValueAsString(src) - val result = mapper.readValue>(json) + val json = defaultMapper.writeValueAsString(src) + val result = defaultMapper.readValue>(json) assertEquals(src, result) } @@ -46,8 +42,8 @@ class ClosedRangesTest { @Test fun comparableRange() { val src: ClosedRange = Wrapper(0)..Wrapper(1) - val json = mapper.writeValueAsString(src) - val result = mapper.readValue>(json) + val json = defaultMapper.writeValueAsString(src) + val result = defaultMapper.readValue>(json) assertEquals(src, result) } @@ -63,20 +59,20 @@ class ClosedRangesTest { fun findClosedFloatingPointRangeRefTest() { assertEquals( ClosedRangeResolver.closedDoubleRangeRef, - ClosedRangeResolver.findClosedFloatingPointRangeRef(Double::class.javaPrimitiveType!!) + ClosedRangeResolver.findClosedFloatingPointRangeRef(Double::class.javaPrimitiveType!!), ) assertEquals( ClosedRangeResolver.closedDoubleRangeRef, - ClosedRangeResolver.findClosedFloatingPointRangeRef(Double::class.javaObjectType) + ClosedRangeResolver.findClosedFloatingPointRangeRef(Double::class.javaObjectType), ) assertEquals( ClosedRangeResolver.closedFloatRangeRef, - ClosedRangeResolver.findClosedFloatingPointRangeRef(Float::class.javaPrimitiveType!!) + ClosedRangeResolver.findClosedFloatingPointRangeRef(Float::class.javaPrimitiveType!!), ) assertEquals( ClosedRangeResolver.closedFloatRangeRef, - ClosedRangeResolver.findClosedFloatingPointRangeRef(Float::class.javaObjectType) + ClosedRangeResolver.findClosedFloatingPointRangeRef(Float::class.javaObjectType), ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/DurationTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/DurationTest.kt index 752386ca..dcca0983 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/DurationTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/DurationTest.kt @@ -70,8 +70,8 @@ class DurationTest { mapOf( "a" to 1.hours, "b" to 2.hours, - "c" to 3.hours - ) + "c" to 3.hours, + ), ) assertEquals("""{"a":"PT1H","b":"PT2H","c":"PT3H"}""", result) @@ -90,7 +90,7 @@ class DurationTest { data class Meeting( val start: Instant, - val duration: KotlinDuration + val duration: KotlinDuration, ) { companion object { @Suppress("unused") @@ -103,7 +103,7 @@ class DurationTest { abstract class MeetingMixin( @Suppress("unused") @field:JsonFormat(shape = Shape.STRING) - val duration: KotlinDuration + val duration: KotlinDuration, ) @Test @@ -158,7 +158,7 @@ class DurationTest { @field:JsonFormat(shape = Shape.STRING) val shapeAnnotation: JavaDuration = JavaDuration.ofHours(1), @field:JsonFormat(shape = Shape.STRING) - val optShapeAnnotation: JavaDuration? = JavaDuration.ofHours(1) + val optShapeAnnotation: JavaDuration? = JavaDuration.ofHours(1), ) data class KDTO( @@ -167,7 +167,7 @@ class DurationTest { @field:JsonFormat(shape = Shape.STRING) val shapeAnnotation: KotlinDuration = 1.hours, @field:JsonFormat(shape = Shape.STRING) - val optShapeAnnotation: KotlinDuration? = 1.hours + val optShapeAnnotation: KotlinDuration? = 1.hours, ) @Test @@ -182,7 +182,7 @@ class DurationTest { data class DurationWithFormattedUnits( @field:JsonFormat(pattern = "HOURS") val formatted: KotlinDuration, - val default: KotlinDuration + val default: KotlinDuration, ) { companion object { @Suppress("unused") @@ -190,7 +190,7 @@ class DurationTest { @JsonCreator fun create( formatted: KotlinDuration, - default: KotlinDuration + default: KotlinDuration, ) = DurationWithFormattedUnits(formatted, default) } } @@ -206,6 +206,6 @@ class DurationTest { } private fun jacksonObjectMapper( - configuration: KotlinModule.Builder.() -> Unit + configuration: KotlinModule.Builder.() -> Unit, ) = ObjectMapper().registerModule(kotlinModule(configuration)) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/FailNullForPrimitiveTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/FailNullForPrimitiveTest.kt index cbea77bc..490f4369 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/FailNullForPrimitiveTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/FailNullForPrimitiveTest.kt @@ -14,7 +14,7 @@ private class FailNullForPrimitiveTest { data class NoDefaultValue( val foo: Int, - val bar: Int? + val bar: Int?, ) @Test @@ -33,7 +33,7 @@ private class FailNullForPrimitiveTest { data class HasDefaultValue( val foo: Int = -1, - val bar: Int? = -1 + val bar: Int? = -1, ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/HasRequiredMarkerTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/HasRequiredMarkerTest.kt index 621f3bd4..d3e4c95b 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/HasRequiredMarkerTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/HasRequiredMarkerTest.kt @@ -6,7 +6,7 @@ import com.fasterxml.jackson.databind.BeanDescription import com.fasterxml.jackson.databind.ObjectMapper import io.github.projectmapk.jackson.module.kogera.KotlinFeature import io.github.projectmapk.jackson.module.kogera.KotlinModule -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertFalse import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Nested @@ -20,12 +20,11 @@ class HasRequiredMarkerTest { .find { it.name == propertyName } ?.isRequired == true - val defaultMapper = jacksonObjectMapper() val nullToDefaultMapper = ObjectMapper().registerModule( KotlinModule.Builder() .enable(KotlinFeature.NullToEmptyCollection) .enable(KotlinFeature.NullToEmptyMap) - .build() + .build(), ) class ConstructorParamTarget( @@ -34,7 +33,7 @@ class HasRequiredMarkerTest { val hasDefault: String = "default", val collection: Collection<*>, val map: Map<*, *>, - val nonNull: Any + val nonNull: Any, ) @Nested @@ -127,7 +126,7 @@ class HasRequiredMarkerTest { @param:JsonProperty(required = true) val mapParam: Map<*, *>, @param:JsonProperty(required = true) - vararg val vararg: Int + vararg val vararg: Int, ) { @set:JsonProperty(required = true) var nullableProp: String? = null @@ -175,7 +174,7 @@ class HasRequiredMarkerTest { val collection: Collection<*>, val map: Map<*, *>, val nonNull: Any, - val vararg: List + val vararg: List, ) { companion object { @JvmStatic @@ -186,7 +185,7 @@ class HasRequiredMarkerTest { collection: Collection<*>, map: Map<*, *>, nonNull: Any, - vararg vararg: Int + vararg vararg: Int, ) = FactoryParamTarget(nullable, hasDefault, collection, map, nonNull, vararg.asList()) } } @@ -223,7 +222,7 @@ class HasRequiredMarkerTest { val hasDefaultParam: String = "default", val collectionParam: Collection<*>, val mapParam: Map<*, *>, - val vararg: List + val vararg: List, ) { companion object { @JvmStatic @@ -238,7 +237,7 @@ class HasRequiredMarkerTest { @JsonProperty(required = true) mapParam: Map<*, *>, @JsonProperty(required = true) - vararg vararg: Int + vararg vararg: Int, ) = FactoryAnnotationTarget(nullableParam, hasDefaultParam, collectionParam, mapParam, vararg.asList()) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/JsonSetterTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/JsonSetterTest.kt index 185e2300..fd38220f 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/JsonSetterTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/JsonSetterTest.kt @@ -3,7 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser import com.fasterxml.jackson.annotation.JsonSetter import com.fasterxml.jackson.annotation.Nulls import com.fasterxml.jackson.databind.exc.InvalidNullException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue @@ -12,13 +12,11 @@ import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows class JsonSetterTest { - val mapper = jacksonObjectMapper() - data class NullsSkip(@JsonSetter(nulls = Nulls.SKIP) val v: Int = -1) @Test fun nullsSkip() { - val d = mapper.readValue("""{"v":null}""") + val d = defaultMapper.readValue("""{"v":null}""") assertEquals(-1, d.v) } @@ -30,14 +28,14 @@ class JsonSetterTest { @Test fun onNull() { assertThrows { - mapper.readValue("""{"v":null}""") + defaultMapper.readValue("""{"v":null}""") } } @Test fun onMissing() { assertThrows { - mapper.readValue("""{}""") + defaultMapper.readValue("""{}""") } } } @@ -48,13 +46,13 @@ class JsonSetterTest { inner class NullsAsEmptyTest { @Test fun onNull() { - val d = mapper.readValue("""{"v":null}""") + val d = defaultMapper.readValue("""{"v":null}""") assertTrue(d.v.isEmpty()) } @Test fun onMissing() { - val d = mapper.readValue("""{}""") + val d = defaultMapper.readValue("""{}""") assertTrue(d.v.isEmpty()) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/StrictNullChecksTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/StrictNullChecksTest.kt index f5c16d16..1132339d 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/StrictNullChecksTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/StrictNullChecksTest.kt @@ -18,7 +18,7 @@ class StrictNullChecksTest { .registerModule( KotlinModule.Builder() .enable(KotlinFeature.StrictNullChecks) - .build() + .build(), ) class ArrayWrapper(val value: Array) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/VarargTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/VarargTest.kt index 32e4c08d..c3fe704c 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/VarargTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/VarargTest.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue @@ -8,27 +8,25 @@ import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test class VarargTest { - val mapper = jacksonObjectMapper() - class OnlyVararg(vararg val v: Int) @Nested inner class OnlyVarargTest { @Test fun hasArgs() { - val r = mapper.readValue("""{"v":[1,2,3]}""") + val r = defaultMapper.readValue("""{"v":[1,2,3]}""") assertEquals(listOf(1, 2, 3), r.v.asList()) } @Test fun empty() { - val r = mapper.readValue("""{"v":[]}""") + val r = defaultMapper.readValue("""{"v":[]}""") assertTrue(r.v.isEmpty()) } @Test fun undefined() { - val r = mapper.readValue("""{}""") + val r = defaultMapper.readValue("""{}""") assertTrue(r.v.isEmpty()) } } @@ -39,21 +37,21 @@ class VarargTest { inner class HeadVarargTest { @Test fun hasArgs() { - val r = mapper.readValue("""{"i":0,"v":[1,2,null]}""") + val r = defaultMapper.readValue("""{"i":0,"v":[1,2,null]}""") assertEquals(listOf(1, 2, null), r.v.asList()) assertEquals(0, r.i) } @Test fun empty() { - val r = mapper.readValue("""{"i":0,"v":[]}""") + val r = defaultMapper.readValue("""{"i":0,"v":[]}""") assertTrue(r.v.isEmpty()) assertEquals(0, r.i) } @Test fun undefined() { - val r = mapper.readValue("""{"i":0}""") + val r = defaultMapper.readValue("""{"i":0}""") assertTrue(r.v.isEmpty()) assertEquals(0, r.i) } @@ -65,21 +63,21 @@ class VarargTest { inner class TailVarargTest { @Test fun hasArgs() { - val r = mapper.readValue("""{"i":0,"v":["foo","bar","baz"]}""") + val r = defaultMapper.readValue("""{"i":0,"v":["foo","bar","baz"]}""") assertEquals(listOf("foo", "bar", "baz"), r.v.asList()) assertEquals(0, r.i) } @Test fun empty() { - val r = mapper.readValue("""{"i":0,"v":[]}""") + val r = defaultMapper.readValue("""{"i":0,"v":[]}""") assertTrue(r.v.isEmpty()) assertEquals(0, r.i) } @Test fun undefined() { - val r = mapper.readValue("""{"i":0}""") + val r = defaultMapper.readValue("""{"i":0}""") assertTrue(r.v.isEmpty()) assertEquals(0, r.i) } @@ -91,19 +89,19 @@ class VarargTest { inner class HasDefaultVarargTest { @Test fun hasArgs() { - val r = mapper.readValue("""{"v":["foo","bar",null]}""") + val r = defaultMapper.readValue("""{"v":["foo","bar",null]}""") assertEquals(listOf("foo", "bar", null), r.v.asList()) } @Test fun empty() { - val r = mapper.readValue("""{"v":[]}""") + val r = defaultMapper.readValue("""{"v":[]}""") assertTrue(r.v.isEmpty()) } @Test fun undefined() { - val r = mapper.readValue("""{}""") + val r = defaultMapper.readValue("""{}""") assertEquals(listOf("foo", "bar"), r.v.asList()) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/deserializer/MissingAbsentValueTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/deserializer/MissingAbsentValueTest.kt index a3cb6cd4..403c4d99 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/deserializer/MissingAbsentValueTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/deserializer/MissingAbsentValueTest.kt @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonParser import com.fasterxml.jackson.databind.DeserializationContext import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.fasterxml.jackson.databind.deser.std.StdDeserializer -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -20,13 +20,12 @@ class MissingAbsentValueTest { data class D( @JsonDeserialize(using = Deser::class) val foo: Int, - @JsonDeserialize(using = Deser::class) val bar: Int? + @JsonDeserialize(using = Deser::class) val bar: Int?, ) @Test fun test() { - val mapper = jacksonObjectMapper() - val result = mapper.readValue("{}") + val result = defaultMapper.readValue("{}") assertEquals(D(-1, -1), result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByConstructorWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByConstructorWithDefaultArgumentsTest.kt index a1d14512..8d778721 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByConstructorWithDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByConstructorWithDefaultArgumentsTest.kt @@ -45,7 +45,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p28: String = "28", val p29: String = "29", val p30: String = "30", - val p31: String = "31" + val p31: String = "31", ) @Test @@ -86,7 +86,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p29: String = "29", val p30: String = "30", val p31: String = "31", - val p32: String = "32" + val p32: String = "32", ) @Test @@ -158,7 +158,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p60: String = "60", val p61: String = "61", val p62: String = "62", - val p63: String = "63" + val p63: String = "63", ) @Test @@ -231,7 +231,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p61: String = "61", val p62: String = "62", val p63: String = "63", - val p64: String = "64" + val p64: String = "64", ) @Test @@ -485,7 +485,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p241: String = "241", val p242: String = "242", val p243: String = "243", - val p244: String = "244" + val p244: String = "244", ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByConstructorWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByConstructorWithoutDefaultArgumentsTest.kt index caf358e0..2dc1138a 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByConstructorWithoutDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByConstructorWithoutDefaultArgumentsTest.kt @@ -45,7 +45,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p28: String, val p29: String, val p30: String, - val p31: String + val p31: String, ) @Test @@ -88,7 +88,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p29: String, val p30: String, val p31: String, - val p32: String + val p32: String, ) @Test @@ -162,7 +162,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p60: String, val p61: String, val p62: String, - val p63: String + val p63: String, ) @Test @@ -237,7 +237,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p61: String, val p62: String, val p63: String, - val p64: String + val p64: String, ) @Test @@ -502,7 +502,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p250: String, val p251: String, val p252: String, - val p253: String + val p253: String, ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByFactoryWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByFactoryWithDefaultArgumentsTest.kt index d6b628de..338fc127 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByFactoryWithDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByFactoryWithDefaultArgumentsTest.kt @@ -45,7 +45,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p28: String, val p29: String, val p30: String, - val p31: String + val p31: String, ) { companion object { @JvmStatic @@ -82,7 +82,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q28: String = "p28", q29: String = "p29", q30: String = "p30", - q31: String = "p31" + q31: String = "p31", ) = Dst32( q00, q01, @@ -115,7 +115,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q28, q29, q30, - q31 + q31, ) } } @@ -158,7 +158,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p29: String, val p30: String, val p31: String, - val p32: String + val p32: String, ) { companion object { @JvmStatic @@ -196,7 +196,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q29: String = "p29", q30: String = "p30", q31: String = "p31", - q32: String = "p32" + q32: String = "p32", ) = Dst33( q00, q01, @@ -230,7 +230,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q29, q30, q31, - q32 + q32, ) } } @@ -304,7 +304,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p60: String, val p61: String, val p62: String, - val p63: String + val p63: String, ) { companion object { @JvmStatic @@ -373,7 +373,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q60: String = "p60", q61: String = "p61", q62: String = "p62", - q63: String = "p63" + q63: String = "p63", ) = Dst64( q00, q01, @@ -438,7 +438,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q60, q61, q62, - q63 + q63, ) } } @@ -513,7 +513,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p61: String, val p62: String, val p63: String, - val p64: String + val p64: String, ) { companion object { @JvmStatic @@ -583,7 +583,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q61: String = "p61", q62: String = "p62", q63: String = "p63", - q64: String = "p64" + q64: String = "p64", ) = Dst65( q00, q01, @@ -649,7 +649,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q61, q62, q63, - q64 + q64, ) } } @@ -904,7 +904,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p240: String, val p241: String, val p242: String, - val p243: String + val p243: String, ) { companion object { @JvmStatic @@ -1153,7 +1153,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q240: String = "p240", q241: String = "p241", q242: String = "p242", - q243: String = "p243" + q243: String = "p243", ) = DstMax( q000, q001, @@ -1398,7 +1398,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q240, q241, q242, - q243 + q243, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByFactoryWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByFactoryWithoutDefaultArgumentsTest.kt index e6ca440b..9dd5bb9a 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByFactoryWithoutDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/parameterSize/DeserializeByFactoryWithoutDefaultArgumentsTest.kt @@ -49,7 +49,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p28: String, val p29: String, val p30: String, - val p31: String + val p31: String, ) { companion object { @JvmStatic @@ -86,7 +86,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q28: String, q29: String, q30: String, - q31: String + q31: String, ) = Dst32( q00, q01, @@ -119,7 +119,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q28, q29, q30, - q31 + q31, ) } } @@ -164,7 +164,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p29: String, val p30: String, val p31: String, - val p32: String + val p32: String, ) { companion object { @JvmStatic @@ -202,7 +202,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q29: String, q30: String, q31: String, - q32: String + q32: String, ) = Dst33( q00, q01, @@ -236,7 +236,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q29, q30, q31, - q32 + q32, ) } } @@ -312,7 +312,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p60: String, val p61: String, val p62: String, - val p63: String + val p63: String, ) { companion object { @JvmStatic @@ -381,7 +381,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q60: String, q61: String, q62: String, - q63: String + q63: String, ) = Dst64( q00, q01, @@ -446,7 +446,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q60, q61, q62, - q63 + q63, ) } } @@ -523,7 +523,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p61: String, val p62: String, val p63: String, - val p64: String + val p64: String, ) { companion object { @JvmStatic @@ -593,7 +593,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q61: String, q62: String, q63: String, - q64: String + q64: String, ) = Dst65( q00, q01, @@ -659,7 +659,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q61, q62, q63, - q64 + q64, ) } } @@ -926,7 +926,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p250: String, val p251: String, val p252: String, - val p253: String + val p253: String, ) { companion object { @JvmStatic @@ -1185,7 +1185,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q250: String, q251: String, q252: String, - q253: String + q253: String, ) = DstMax( q000, q001, @@ -1440,7 +1440,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q250, q251, q252, - q253 + q253, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/JacksonInjectTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/JacksonInjectTest.kt index ffd6f615..56a4cf99 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/JacksonInjectTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/JacksonInjectTest.kt @@ -26,36 +26,58 @@ class JacksonInjectTest { @get:JacksonInject("noNNn") val noNNn: NullableObject?, @get:JacksonInject("noNN") - val noNN: NullableObject? + val noNN: NullableObject?, + @get:JacksonInject("npNnNn") + val npNnNn: NullablePrimitive, + @get:JacksonInject("npNnN") + val npNnN: NullablePrimitive, + @get:JacksonInject("npNNn") + val npNNn: NullablePrimitive?, + @get:JacksonInject("npNN") + val npNN: NullablePrimitive?, + @get:JacksonInject("tupNn") + val tupNn: TwoUnitPrimitive, + @get:JacksonInject("tupN") + val tupN: TwoUnitPrimitive?, ) @Test fun test() { - val injectables = InjectableValues.Std( - mapOf( - "pNn" to Primitive(0), - "pN" to Primitive(1), - "nnoNn" to NonNullObject("nnoNn"), - "nnoN" to NonNullObject("nnoN"), - "noNnNn" to NullableObject("noNnNn"), - "noNnN" to NullableObject(null), - "noNNn" to NullableObject("noNNn"), - "noNN" to NullableObject(null) - ) + val injectables = mapOf( + "pNn" to Primitive(0), + "pN" to Primitive(1), + "nnoNn" to NonNullObject("nnoNn"), + "nnoN" to NonNullObject("nnoN"), + "noNnNn" to NullableObject("noNnNn"), + "noNnN" to NullableObject(null), + "noNNn" to NullableObject("noNNn"), + "noNN" to NullableObject(null), + "npNnNn" to NullablePrimitive(0), + "npNnN" to NullablePrimitive(null), + "npNNn" to NullablePrimitive(1), + "npNN" to NullablePrimitive(null), + "tupNn" to TwoUnitPrimitive(3), + "tupN" to TwoUnitPrimitive(4), ) val reader = jacksonObjectMapper() .readerFor(Dto::class.java) - .with(injectables) + .with(InjectableValues.Std(injectables)) + + val result = reader.readValue("{}") + val expected = ::Dto.let { ctor -> + val args = ctor.parameters.associateWith { injectables[it.name] } + ctor.callBy(args) + } - println(reader.readValue("{}")) + assertEquals(expected, result) } data class DataBind4218FailingDto( @field:JacksonInject("pNn") val pNn: Primitive, @field:JacksonInject("pN") - val pN: Primitive? + val pN: Primitive?, ) // remove if fixed @@ -70,7 +92,7 @@ class JacksonInjectTest { val ex = assertThrows { reader.readValue("{}") } assertEquals( "Can not set final int field io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.JacksonInjectTest\$DataBind4218FailingDto.pNn to io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.Primitive", - ex.message + ex.message, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/NullableObjectEdgeCases.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/NullableObjectEdgeCases.kt index ab3c8724..21911833 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/NullableObjectEdgeCases.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/NullableObjectEdgeCases.kt @@ -7,8 +7,8 @@ import com.fasterxml.jackson.databind.DeserializationContext import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.fasterxml.jackson.databind.deser.std.StdDeserializer import com.fasterxml.jackson.databind.exc.ValueInstantiationException +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.deser.WrapsNullableValueClassDeserializer -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -32,12 +32,12 @@ class NullableObjectEdgeCases { @field:JsonDeserialize(using = NullValueDeserializer::class) val nn: VC, @field:JsonDeserialize(using = NullValueDeserializer::class) - val n: VC? + val n: VC?, ) @Test fun nullValueIsUsedPreferentially() { - val result = jacksonObjectMapper().readValue("""{"nn":null,"n":null}""") + val result = defaultMapper.readValue("""{"nn":null,"n":null}""") assertEquals(NullValue(NullValueDeserializer.nv, NullValueDeserializer.nv), result) } @@ -54,14 +54,14 @@ class NullableObjectEdgeCases { @field:JsonDeserialize(using = NullsSkipDeserializerWrapsNullable::class) val nn: VC = VC("skip"), @field:JsonSetter(nulls = Nulls.SKIP) - val n: VC? = VC("skip") + val n: VC? = VC("skip"), ) // There is a problem with #51, so it is a failing test. @Test fun `Nulls_SKIP works`() { assertThrows("#51 fixed") { - val result = jacksonObjectMapper().readValue("""{"nn":null,"n":null}""") + val result = defaultMapper.readValue("""{"nn":null,"n":null}""") assertEquals(NullValue(VC("skip"), VC("skip")), result) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/ValueClasses.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/ValueClasses.kt index fad76a9e..80bcf16b 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/ValueClasses.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/ValueClasses.kt @@ -21,7 +21,7 @@ value class Primitive(val v: Int) { value class NonNullObject(val v: String) { class Deserializer : StdDeserializer(NonNullObject::class.java) { override fun deserialize(p: JsonParser, ctxt: DeserializationContext) = NonNullObject( - p.valueAsString + "-deser" + p.valueAsString + "-deser", ) } @@ -34,7 +34,7 @@ value class NonNullObject(val v: String) { value class NullableObject(val v: String?) { class DeserializerWrapsNullable : WrapsNullableValueClassDeserializer(NullableObject::class) { override fun deserialize(p: JsonParser, ctxt: DeserializationContext) = NullableObject( - p.valueAsString + "-deser" + p.valueAsString + "-deser", ) override fun getBoxedNullValue(): NullableObject = NullableObject("null-value-deser") @@ -44,3 +44,29 @@ value class NullableObject(val v: String?) { override fun deserializeKey(key: String, ctxt: DeserializationContext) = NullableObject("$key-deser") } } + +@JvmInline +value class NullablePrimitive(val v: Int?) { + class DeserializerWrapsNullable : WrapsNullableValueClassDeserializer(NullablePrimitive::class) { + override fun deserialize(p: JsonParser, ctxt: DeserializationContext) = NullablePrimitive( + p.intValue + 100, + ) + + override fun getBoxedNullValue(): NullablePrimitive = NullablePrimitive(null) + } + + class KeyDeserializer : JacksonKeyDeserializer() { + override fun deserializeKey(key: String, ctxt: DeserializationContext) = NullablePrimitive(key.toInt() + 100) + } +} + +@JvmInline +value class TwoUnitPrimitive(val v: Long) { + class Deserializer : StdDeserializer(TwoUnitPrimitive::class.java) { + override fun deserialize(p: JsonParser, ctxt: DeserializationContext): TwoUnitPrimitive = TwoUnitPrimitive(p.longValue + 100) + } + + class KeyDeserializer : JacksonKeyDeserializer() { + override fun deserializeKey(key: String, ctxt: DeserializationContext) = TwoUnitPrimitive(key.toLong() + 100) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/WithoutCustomDeserializeMethodTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/WithoutCustomDeserializeMethodTest.kt index c9ec3da5..87aa5ec9 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/WithoutCustomDeserializeMethodTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/WithoutCustomDeserializeMethodTest.kt @@ -1,7 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass import io.github.projectmapk.jackson.module.kogera.defaultMapper -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Assertions.assertEquals @@ -13,7 +12,6 @@ import java.lang.reflect.InvocationTargetException class WithoutCustomDeserializeMethodTest { companion object { - val mapper = jacksonObjectMapper() val throwable = IllegalArgumentException("test") } @@ -47,6 +45,29 @@ class WithoutCustomDeserializeMethodTest { assertNotEquals(NullableObject(null), result, "#209 has been fixed.") } } + + @Suppress("ClassName") + @Nested + inner class NullablePrimitive_ { + @Test + fun value() { + val result = defaultMapper.readValue("1") + assertEquals(NullablePrimitive(1), result) + } + + // failing + @Test + fun nullString() { + val result = defaultMapper.readValue("null") + assertNotEquals(NullablePrimitive(null), result, "#209 has been fixed.") + } + } + + @Test + fun twoUnitPrimitive() { + val result = defaultMapper.readValue("1") + assertEquals(TwoUnitPrimitive(1), result) + } } data class Dst( @@ -55,7 +76,11 @@ class WithoutCustomDeserializeMethodTest { val nnoNn: NonNullObject, val nnoN: NonNullObject?, val noNn: NullableObject, - val noN: NullableObject? + val noN: NullableObject?, + val npNn: NullablePrimitive, + val npN: NullablePrimitive?, + val tupNn: TwoUnitPrimitive, + val tupN: TwoUnitPrimitive?, ) @Test @@ -66,10 +91,14 @@ class WithoutCustomDeserializeMethodTest { NonNullObject("foo"), NonNullObject("bar"), NullableObject("baz"), - NullableObject("qux") + NullableObject("qux"), + NullablePrimitive(1), + NullablePrimitive(2), + TwoUnitPrimitive(3), + TwoUnitPrimitive(4), ) - val src = mapper.writeValueAsString(expected) - val result = mapper.readValue(src) + val src = defaultMapper.writeValueAsString(expected) + val result = defaultMapper.readValue(src) assertEquals(expected, result) } @@ -82,10 +111,14 @@ class WithoutCustomDeserializeMethodTest { NonNullObject("foo"), null, NullableObject(null), - null + null, + NullablePrimitive(null), + null, + TwoUnitPrimitive(3), + null, ) - val src = mapper.writeValueAsString(expected) - val result = mapper.readValue(src) + val src = defaultMapper.writeValueAsString(expected) + val result = defaultMapper.readValue(src) assertEquals(expected, result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NonNullObjectTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NonNullObjectTest.kt index 73d8cd06..ed79e079 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NonNullObjectTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NonNullObjectTest.kt @@ -1,26 +1,22 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.defaultArgument import com.fasterxml.jackson.annotation.JsonCreator -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NonNullObject import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test class NonNullObjectTest { - companion object { - val mapper = jacksonObjectMapper() - } - data class ByConstructor( val nn: NonNullObject = NonNullObject("foo"), val nNn: NonNullObject? = NonNullObject("bar"), - val nN: NonNullObject? = null + val nN: NonNullObject? = null, ) @Test fun byConstructorTest() { - assertEquals(ByConstructor(), mapper.readValue("{}")) + assertEquals(ByConstructor(), defaultMapper.readValue("{}")) } data class ByFactory(val nn: NonNullObject, val nNn: NonNullObject?, val nN: NonNullObject?) { @@ -30,13 +26,13 @@ class NonNullObjectTest { fun creator( nn: NonNullObject = NonNullObject("foo"), nNn: NonNullObject? = NonNullObject("bar"), - nN: NonNullObject? = null + nN: NonNullObject? = null, ) = ByFactory(nn, nNn, nN) } } @Test fun byFactoryTest() { - assertEquals(ByFactory.creator(), mapper.readValue("{}")) + assertEquals(ByFactory.creator(), defaultMapper.readValue("{}")) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NullableObjectTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NullableObjectTest.kt index 0afe09f8..fa8a704c 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NullableObjectTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NullableObjectTest.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClas import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.databind.exc.ValueInstantiationException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullableObject import org.junit.jupiter.api.Assertions.assertEquals @@ -11,21 +11,17 @@ import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows class NullableObjectTest { - companion object { - val mapper = jacksonObjectMapper() - } - data class ByConstructor( val nnNn: NullableObject = NullableObject("foo"), val nnN: NullableObject = NullableObject(null), val nNn: NullableObject? = NullableObject("bar"), - val nN: NullableObject? = null + val nN: NullableObject? = null, ) @Test fun byConstructorTestFailing() { val ex = assertThrows("Kogera #51 fixed") { - assertEquals(ByConstructor(), mapper.readValue("{}")) + assertEquals(ByConstructor(), defaultMapper.readValue("{}")) } assertTrue(ex.cause is NoSuchMethodException) } @@ -34,7 +30,7 @@ class NullableObjectTest { val nnNn: NullableObject = NullableObject("foo"), val nnN: NullableObject = NullableObject(null), val nNn: NullableObject? = NullableObject("bar"), - val nN: NullableObject? = null + val nN: NullableObject? = null, ) { companion object { @JvmStatic @@ -43,7 +39,7 @@ class NullableObjectTest { nn: NullableObject = NullableObject("foo"), nnN: NullableObject = NullableObject(null), nNn: NullableObject? = NullableObject("bar"), - nN: NullableObject? = null + nN: NullableObject? = null, ) = ByFactory(nn, nnN, nNn, nN) } } @@ -51,7 +47,7 @@ class NullableObjectTest { @Test fun byFactoryTest() { val ex = assertThrows("Kogera #51 fixed") { - assertEquals(ByFactory.creator(), mapper.readValue("{}")) + assertEquals(ByFactory.creator(), defaultMapper.readValue("{}")) } assertTrue(ex.cause is NoSuchMethodException) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NullablePrimitiveTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NullablePrimitiveTest.kt new file mode 100644 index 00000000..06596981 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/NullablePrimitiveTest.kt @@ -0,0 +1,54 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.defaultArgument + +import com.fasterxml.jackson.annotation.JsonCreator +import com.fasterxml.jackson.databind.exc.ValueInstantiationException +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows + +class NullablePrimitiveTest { + data class ByConstructor( + val nnNn: NullablePrimitive = NullablePrimitive(1), + val nnN: NullablePrimitive = NullablePrimitive(null), + val nNn: NullablePrimitive? = NullablePrimitive(2), + val nN: NullablePrimitive? = null, + ) + + @Test + fun byConstructorTestFailing() { + val ex = assertThrows("Kogera #51 fixed") { + assertEquals(ByConstructor(), defaultMapper.readValue("{}")) + } + assertTrue(ex.cause is NoSuchMethodException) + } + + data class ByFactory( + val nnNn: NullablePrimitive = NullablePrimitive(1), + val nnN: NullablePrimitive = NullablePrimitive(null), + val nNn: NullablePrimitive? = NullablePrimitive(2), + val nN: NullablePrimitive? = null, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + nnNn: NullablePrimitive = NullablePrimitive(1), + nnN: NullablePrimitive = NullablePrimitive(null), + nNn: NullablePrimitive? = NullablePrimitive(2), + nN: NullablePrimitive? = null, + ) = ByFactory(nnNn, nnN, nNn, nN) + } + } + + @Test + fun byFactoryTest() { + val ex = assertThrows("Kogera #51 fixed") { + assertEquals(ByFactory.creator(), defaultMapper.readValue("{}")) + } + assertTrue(ex.cause is NoSuchMethodException) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/PrimitiveTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/PrimitiveTest.kt index 11b94235..82daf03c 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/PrimitiveTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/PrimitiveTest.kt @@ -1,26 +1,22 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.defaultArgument import com.fasterxml.jackson.annotation.JsonCreator -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.Primitive import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test class PrimitiveTest { - companion object { - val mapper = jacksonObjectMapper() - } - data class ByConstructor( val nn: Primitive = Primitive(1), val nNn: Primitive? = Primitive(2), - val nN: Primitive? = null + val nN: Primitive? = null, ) @Test fun byConstructorTest() { - assertEquals(ByConstructor(), mapper.readValue("{}")) + assertEquals(ByConstructor(), defaultMapper.readValue("{}")) } data class ByFactory(val nn: Primitive, val nNn: Primitive?, val nN: Primitive?) { @@ -30,13 +26,13 @@ class PrimitiveTest { fun creator( nn: Primitive = Primitive(1), nNn: Primitive? = Primitive(2), - nN: Primitive? = null + nN: Primitive? = null, ) = ByFactory(nn, nNn, nN) } } @Test fun byFactoryTest() { - assertEquals(ByFactory.creator(), mapper.readValue("{}")) + assertEquals(ByFactory.creator(), defaultMapper.readValue("{}")) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/TwoUnitPrimitiveTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/TwoUnitPrimitiveTest.kt new file mode 100644 index 00000000..42ae4dff --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/defaultArgument/TwoUnitPrimitiveTest.kt @@ -0,0 +1,38 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.defaultArgument + +import com.fasterxml.jackson.annotation.JsonCreator +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Test + +class TwoUnitPrimitiveTest { + data class ByConstructor( + val nn: TwoUnitPrimitive = TwoUnitPrimitive(1), + val nNn: TwoUnitPrimitive? = TwoUnitPrimitive(2), + val nN: TwoUnitPrimitive? = null, + ) + + @Test + fun byConstructorTest() { + assertEquals(ByConstructor(), defaultMapper.readValue("{}")) + } + + data class ByFactory(val nn: TwoUnitPrimitive, val nNn: TwoUnitPrimitive?, val nN: TwoUnitPrimitive?) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + nn: TwoUnitPrimitive = TwoUnitPrimitive(1), + nNn: TwoUnitPrimitive? = TwoUnitPrimitive(2), + nN: TwoUnitPrimitive? = null, + ) = ByFactory(nn, nNn, nN) + } + } + + @Test + fun byFactoryTest() { + assertEquals(ByFactory.creator(), defaultMapper.readValue("{}")) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/SpecifiedForObjectMapperTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/SpecifiedForObjectMapperTest.kt index 692080c7..3022b2b3 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/SpecifiedForObjectMapperTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/SpecifiedForObjectMapperTest.kt @@ -5,7 +5,9 @@ import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NonNullObject import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullableObject +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.Primitive +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertNotEquals import org.junit.jupiter.api.Nested @@ -18,6 +20,8 @@ class SpecifiedForObjectMapperTest { this.addDeserializer(Primitive::class.java, Primitive.Deserializer()) this.addDeserializer(NonNullObject::class.java, NonNullObject.Deserializer()) this.addDeserializer(NullableObject::class.java, NullableObject.DeserializerWrapsNullable()) + this.addDeserializer(NullablePrimitive::class.java, NullablePrimitive.DeserializerWrapsNullable()) + this.addDeserializer(TwoUnitPrimitive::class.java, TwoUnitPrimitive.Deserializer()) } this.registerModule(module) } @@ -53,6 +57,29 @@ class SpecifiedForObjectMapperTest { assertNotEquals(NullableObject("null-value-deser"), result, "#209 has been fixed.") } } + + @Suppress("ClassName") + @Nested + inner class NullablePrimitive_ { + @Test + fun value() { + val result = mapper.readValue("1") + assertEquals(NullablePrimitive(101), result) + } + + // failing + @Test + fun nullString() { + val result = mapper.readValue("null") + assertNotEquals(NullablePrimitive(null), result, "#209 has been fixed.") + } + } + + @Test + fun twoUnitPrimitive() { + val result = mapper.readValue("1") + assertEquals(TwoUnitPrimitive(101), result) + } } data class Dst( @@ -61,7 +88,11 @@ class SpecifiedForObjectMapperTest { val nnoNn: NonNullObject, val nnoN: NonNullObject?, val noNn: NullableObject, - val noN: NullableObject? + val noN: NullableObject?, + val npNn: NullablePrimitive, + val npN: NullablePrimitive?, + val tupNn: TwoUnitPrimitive, + val tupN: TwoUnitPrimitive?, ) @Test @@ -72,7 +103,11 @@ class SpecifiedForObjectMapperTest { NonNullObject("foo"), NonNullObject("bar"), NullableObject("baz"), - NullableObject("qux") + NullableObject("qux"), + NullablePrimitive(3), + NullablePrimitive(4), + TwoUnitPrimitive(5), + TwoUnitPrimitive(6), ) val src = mapper.writeValueAsString(base) val result = mapper.readValue(src) @@ -83,7 +118,11 @@ class SpecifiedForObjectMapperTest { NonNullObject("foo-deser"), NonNullObject("bar-deser"), NullableObject("baz-deser"), - NullableObject("qux-deser") + NullableObject("qux-deser"), + NullablePrimitive(103), + NullablePrimitive(104), + TwoUnitPrimitive(105), + TwoUnitPrimitive(106), ) assertEquals(expected, result) } @@ -96,7 +135,11 @@ class SpecifiedForObjectMapperTest { NonNullObject("foo"), null, NullableObject(null), - null + null, + NullablePrimitive(3), + null, + TwoUnitPrimitive(5), + null, ) val src = mapper.writeValueAsString(base) val result = mapper.readValue(src) @@ -107,7 +150,11 @@ class SpecifiedForObjectMapperTest { NonNullObject("foo-deser"), null, NullableObject("null-value-deser"), - null + null, + NullablePrimitive(103), + null, + TwoUnitPrimitive(105), + null, ) assertEquals(expected, result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/SpecifiedForClassTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/SpecifiedForClassTest.kt index 6134f481..0842524c 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/SpecifiedForClassTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/SpecifiedForClassTest.kt @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonParser import com.fasterxml.jackson.databind.DeserializationContext import com.fasterxml.jackson.databind.annotation.JsonDeserialize import com.fasterxml.jackson.databind.deser.std.StdDeserializer -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -20,8 +20,7 @@ class SpecifiedForClassTest { @Test fun directDeserTest() { - val mapper = jacksonObjectMapper() - val result = mapper.readValue("1") + val result = defaultMapper.readValue("1") assertEquals(Value(101), result) } @@ -30,8 +29,7 @@ class SpecifiedForClassTest { @Test fun paramDeserTest() { - val mapper = jacksonObjectMapper() - val result = mapper.readValue("""{"v":1}""") + val result = defaultMapper.readValue("""{"v":1}""") assertEquals(Wrapper(Value(101)), result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NonNullObjectTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NonNullObjectTest.kt index 87ce877c..5802faf9 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NonNullObjectTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NonNullObjectTest.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.deserializer.byAnnotation.specifiedForProperty import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NonNullObject import org.junit.jupiter.api.Assertions.assertEquals @@ -9,26 +9,22 @@ import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test class NonNullObjectTest { - companion object { - val mapper = jacksonObjectMapper() - } - data class NonNull( @get:JsonDeserialize(using = NonNullObject.Deserializer::class) val getterAnn: NonNullObject, @field:JsonDeserialize(using = NonNullObject.Deserializer::class) - val fieldAnn: NonNullObject + val fieldAnn: NonNullObject, ) @Test fun nonNull() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : "foo", "fieldAnn" : "bar" } - """.trimIndent() + """.trimIndent(), ) assertEquals(NonNull(NonNullObject("foo-deser"), NonNullObject("bar-deser")), result) } @@ -37,33 +33,33 @@ class NonNullObjectTest { @get:JsonDeserialize(using = NonNullObject.Deserializer::class) val getterAnn: NonNullObject?, @field:JsonDeserialize(using = NonNullObject.Deserializer::class) - val fieldAnn: NonNullObject? + val fieldAnn: NonNullObject?, ) @Nested inner class NullableTest { @Test fun nonNullInput() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : "foo", "fieldAnn" : "bar" } - """.trimIndent() + """.trimIndent(), ) assertEquals(Nullable(NonNullObject("foo-deser"), NonNullObject("bar-deser")), result) } @Test fun nullInput() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : null, "fieldAnn" : null } - """.trimIndent() + """.trimIndent(), ) assertEquals(Nullable(null, null), result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NullableObjectTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NullableObjectTest.kt index 0b2799f8..6014af45 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NullableObjectTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NullableObjectTest.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.deserializer.byAnnotation.specifiedForProperty import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullableObject import org.junit.jupiter.api.Assertions.assertEquals @@ -9,26 +9,22 @@ import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test class NullableObjectTest { - companion object { - val mapper = jacksonObjectMapper() - } - data class NonNull( @get:JsonDeserialize(using = NullableObject.DeserializerWrapsNullable::class) val getterAnn: NullableObject, @field:JsonDeserialize(using = NullableObject.DeserializerWrapsNullable::class) - val fieldAnn: NullableObject + val fieldAnn: NullableObject, ) @Test fun nonNull() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : "foo", "fieldAnn" : "bar" } - """.trimIndent() + """.trimIndent(), ) assertEquals(NonNull(NullableObject("foo-deser"), NullableObject("bar-deser")), result) } @@ -37,33 +33,33 @@ class NullableObjectTest { @get:JsonDeserialize(using = NullableObject.DeserializerWrapsNullable::class) val getterAnn: NullableObject?, @field:JsonDeserialize(using = NullableObject.DeserializerWrapsNullable::class) - val fieldAnn: NullableObject? + val fieldAnn: NullableObject?, ) @Nested inner class NullableTest { @Test fun nonNullInput() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : "foo", "fieldAnn" : "bar" } - """.trimIndent() + """.trimIndent(), ) assertEquals(Nullable(NullableObject("foo-deser"), NullableObject("bar-deser")), result) } @Test fun nullInput() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : null, "fieldAnn" : null } - """.trimIndent() + """.trimIndent(), ) assertEquals(Nullable(null, null), result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NullablePrimitiveTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NullablePrimitiveTest.kt new file mode 100644 index 00000000..775cf528 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/NullablePrimitiveTest.kt @@ -0,0 +1,67 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.deserializer.byAnnotation.specifiedForProperty + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test + +class NullablePrimitiveTest { + data class NonNull( + @get:JsonDeserialize(using = NullablePrimitive.DeserializerWrapsNullable::class) + val getterAnn: NullablePrimitive, + @field:JsonDeserialize(using = NullablePrimitive.DeserializerWrapsNullable::class) + val fieldAnn: NullablePrimitive, + ) + + @Test + fun nonNull() { + val result = defaultMapper.readValue( + """ + { + "getterAnn" : 1, + "fieldAnn" : 2 + } + """.trimIndent(), + ) + assertEquals(NonNull(NullablePrimitive(101), NullablePrimitive(102)), result) + } + + data class Nullable( + @get:JsonDeserialize(using = NullablePrimitive.DeserializerWrapsNullable::class) + val getterAnn: NullablePrimitive?, + @field:JsonDeserialize(using = NullablePrimitive.DeserializerWrapsNullable::class) + val fieldAnn: NullablePrimitive?, + ) + + @Nested + inner class NullableTest { + @Test + fun nonNullInput() { + val result = defaultMapper.readValue( + """ + { + "getterAnn" : 1, + "fieldAnn" : 2 + } + """.trimIndent(), + ) + assertEquals(Nullable(NullablePrimitive(101), NullablePrimitive(102)), result) + } + + @Test + fun nullInput() { + val result = defaultMapper.readValue( + """ + { + "getterAnn" : null, + "fieldAnn" : null + } + """.trimIndent(), + ) + assertEquals(Nullable(null, null), result) + } + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/PrimitiveTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/PrimitiveTest.kt index 25611d21..01473ccc 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/PrimitiveTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/PrimitiveTest.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.deserializer.byAnnotation.specifiedForProperty import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.Primitive import org.junit.jupiter.api.Assertions.assertEquals @@ -9,26 +9,22 @@ import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test class PrimitiveTest { - companion object { - val mapper = jacksonObjectMapper() - } - data class NonNull( @get:JsonDeserialize(using = Primitive.Deserializer::class) val getterAnn: Primitive, @field:JsonDeserialize(using = Primitive.Deserializer::class) - val fieldAnn: Primitive + val fieldAnn: Primitive, ) @Test fun nonNull() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : 1, "fieldAnn" : 2 } - """.trimIndent() + """.trimIndent(), ) assertEquals(NonNull(Primitive(101), Primitive(102)), result) } @@ -37,33 +33,33 @@ class PrimitiveTest { @get:JsonDeserialize(using = Primitive.Deserializer::class) val getterAnn: Primitive?, @field:JsonDeserialize(using = Primitive.Deserializer::class) - val fieldAnn: Primitive? + val fieldAnn: Primitive?, ) @Nested inner class NullableTest { @Test fun nonNullInput() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : 1, "fieldAnn" : 2 } - """.trimIndent() + """.trimIndent(), ) assertEquals(Nullable(Primitive(101), Primitive(102)), result) } @Test fun nullInput() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """ { "getterAnn" : null, "fieldAnn" : null } - """.trimIndent() + """.trimIndent(), ) assertEquals(Nullable(null, null), result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/TwoUnitPrimitiveTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/TwoUnitPrimitiveTest.kt new file mode 100644 index 00000000..68eb63ea --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/deserializer/byAnnotation/specifiedForProperty/TwoUnitPrimitiveTest.kt @@ -0,0 +1,67 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.deserializer.byAnnotation.specifiedForProperty + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test + +class TwoUnitPrimitiveTest { + data class NonNull( + @get:JsonDeserialize(using = TwoUnitPrimitive.Deserializer::class) + val getterAnn: TwoUnitPrimitive, + @field:JsonDeserialize(using = TwoUnitPrimitive.Deserializer::class) + val fieldAnn: TwoUnitPrimitive, + ) + + @Test + fun nonNull() { + val result = defaultMapper.readValue( + """ + { + "getterAnn" : 1, + "fieldAnn" : 2 + } + """.trimIndent(), + ) + assertEquals(NonNull(TwoUnitPrimitive(101), TwoUnitPrimitive(102)), result) + } + + data class Nullable( + @get:JsonDeserialize(using = TwoUnitPrimitive.Deserializer::class) + val getterAnn: TwoUnitPrimitive?, + @field:JsonDeserialize(using = TwoUnitPrimitive.Deserializer::class) + val fieldAnn: TwoUnitPrimitive?, + ) + + @Nested + inner class NullableTest { + @Test + fun nonNullInput() { + val result = defaultMapper.readValue( + """ + { + "getterAnn" : 1, + "fieldAnn" : 2 + } + """.trimIndent(), + ) + assertEquals(Nullable(TwoUnitPrimitive(101), TwoUnitPrimitive(102)), result) + } + + @Test + fun nullInput() { + val result = defaultMapper.readValue( + """ + { + "getterAnn" : null, + "fieldAnn" : null + } + """.trimIndent(), + ) + assertEquals(Nullable(null, null), result) + } + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/HandledByJacksonTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/HandledByJacksonTest.kt index 7f5735df..cedb6327 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/HandledByJacksonTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/HandledByJacksonTest.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.jsonCreator import com.fasterxml.jackson.annotation.JsonCreator -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -15,15 +15,14 @@ class HandledByJacksonTest { @JvmStatic @JsonCreator fun creator(first: Int, second: Int): PrimitiveMultiParamCreator? = PrimitiveMultiParamCreator( - first + second + first + second, ) } } @Test fun primitiveNullableCreatorTest() { - val mapper = jacksonObjectMapper() - val r: PrimitiveMultiParamCreator = mapper.readValue("""{"first":1,"second":2}""") + val r: PrimitiveMultiParamCreator = defaultMapper.readValue("""{"first":1,"second":2}""") assertEquals(PrimitiveMultiParamCreator(3), r) } @@ -34,15 +33,14 @@ class HandledByJacksonTest { @JvmStatic @JsonCreator fun creator(first: Int, second: Int): NullableObjectMultiParamCreator? = NullableObjectMultiParamCreator( - first + second + first + second, ) } } @Test fun nullableObjectNullableCreatorTest() { - val mapper = jacksonObjectMapper() - val r: NullableObjectMultiParamCreator = mapper.readValue("""{"first":1,"second":2}""") + val r: NullableObjectMultiParamCreator = defaultMapper.readValue("""{"first":1,"second":2}""") assertEquals(NullableObjectMultiParamCreator(3), r) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/HandledByKogeraTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/HandledByKogeraTest.kt index 6db5dbf2..7c23b4ca 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/HandledByKogeraTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/HandledByKogeraTest.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClas import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.databind.exc.InvalidDefinitionException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -29,40 +29,36 @@ class HandledByKogeraTest { @Test fun directDeserTest() { - val mapper = jacksonObjectMapper() - - assertEquals(SpecifiedPrimary("b"), mapper.readValue("\"b\"")) - assertEquals(Secondary("1-creator"), mapper.readValue("1")) - assertEquals(Factory(101), mapper.readValue("1")) + assertEquals(SpecifiedPrimary("b"), defaultMapper.readValue("\"b\"")) + assertEquals(Secondary("1-creator"), defaultMapper.readValue("1")) + assertEquals(Factory(101), defaultMapper.readValue("1")) } data class Dst( val bar: SpecifiedPrimary, val baz: Secondary, - val qux: Factory + val qux: Factory, ) @Test fun parameterTest() { - val mapper = jacksonObjectMapper() - - val r = mapper.readValue( + val r = defaultMapper.readValue( """ { "bar":"b", "baz":1, "qux":1 } - """.trimIndent() + """.trimIndent(), ) assertEquals( Dst( SpecifiedPrimary("b"), Secondary("1-creator"), - Factory(101) + Factory(101), ), - r + r, ) } @@ -83,13 +79,11 @@ class HandledByKogeraTest { // A Creator that requires multiple arguments is basically an error. @Test fun handleErrorTest() { - val mapper = jacksonObjectMapper() - assertThrows { - mapper.readValue("""{"v1":"1","v2":"2"}""") + defaultMapper.readValue("""{"v1":"1","v2":"2"}""") } assertThrows { - mapper.readValue("""{"v1":1,"v2":2}""") + defaultMapper.readValue("""{"v1":1,"v2":2}""") } } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/InCreatorArgumentTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/InCreatorArgumentTest.kt index 8719620c..51fabdae 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/InCreatorArgumentTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/jsonCreator/InCreatorArgumentTest.kt @@ -1,17 +1,21 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.jsonCreator import com.fasterxml.jackson.annotation.JsonCreator -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NonNullObject import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullableObject +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.Primitive +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test private fun Primitive.modify(): Primitive = Primitive(v + 100) private fun NonNullObject.modify(): NonNullObject = NonNullObject("$v-creator") private fun NullableObject.modify(): NullableObject = NullableObject(v!! + "-creator") +private fun NullablePrimitive.modify(): NullablePrimitive = NullablePrimitive(v!! + 100) +private fun TwoUnitPrimitive.modify(): TwoUnitPrimitive = TwoUnitPrimitive(v + 100) class InCreatorArgumentTest { data class Dst( @@ -20,7 +24,11 @@ class InCreatorArgumentTest { val nnoNn: NonNullObject, val nnoN: NonNullObject?, val noNn: NullableObject, - val noN: NullableObject? + val noN: NullableObject?, + val npNn: NullablePrimitive, + val npN: NullablePrimitive?, + val tupNn: TwoUnitPrimitive, + val tupN: TwoUnitPrimitive?, ) { companion object { @JvmStatic @@ -31,30 +39,41 @@ class InCreatorArgumentTest { nnoNn: NonNullObject, nnoN: NonNullObject?, noNn: NullableObject, - noN: NullableObject? + noN: NullableObject?, + npNn: NullablePrimitive, + npN: NullablePrimitive?, + tupNn: TwoUnitPrimitive, + tupN: TwoUnitPrimitive?, ) = Dst( pNn.modify(), pN?.modify(), nnoNn.modify(), nnoN?.modify(), noNn.modify(), - noN?.modify() + noN?.modify(), + npNn.modify(), + npN?.modify(), + tupNn.modify(), + tupN?.modify(), ) } } @Test fun test() { - val mapper = jacksonObjectMapper() val base = Dst( Primitive(1), Primitive(2), NonNullObject("nnoNn"), NonNullObject("nnoN"), NullableObject("noNn"), - NullableObject("noN") + NullableObject("noN"), + NullablePrimitive(3), + NullablePrimitive(4), + TwoUnitPrimitive(5), + TwoUnitPrimitive(6), ) - val result = mapper.readValue(mapper.writeValueAsString(base)) + val result = defaultMapper.readValue(defaultMapper.writeValueAsString(base)) assertEquals( base.copy( @@ -63,9 +82,13 @@ class InCreatorArgumentTest { nnoNn = base.nnoNn.modify(), nnoN = base.nnoN?.modify(), noNn = base.noNn.modify(), - noN = base.noN?.modify() + noN = base.noN?.modify(), + npNn = base.npNn.modify(), + npN = base.npN?.modify(), + tupNn = base.tupNn.modify(), + tupN = base.tupN?.modify(), ), - result + result, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/WithoutCustomDeserializeMethodTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/WithoutCustomDeserializeMethodTest.kt index 96e522f2..35c0c7d1 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/WithoutCustomDeserializeMethodTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/WithoutCustomDeserializeMethodTest.kt @@ -9,7 +9,9 @@ import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NonNullObject import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullableObject +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.Primitive +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Nested @@ -42,12 +44,26 @@ class WithoutCustomDeserializeMethodTest { val result = defaultMapper.readValue>("""{"bar":null}""") assertEquals(mapOf(NullableObject("bar") to null), result) } + + @Test + fun nullablePrimitive() { + val result = defaultMapper.readValue>("""{"2":null}""") + assertEquals(mapOf(NullablePrimitive(2) to null), result) + } + + @Test + fun twoUnitPrimitive() { + val result = defaultMapper.readValue>("""{"1":null}""") + assertEquals(mapOf(TwoUnitPrimitive(1) to null), result) + } } data class Dst( val p: Map, val nn: Map, - val n: Map + val n: Map, + val np: Map, + val tup: Map, ) @Test @@ -56,14 +72,18 @@ class WithoutCustomDeserializeMethodTest { { "p":{"1":null}, "nn":{"foo":null}, - "n":{"bar":null} + "n":{"bar":null}, + "np":{"2":null}, + "tup":{"2":null} } """.trimIndent() val result = defaultMapper.readValue(src) val expected = Dst( mapOf(Primitive(1) to null), mapOf(NonNullObject("foo") to null), - mapOf(NullableObject("bar") to null) + mapOf(NullableObject("bar") to null), + mapOf(NullablePrimitive(2) to null), + mapOf(TwoUnitPrimitive(2) to null), ) assertEquals(expected, result) @@ -109,7 +129,7 @@ class WithoutCustomDeserializeMethodTest { init { addKeyDeserializer(Wrapped::class.java, Wrapped.KeyDeserializer()) } - } + }, ) val result = mapper.readValue>("""{"foo-bar":null}""") diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/SpecifiedForObjectMapperTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/SpecifiedForObjectMapperTest.kt index ab2a28fe..41575c38 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/SpecifiedForObjectMapperTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/SpecifiedForObjectMapperTest.kt @@ -5,7 +5,9 @@ import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NonNullObject import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullableObject +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.Primitive +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test @@ -17,6 +19,8 @@ class SpecifiedForObjectMapperTest { this.addKeyDeserializer(Primitive::class.java, Primitive.KeyDeserializer()) this.addKeyDeserializer(NonNullObject::class.java, NonNullObject.KeyDeserializer()) this.addKeyDeserializer(NullableObject::class.java, NullableObject.KeyDeserializer()) + this.addKeyDeserializer(NullablePrimitive::class.java, NullablePrimitive.KeyDeserializer()) + this.addKeyDeserializer(TwoUnitPrimitive::class.java, TwoUnitPrimitive.KeyDeserializer()) } this.registerModule(module) } @@ -41,12 +45,26 @@ class SpecifiedForObjectMapperTest { val result = mapper.readValue>("""{"bar":null}""") assertEquals(mapOf(NullableObject("bar-deser") to null), result) } + + @Test + fun nullablePrimitive() { + val result = mapper.readValue>("""{"2":null}""") + assertEquals(mapOf(NullablePrimitive(102) to null), result) + } + + @Test + fun twoUnitPrimitive() { + val result = mapper.readValue>("""{"1":null}""") + assertEquals(mapOf(TwoUnitPrimitive(101) to null), result) + } } data class Dst( val p: Map, val nn: Map, - val n: Map + val n: Map, + val np: Map, + val tup: Map, ) @Test @@ -55,14 +73,18 @@ class SpecifiedForObjectMapperTest { { "p":{"1":null}, "nn":{"foo":null}, - "n":{"bar":null} + "n":{"bar":null}, + "np":{"2":null}, + "tup":{"1":null} } """.trimIndent() val result = mapper.readValue(src) val expected = Dst( mapOf(Primitive(101) to null), mapOf(NonNullObject("foo-deser") to null), - mapOf(NullableObject("bar-deser") to null) + mapOf(NullableObject("bar-deser") to null), + mapOf(NullablePrimitive(102) to null), + mapOf(TwoUnitPrimitive(101) to null), ) assertEquals(expected, result) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/byAnnotation/SpecifiedForClassTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/byAnnotation/SpecifiedForClassTest.kt index 7ebe210a..2e48ae02 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/byAnnotation/SpecifiedForClassTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/byAnnotation/SpecifiedForClassTest.kt @@ -3,7 +3,6 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClas import com.fasterxml.jackson.databind.DeserializationContext import com.fasterxml.jackson.databind.annotation.JsonDeserialize import io.github.projectmapk.jackson.module.kogera.defaultMapper -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -29,7 +28,7 @@ class SpecifiedForClassTest { @Test fun paramDeserTest() { - val mapper = jacksonObjectMapper() + val mapper = defaultMapper val result = mapper.readValue("""{"v":{"1":null}}""") assertEquals(Wrapper(mapOf(Value(101) to null)), result) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/byAnnotation/SpecifiedForPropertyTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/byAnnotation/SpecifiedForPropertyTest.kt index 1435890f..a899b7ec 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/byAnnotation/SpecifiedForPropertyTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/mapKey/keyDeserializer/byAnnotation/SpecifiedForPropertyTest.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClas import com.fasterxml.jackson.databind.DeserializationContext import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -20,8 +20,7 @@ class SpecifiedForPropertyTest { @Test fun paramDeserTest() { - val mapper = jacksonObjectMapper() - val result = mapper.readValue("""{"v":{"1":null}}""") + val result = defaultMapper.readValue("""{"v":{"1":null}}""") assertEquals(Wrapper(mapOf(Value(101) to null)), result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByConstructorWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByConstructorWithDefaultArgumentsTest.kt index 1f688f86..79ff1311 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByConstructorWithDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByConstructorWithDefaultArgumentsTest.kt @@ -46,7 +46,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p28: NonNullObject = NonNullObject("28"), val p29: NonNullObject = NonNullObject("29"), val p30: NonNullObject = NonNullObject("30"), - val p31: NonNullObject = NonNullObject("31") + val p31: NonNullObject = NonNullObject("31"), ) @Test @@ -87,7 +87,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p29: NonNullObject = NonNullObject("29"), val p30: NonNullObject = NonNullObject("30"), val p31: NonNullObject = NonNullObject("31"), - val p32: NonNullObject = NonNullObject("32") + val p32: NonNullObject = NonNullObject("32"), ) @Test @@ -159,7 +159,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p60: NonNullObject = NonNullObject("60"), val p61: NonNullObject = NonNullObject("61"), val p62: NonNullObject = NonNullObject("62"), - val p63: NonNullObject = NonNullObject("63") + val p63: NonNullObject = NonNullObject("63"), ) @Test @@ -232,7 +232,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p61: NonNullObject = NonNullObject("61"), val p62: NonNullObject = NonNullObject("62"), val p63: NonNullObject = NonNullObject("63"), - val p64: NonNullObject = NonNullObject("64") + val p64: NonNullObject = NonNullObject("64"), ) @Test @@ -486,7 +486,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p241: NonNullObject = NonNullObject("241"), val p242: NonNullObject = NonNullObject("242"), val p243: NonNullObject = NonNullObject("243"), - val p244: NonNullObject = NonNullObject("244") + val p244: NonNullObject = NonNullObject("244"), ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByConstructorWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByConstructorWithoutDefaultArgumentsTest.kt index 87d500ea..92c02e81 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByConstructorWithoutDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByConstructorWithoutDefaultArgumentsTest.kt @@ -47,7 +47,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p28: NonNullObject, val p29: NonNullObject, val p30: NonNullObject, - val p31: NonNullObject + val p31: NonNullObject, ) @Test @@ -90,7 +90,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p29: NonNullObject, val p30: NonNullObject, val p31: NonNullObject, - val p32: NonNullObject + val p32: NonNullObject, ) @Test @@ -164,7 +164,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p60: NonNullObject, val p61: NonNullObject, val p62: NonNullObject, - val p63: NonNullObject + val p63: NonNullObject, ) @Test @@ -239,7 +239,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p61: NonNullObject, val p62: NonNullObject, val p63: NonNullObject, - val p64: NonNullObject + val p64: NonNullObject, ) @Test @@ -503,7 +503,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p249: NonNullObject, val p250: NonNullObject, val p251: NonNullObject, - val p252: NonNullObject + val p252: NonNullObject, ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByFactoryWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByFactoryWithDefaultArgumentsTest.kt index 23566bbb..9c85b3db 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByFactoryWithDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByFactoryWithDefaultArgumentsTest.kt @@ -46,7 +46,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p28: NonNullObject, val p29: NonNullObject, val p30: NonNullObject, - val p31: NonNullObject + val p31: NonNullObject, ) { companion object { @JvmStatic @@ -83,7 +83,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q28: NonNullObject = NonNullObject("p28"), q29: NonNullObject = NonNullObject("p29"), q30: NonNullObject = NonNullObject("p30"), - q31: NonNullObject = NonNullObject("p31") + q31: NonNullObject = NonNullObject("p31"), ) = Dst32( q00, q01, @@ -116,7 +116,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q28, q29, q30, - q31 + q31, ) } } @@ -159,7 +159,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p29: NonNullObject, val p30: NonNullObject, val p31: NonNullObject, - val p32: NonNullObject + val p32: NonNullObject, ) { companion object { @JvmStatic @@ -197,7 +197,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q29: NonNullObject = NonNullObject("p29"), q30: NonNullObject = NonNullObject("p30"), q31: NonNullObject = NonNullObject("p31"), - q32: NonNullObject = NonNullObject("p32") + q32: NonNullObject = NonNullObject("p32"), ) = Dst33( q00, q01, @@ -231,7 +231,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q29, q30, q31, - q32 + q32, ) } } @@ -305,7 +305,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p60: NonNullObject, val p61: NonNullObject, val p62: NonNullObject, - val p63: NonNullObject + val p63: NonNullObject, ) { companion object { @JvmStatic @@ -374,7 +374,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q60: NonNullObject = NonNullObject("p60"), q61: NonNullObject = NonNullObject("p61"), q62: NonNullObject = NonNullObject("p62"), - q63: NonNullObject = NonNullObject("p63") + q63: NonNullObject = NonNullObject("p63"), ) = Dst64( q00, q01, @@ -439,7 +439,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q60, q61, q62, - q63 + q63, ) } } @@ -514,7 +514,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p61: NonNullObject, val p62: NonNullObject, val p63: NonNullObject, - val p64: NonNullObject + val p64: NonNullObject, ) { companion object { @JvmStatic @@ -584,7 +584,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q61: NonNullObject = NonNullObject("p61"), q62: NonNullObject = NonNullObject("p62"), q63: NonNullObject = NonNullObject("p63"), - q64: NonNullObject = NonNullObject("p64") + q64: NonNullObject = NonNullObject("p64"), ) = Dst65( q00, q01, @@ -650,7 +650,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q61, q62, q63, - q64 + q64, ) } } @@ -905,7 +905,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p240: NonNullObject, val p241: NonNullObject, val p242: NonNullObject, - val p243: NonNullObject + val p243: NonNullObject, ) { companion object { @JvmStatic @@ -1154,7 +1154,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q240: NonNullObject = NonNullObject("p240"), q241: NonNullObject = NonNullObject("p241"), q242: NonNullObject = NonNullObject("p242"), - q243: NonNullObject = NonNullObject("p243") + q243: NonNullObject = NonNullObject("p243"), ) = DstMax( q000, q001, @@ -1399,7 +1399,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q240, q241, q242, - q243 + q243, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByFactoryWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByFactoryWithoutDefaultArgumentsTest.kt index 137efe2b..9c791839 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByFactoryWithoutDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nonNullObject/DeserializeByFactoryWithoutDefaultArgumentsTest.kt @@ -51,7 +51,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p28: NonNullObject, val p29: NonNullObject, val p30: NonNullObject, - val p31: NonNullObject + val p31: NonNullObject, ) { companion object { @JvmStatic @@ -88,7 +88,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q28: NonNullObject, q29: NonNullObject, q30: NonNullObject, - q31: NonNullObject + q31: NonNullObject, ) = Dst32( q00, q01, @@ -121,7 +121,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q28, q29, q30, - q31 + q31, ) } } @@ -166,7 +166,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p29: NonNullObject, val p30: NonNullObject, val p31: NonNullObject, - val p32: NonNullObject + val p32: NonNullObject, ) { companion object { @JvmStatic @@ -204,7 +204,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q29: NonNullObject, q30: NonNullObject, q31: NonNullObject, - q32: NonNullObject + q32: NonNullObject, ) = Dst33( q00, q01, @@ -238,7 +238,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q29, q30, q31, - q32 + q32, ) } } @@ -314,7 +314,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p60: NonNullObject, val p61: NonNullObject, val p62: NonNullObject, - val p63: NonNullObject + val p63: NonNullObject, ) { companion object { @JvmStatic @@ -383,7 +383,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q60: NonNullObject, q61: NonNullObject, q62: NonNullObject, - q63: NonNullObject + q63: NonNullObject, ) = Dst64( q00, q01, @@ -448,7 +448,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q60, q61, q62, - q63 + q63, ) } } @@ -525,7 +525,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p61: NonNullObject, val p62: NonNullObject, val p63: NonNullObject, - val p64: NonNullObject + val p64: NonNullObject, ) { companion object { @JvmStatic @@ -595,7 +595,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q61: NonNullObject, q62: NonNullObject, q63: NonNullObject, - q64: NonNullObject + q64: NonNullObject, ) = Dst65( q00, q01, @@ -661,7 +661,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q61, q62, q63, - q64 + q64, ) } } @@ -927,7 +927,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p249: NonNullObject, val p250: NonNullObject, val p251: NonNullObject, - val p252: NonNullObject + val p252: NonNullObject, ) { companion object { @JvmStatic @@ -1185,7 +1185,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q249: NonNullObject, q250: NonNullObject, q251: NonNullObject, - q252: NonNullObject + q252: NonNullObject, ) = DstMax( q000, q001, @@ -1439,7 +1439,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q249, q250, q251, - q252 + q252, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByConstructorWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByConstructorWithDefaultArgumentsTest.kt index 24b202e6..5111dab0 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByConstructorWithDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByConstructorWithDefaultArgumentsTest.kt @@ -46,7 +46,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p28: NullableObject? = NullableObject("28"), val p29: NullableObject? = NullableObject("29"), val p30: NullableObject? = NullableObject("30"), - val p31: NullableObject? = NullableObject("31") + val p31: NullableObject? = NullableObject("31"), ) @Test @@ -87,7 +87,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p29: NullableObject? = NullableObject("29"), val p30: NullableObject? = NullableObject("30"), val p31: NullableObject? = NullableObject("31"), - val p32: NullableObject? = NullableObject("32") + val p32: NullableObject? = NullableObject("32"), ) @Test @@ -159,7 +159,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p60: NullableObject? = NullableObject("60"), val p61: NullableObject? = NullableObject("61"), val p62: NullableObject? = NullableObject("62"), - val p63: NullableObject? = NullableObject("63") + val p63: NullableObject? = NullableObject("63"), ) @Test @@ -232,7 +232,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p61: NullableObject? = NullableObject("61"), val p62: NullableObject? = NullableObject("62"), val p63: NullableObject? = NullableObject("63"), - val p64: NullableObject? = NullableObject("64") + val p64: NullableObject? = NullableObject("64"), ) @Test @@ -486,7 +486,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p241: NullableObject? = NullableObject("241"), val p242: NullableObject? = NullableObject("242"), val p243: NullableObject? = NullableObject("243"), - val p244: NullableObject? = NullableObject("244") + val p244: NullableObject? = NullableObject("244"), ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByConstructorWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByConstructorWithoutDefaultArgumentsTest.kt index c0822a42..46ee660f 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByConstructorWithoutDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByConstructorWithoutDefaultArgumentsTest.kt @@ -47,7 +47,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p28: NullableObject, val p29: NullableObject, val p30: NullableObject, - val p31: NullableObject + val p31: NullableObject, ) @Test @@ -90,7 +90,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p29: NullableObject, val p30: NullableObject, val p31: NullableObject, - val p32: NullableObject + val p32: NullableObject, ) @Test @@ -164,7 +164,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p60: NullableObject, val p61: NullableObject, val p62: NullableObject, - val p63: NullableObject + val p63: NullableObject, ) @Test @@ -239,7 +239,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p61: NullableObject, val p62: NullableObject, val p63: NullableObject, - val p64: NullableObject + val p64: NullableObject, ) @Test @@ -503,7 +503,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p249: NullableObject, val p250: NullableObject, val p251: NullableObject, - val p252: NullableObject + val p252: NullableObject, ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByFactoryWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByFactoryWithDefaultArgumentsTest.kt index e24be9a9..5ffbe4fd 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByFactoryWithDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByFactoryWithDefaultArgumentsTest.kt @@ -46,7 +46,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p28: NullableObject?, val p29: NullableObject?, val p30: NullableObject?, - val p31: NullableObject? + val p31: NullableObject?, ) { companion object { @JvmStatic @@ -83,7 +83,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q28: NullableObject? = NullableObject("p28"), q29: NullableObject? = NullableObject("p29"), q30: NullableObject? = NullableObject("p30"), - q31: NullableObject? = NullableObject("p31") + q31: NullableObject? = NullableObject("p31"), ) = Dst32( q00, q01, @@ -116,7 +116,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q28, q29, q30, - q31 + q31, ) } } @@ -159,7 +159,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p29: NullableObject?, val p30: NullableObject?, val p31: NullableObject?, - val p32: NullableObject? + val p32: NullableObject?, ) { companion object { @JvmStatic @@ -197,7 +197,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q29: NullableObject? = NullableObject("p29"), q30: NullableObject? = NullableObject("p30"), q31: NullableObject? = NullableObject("p31"), - q32: NullableObject? = NullableObject("p32") + q32: NullableObject? = NullableObject("p32"), ) = Dst33( q00, q01, @@ -231,7 +231,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q29, q30, q31, - q32 + q32, ) } } @@ -305,7 +305,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p60: NullableObject?, val p61: NullableObject?, val p62: NullableObject?, - val p63: NullableObject? + val p63: NullableObject?, ) { companion object { @JvmStatic @@ -374,7 +374,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q60: NullableObject? = NullableObject("p60"), q61: NullableObject? = NullableObject("p61"), q62: NullableObject? = NullableObject("p62"), - q63: NullableObject? = NullableObject("p63") + q63: NullableObject? = NullableObject("p63"), ) = Dst64( q00, q01, @@ -439,7 +439,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q60, q61, q62, - q63 + q63, ) } } @@ -514,7 +514,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p61: NullableObject?, val p62: NullableObject?, val p63: NullableObject?, - val p64: NullableObject? + val p64: NullableObject?, ) { companion object { @JvmStatic @@ -584,7 +584,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q61: NullableObject? = NullableObject("p61"), q62: NullableObject? = NullableObject("p62"), q63: NullableObject? = NullableObject("p63"), - q64: NullableObject? = NullableObject("p64") + q64: NullableObject? = NullableObject("p64"), ) = Dst65( q00, q01, @@ -650,7 +650,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q61, q62, q63, - q64 + q64, ) } } @@ -905,7 +905,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p240: NullableObject?, val p241: NullableObject?, val p242: NullableObject?, - val p243: NullableObject? + val p243: NullableObject?, ) { companion object { @JvmStatic @@ -1154,7 +1154,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q240: NullableObject? = NullableObject("p240"), q241: NullableObject? = NullableObject("p241"), q242: NullableObject? = NullableObject("p242"), - q243: NullableObject? = NullableObject("p243") + q243: NullableObject? = NullableObject("p243"), ) = DstMax( q000, q001, @@ -1399,7 +1399,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q240, q241, q242, - q243 + q243, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByFactoryWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByFactoryWithoutDefaultArgumentsTest.kt index cd821ff3..933ac040 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByFactoryWithoutDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullableObject/DeserializeByFactoryWithoutDefaultArgumentsTest.kt @@ -51,7 +51,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p28: NullableObject, val p29: NullableObject, val p30: NullableObject, - val p31: NullableObject + val p31: NullableObject, ) { companion object { @JvmStatic @@ -88,7 +88,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q28: NullableObject, q29: NullableObject, q30: NullableObject, - q31: NullableObject + q31: NullableObject, ) = Dst32( q00, q01, @@ -121,7 +121,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q28, q29, q30, - q31 + q31, ) } } @@ -166,7 +166,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p29: NullableObject, val p30: NullableObject, val p31: NullableObject, - val p32: NullableObject + val p32: NullableObject, ) { companion object { @JvmStatic @@ -204,7 +204,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q29: NullableObject, q30: NullableObject, q31: NullableObject, - q32: NullableObject + q32: NullableObject, ) = Dst33( q00, q01, @@ -238,7 +238,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q29, q30, q31, - q32 + q32, ) } } @@ -314,7 +314,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p60: NullableObject, val p61: NullableObject, val p62: NullableObject, - val p63: NullableObject + val p63: NullableObject, ) { companion object { @JvmStatic @@ -383,7 +383,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q60: NullableObject, q61: NullableObject, q62: NullableObject, - q63: NullableObject + q63: NullableObject, ) = Dst64( q00, q01, @@ -448,7 +448,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q60, q61, q62, - q63 + q63, ) } } @@ -525,7 +525,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p61: NullableObject, val p62: NullableObject, val p63: NullableObject, - val p64: NullableObject + val p64: NullableObject, ) { companion object { @JvmStatic @@ -595,7 +595,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q61: NullableObject, q62: NullableObject, q63: NullableObject, - q64: NullableObject + q64: NullableObject, ) = Dst65( q00, q01, @@ -661,7 +661,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q61, q62, q63, - q64 + q64, ) } } @@ -927,7 +927,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p249: NullableObject, val p250: NullableObject, val p251: NullableObject, - val p252: NullableObject + val p252: NullableObject, ) { companion object { @JvmStatic @@ -1185,7 +1185,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q249: NullableObject, q250: NullableObject, q251: NullableObject, - q252: NullableObject + q252: NullableObject, ) = DstMax( q000, q001, @@ -1439,7 +1439,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q249, q250, q251, - q252 + q252, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByConstructorWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByConstructorWithDefaultArgumentsTest.kt new file mode 100644 index 00000000..bd6026f5 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByConstructorWithDefaultArgumentsTest.kt @@ -0,0 +1,496 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.parameterSize.nullablePrimitive + +import io.github.projectmapk.jackson.module.kogera.assertReflectEquals +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +/** + * Up to argument size 32 there is one mask argument for the default argument, + * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested. + * Also, if the default argument is set, the maximum argument size that can be set in the constructor is 245, + * so that case is tested as well. + */ +class DeserializeByConstructorWithDefaultArgumentsTest { + data class Dst32( + val p00: NullablePrimitive? = NullablePrimitive(0), + val p01: NullablePrimitive? = NullablePrimitive(1), + val p02: NullablePrimitive? = NullablePrimitive(2), + val p03: NullablePrimitive? = NullablePrimitive(3), + val p04: NullablePrimitive? = NullablePrimitive(4), + val p05: NullablePrimitive? = NullablePrimitive(5), + val p06: NullablePrimitive? = NullablePrimitive(6), + val p07: NullablePrimitive? = NullablePrimitive(7), + val p08: NullablePrimitive? = NullablePrimitive(8), + val p09: NullablePrimitive? = NullablePrimitive(9), + val p10: NullablePrimitive? = NullablePrimitive(10), + val p11: NullablePrimitive? = NullablePrimitive(11), + val p12: NullablePrimitive? = NullablePrimitive(12), + val p13: NullablePrimitive? = NullablePrimitive(13), + val p14: NullablePrimitive? = NullablePrimitive(14), + val p15: NullablePrimitive? = NullablePrimitive(15), + val p16: NullablePrimitive? = NullablePrimitive(16), + val p17: NullablePrimitive? = NullablePrimitive(17), + val p18: NullablePrimitive? = NullablePrimitive(18), + val p19: NullablePrimitive? = NullablePrimitive(19), + val p20: NullablePrimitive? = NullablePrimitive(20), + val p21: NullablePrimitive? = NullablePrimitive(21), + val p22: NullablePrimitive? = NullablePrimitive(22), + val p23: NullablePrimitive? = NullablePrimitive(23), + val p24: NullablePrimitive? = NullablePrimitive(24), + val p25: NullablePrimitive? = NullablePrimitive(25), + val p26: NullablePrimitive? = NullablePrimitive(26), + val p27: NullablePrimitive? = NullablePrimitive(27), + val p28: NullablePrimitive? = NullablePrimitive(28), + val p29: NullablePrimitive? = NullablePrimitive(29), + val p30: NullablePrimitive? = NullablePrimitive(30), + val p31: NullablePrimitive? = NullablePrimitive(31), + ) + + @Test + fun test32() { + Assertions.assertEquals(Dst32(), defaultMapper.readValue("{}")) + } + + data class Dst33( + val p00: NullablePrimitive? = NullablePrimitive(0), + val p01: NullablePrimitive? = NullablePrimitive(1), + val p02: NullablePrimitive? = NullablePrimitive(2), + val p03: NullablePrimitive? = NullablePrimitive(3), + val p04: NullablePrimitive? = NullablePrimitive(4), + val p05: NullablePrimitive? = NullablePrimitive(5), + val p06: NullablePrimitive? = NullablePrimitive(6), + val p07: NullablePrimitive? = NullablePrimitive(7), + val p08: NullablePrimitive? = NullablePrimitive(8), + val p09: NullablePrimitive? = NullablePrimitive(9), + val p10: NullablePrimitive? = NullablePrimitive(10), + val p11: NullablePrimitive? = NullablePrimitive(11), + val p12: NullablePrimitive? = NullablePrimitive(12), + val p13: NullablePrimitive? = NullablePrimitive(13), + val p14: NullablePrimitive? = NullablePrimitive(14), + val p15: NullablePrimitive? = NullablePrimitive(15), + val p16: NullablePrimitive? = NullablePrimitive(16), + val p17: NullablePrimitive? = NullablePrimitive(17), + val p18: NullablePrimitive? = NullablePrimitive(18), + val p19: NullablePrimitive? = NullablePrimitive(19), + val p20: NullablePrimitive? = NullablePrimitive(20), + val p21: NullablePrimitive? = NullablePrimitive(21), + val p22: NullablePrimitive? = NullablePrimitive(22), + val p23: NullablePrimitive? = NullablePrimitive(23), + val p24: NullablePrimitive? = NullablePrimitive(24), + val p25: NullablePrimitive? = NullablePrimitive(25), + val p26: NullablePrimitive? = NullablePrimitive(26), + val p27: NullablePrimitive? = NullablePrimitive(27), + val p28: NullablePrimitive? = NullablePrimitive(28), + val p29: NullablePrimitive? = NullablePrimitive(29), + val p30: NullablePrimitive? = NullablePrimitive(30), + val p31: NullablePrimitive? = NullablePrimitive(31), + val p32: NullablePrimitive? = NullablePrimitive(32), + ) + + @Test + fun test33() { + Assertions.assertEquals(Dst33(), defaultMapper.readValue("{}")) + } + + data class Dst64( + val p00: NullablePrimitive? = NullablePrimitive(0), + val p01: NullablePrimitive? = NullablePrimitive(1), + val p02: NullablePrimitive? = NullablePrimitive(2), + val p03: NullablePrimitive? = NullablePrimitive(3), + val p04: NullablePrimitive? = NullablePrimitive(4), + val p05: NullablePrimitive? = NullablePrimitive(5), + val p06: NullablePrimitive? = NullablePrimitive(6), + val p07: NullablePrimitive? = NullablePrimitive(7), + val p08: NullablePrimitive? = NullablePrimitive(8), + val p09: NullablePrimitive? = NullablePrimitive(9), + val p10: NullablePrimitive? = NullablePrimitive(10), + val p11: NullablePrimitive? = NullablePrimitive(11), + val p12: NullablePrimitive? = NullablePrimitive(12), + val p13: NullablePrimitive? = NullablePrimitive(13), + val p14: NullablePrimitive? = NullablePrimitive(14), + val p15: NullablePrimitive? = NullablePrimitive(15), + val p16: NullablePrimitive? = NullablePrimitive(16), + val p17: NullablePrimitive? = NullablePrimitive(17), + val p18: NullablePrimitive? = NullablePrimitive(18), + val p19: NullablePrimitive? = NullablePrimitive(19), + val p20: NullablePrimitive? = NullablePrimitive(20), + val p21: NullablePrimitive? = NullablePrimitive(21), + val p22: NullablePrimitive? = NullablePrimitive(22), + val p23: NullablePrimitive? = NullablePrimitive(23), + val p24: NullablePrimitive? = NullablePrimitive(24), + val p25: NullablePrimitive? = NullablePrimitive(25), + val p26: NullablePrimitive? = NullablePrimitive(26), + val p27: NullablePrimitive? = NullablePrimitive(27), + val p28: NullablePrimitive? = NullablePrimitive(28), + val p29: NullablePrimitive? = NullablePrimitive(29), + val p30: NullablePrimitive? = NullablePrimitive(30), + val p31: NullablePrimitive? = NullablePrimitive(31), + val p32: NullablePrimitive? = NullablePrimitive(32), + val p33: NullablePrimitive? = NullablePrimitive(33), + val p34: NullablePrimitive? = NullablePrimitive(34), + val p35: NullablePrimitive? = NullablePrimitive(35), + val p36: NullablePrimitive? = NullablePrimitive(36), + val p37: NullablePrimitive? = NullablePrimitive(37), + val p38: NullablePrimitive? = NullablePrimitive(38), + val p39: NullablePrimitive? = NullablePrimitive(39), + val p40: NullablePrimitive? = NullablePrimitive(40), + val p41: NullablePrimitive? = NullablePrimitive(41), + val p42: NullablePrimitive? = NullablePrimitive(42), + val p43: NullablePrimitive? = NullablePrimitive(43), + val p44: NullablePrimitive? = NullablePrimitive(44), + val p45: NullablePrimitive? = NullablePrimitive(45), + val p46: NullablePrimitive? = NullablePrimitive(46), + val p47: NullablePrimitive? = NullablePrimitive(47), + val p48: NullablePrimitive? = NullablePrimitive(48), + val p49: NullablePrimitive? = NullablePrimitive(49), + val p50: NullablePrimitive? = NullablePrimitive(50), + val p51: NullablePrimitive? = NullablePrimitive(51), + val p52: NullablePrimitive? = NullablePrimitive(52), + val p53: NullablePrimitive? = NullablePrimitive(53), + val p54: NullablePrimitive? = NullablePrimitive(54), + val p55: NullablePrimitive? = NullablePrimitive(55), + val p56: NullablePrimitive? = NullablePrimitive(56), + val p57: NullablePrimitive? = NullablePrimitive(57), + val p58: NullablePrimitive? = NullablePrimitive(58), + val p59: NullablePrimitive? = NullablePrimitive(59), + val p60: NullablePrimitive? = NullablePrimitive(60), + val p61: NullablePrimitive? = NullablePrimitive(61), + val p62: NullablePrimitive? = NullablePrimitive(62), + val p63: NullablePrimitive? = NullablePrimitive(63), + ) + + @Test + fun test64() { + Assertions.assertEquals(Dst64(), defaultMapper.readValue("{}")) + } + + data class Dst65( + val p00: NullablePrimitive? = NullablePrimitive(0), + val p01: NullablePrimitive? = NullablePrimitive(1), + val p02: NullablePrimitive? = NullablePrimitive(2), + val p03: NullablePrimitive? = NullablePrimitive(3), + val p04: NullablePrimitive? = NullablePrimitive(4), + val p05: NullablePrimitive? = NullablePrimitive(5), + val p06: NullablePrimitive? = NullablePrimitive(6), + val p07: NullablePrimitive? = NullablePrimitive(7), + val p08: NullablePrimitive? = NullablePrimitive(8), + val p09: NullablePrimitive? = NullablePrimitive(9), + val p10: NullablePrimitive? = NullablePrimitive(10), + val p11: NullablePrimitive? = NullablePrimitive(11), + val p12: NullablePrimitive? = NullablePrimitive(12), + val p13: NullablePrimitive? = NullablePrimitive(13), + val p14: NullablePrimitive? = NullablePrimitive(14), + val p15: NullablePrimitive? = NullablePrimitive(15), + val p16: NullablePrimitive? = NullablePrimitive(16), + val p17: NullablePrimitive? = NullablePrimitive(17), + val p18: NullablePrimitive? = NullablePrimitive(18), + val p19: NullablePrimitive? = NullablePrimitive(19), + val p20: NullablePrimitive? = NullablePrimitive(20), + val p21: NullablePrimitive? = NullablePrimitive(21), + val p22: NullablePrimitive? = NullablePrimitive(22), + val p23: NullablePrimitive? = NullablePrimitive(23), + val p24: NullablePrimitive? = NullablePrimitive(24), + val p25: NullablePrimitive? = NullablePrimitive(25), + val p26: NullablePrimitive? = NullablePrimitive(26), + val p27: NullablePrimitive? = NullablePrimitive(27), + val p28: NullablePrimitive? = NullablePrimitive(28), + val p29: NullablePrimitive? = NullablePrimitive(29), + val p30: NullablePrimitive? = NullablePrimitive(30), + val p31: NullablePrimitive? = NullablePrimitive(31), + val p32: NullablePrimitive? = NullablePrimitive(32), + val p33: NullablePrimitive? = NullablePrimitive(33), + val p34: NullablePrimitive? = NullablePrimitive(34), + val p35: NullablePrimitive? = NullablePrimitive(35), + val p36: NullablePrimitive? = NullablePrimitive(36), + val p37: NullablePrimitive? = NullablePrimitive(37), + val p38: NullablePrimitive? = NullablePrimitive(38), + val p39: NullablePrimitive? = NullablePrimitive(39), + val p40: NullablePrimitive? = NullablePrimitive(40), + val p41: NullablePrimitive? = NullablePrimitive(41), + val p42: NullablePrimitive? = NullablePrimitive(42), + val p43: NullablePrimitive? = NullablePrimitive(43), + val p44: NullablePrimitive? = NullablePrimitive(44), + val p45: NullablePrimitive? = NullablePrimitive(45), + val p46: NullablePrimitive? = NullablePrimitive(46), + val p47: NullablePrimitive? = NullablePrimitive(47), + val p48: NullablePrimitive? = NullablePrimitive(48), + val p49: NullablePrimitive? = NullablePrimitive(49), + val p50: NullablePrimitive? = NullablePrimitive(50), + val p51: NullablePrimitive? = NullablePrimitive(51), + val p52: NullablePrimitive? = NullablePrimitive(52), + val p53: NullablePrimitive? = NullablePrimitive(53), + val p54: NullablePrimitive? = NullablePrimitive(54), + val p55: NullablePrimitive? = NullablePrimitive(55), + val p56: NullablePrimitive? = NullablePrimitive(56), + val p57: NullablePrimitive? = NullablePrimitive(57), + val p58: NullablePrimitive? = NullablePrimitive(58), + val p59: NullablePrimitive? = NullablePrimitive(59), + val p60: NullablePrimitive? = NullablePrimitive(60), + val p61: NullablePrimitive? = NullablePrimitive(61), + val p62: NullablePrimitive? = NullablePrimitive(62), + val p63: NullablePrimitive? = NullablePrimitive(63), + val p64: NullablePrimitive? = NullablePrimitive(64), + ) + + @Test + fun test65() { + Assertions.assertEquals(Dst65(), defaultMapper.readValue("{}")) + } + + // It cannot be a data class because the generated method would exceed the argument size limit. + class DstMax( + val p000: NullablePrimitive? = NullablePrimitive(0), + val p001: NullablePrimitive? = NullablePrimitive(1), + val p002: NullablePrimitive? = NullablePrimitive(2), + val p003: NullablePrimitive? = NullablePrimitive(3), + val p004: NullablePrimitive? = NullablePrimitive(4), + val p005: NullablePrimitive? = NullablePrimitive(5), + val p006: NullablePrimitive? = NullablePrimitive(6), + val p007: NullablePrimitive? = NullablePrimitive(7), + val p008: NullablePrimitive? = NullablePrimitive(8), + val p009: NullablePrimitive? = NullablePrimitive(9), + val p010: NullablePrimitive? = NullablePrimitive(10), + val p011: NullablePrimitive? = NullablePrimitive(11), + val p012: NullablePrimitive? = NullablePrimitive(12), + val p013: NullablePrimitive? = NullablePrimitive(13), + val p014: NullablePrimitive? = NullablePrimitive(14), + val p015: NullablePrimitive? = NullablePrimitive(15), + val p016: NullablePrimitive? = NullablePrimitive(16), + val p017: NullablePrimitive? = NullablePrimitive(17), + val p018: NullablePrimitive? = NullablePrimitive(18), + val p019: NullablePrimitive? = NullablePrimitive(19), + val p020: NullablePrimitive? = NullablePrimitive(20), + val p021: NullablePrimitive? = NullablePrimitive(21), + val p022: NullablePrimitive? = NullablePrimitive(22), + val p023: NullablePrimitive? = NullablePrimitive(23), + val p024: NullablePrimitive? = NullablePrimitive(24), + val p025: NullablePrimitive? = NullablePrimitive(25), + val p026: NullablePrimitive? = NullablePrimitive(26), + val p027: NullablePrimitive? = NullablePrimitive(27), + val p028: NullablePrimitive? = NullablePrimitive(28), + val p029: NullablePrimitive? = NullablePrimitive(29), + val p030: NullablePrimitive? = NullablePrimitive(30), + val p031: NullablePrimitive? = NullablePrimitive(31), + val p032: NullablePrimitive? = NullablePrimitive(32), + val p033: NullablePrimitive? = NullablePrimitive(33), + val p034: NullablePrimitive? = NullablePrimitive(34), + val p035: NullablePrimitive? = NullablePrimitive(35), + val p036: NullablePrimitive? = NullablePrimitive(36), + val p037: NullablePrimitive? = NullablePrimitive(37), + val p038: NullablePrimitive? = NullablePrimitive(38), + val p039: NullablePrimitive? = NullablePrimitive(39), + val p040: NullablePrimitive? = NullablePrimitive(40), + val p041: NullablePrimitive? = NullablePrimitive(41), + val p042: NullablePrimitive? = NullablePrimitive(42), + val p043: NullablePrimitive? = NullablePrimitive(43), + val p044: NullablePrimitive? = NullablePrimitive(44), + val p045: NullablePrimitive? = NullablePrimitive(45), + val p046: NullablePrimitive? = NullablePrimitive(46), + val p047: NullablePrimitive? = NullablePrimitive(47), + val p048: NullablePrimitive? = NullablePrimitive(48), + val p049: NullablePrimitive? = NullablePrimitive(49), + val p050: NullablePrimitive? = NullablePrimitive(50), + val p051: NullablePrimitive? = NullablePrimitive(51), + val p052: NullablePrimitive? = NullablePrimitive(52), + val p053: NullablePrimitive? = NullablePrimitive(53), + val p054: NullablePrimitive? = NullablePrimitive(54), + val p055: NullablePrimitive? = NullablePrimitive(55), + val p056: NullablePrimitive? = NullablePrimitive(56), + val p057: NullablePrimitive? = NullablePrimitive(57), + val p058: NullablePrimitive? = NullablePrimitive(58), + val p059: NullablePrimitive? = NullablePrimitive(59), + val p060: NullablePrimitive? = NullablePrimitive(60), + val p061: NullablePrimitive? = NullablePrimitive(61), + val p062: NullablePrimitive? = NullablePrimitive(62), + val p063: NullablePrimitive? = NullablePrimitive(63), + val p064: NullablePrimitive? = NullablePrimitive(64), + val p065: NullablePrimitive? = NullablePrimitive(65), + val p066: NullablePrimitive? = NullablePrimitive(66), + val p067: NullablePrimitive? = NullablePrimitive(67), + val p068: NullablePrimitive? = NullablePrimitive(68), + val p069: NullablePrimitive? = NullablePrimitive(69), + val p070: NullablePrimitive? = NullablePrimitive(70), + val p071: NullablePrimitive? = NullablePrimitive(71), + val p072: NullablePrimitive? = NullablePrimitive(72), + val p073: NullablePrimitive? = NullablePrimitive(73), + val p074: NullablePrimitive? = NullablePrimitive(74), + val p075: NullablePrimitive? = NullablePrimitive(75), + val p076: NullablePrimitive? = NullablePrimitive(76), + val p077: NullablePrimitive? = NullablePrimitive(77), + val p078: NullablePrimitive? = NullablePrimitive(78), + val p079: NullablePrimitive? = NullablePrimitive(79), + val p080: NullablePrimitive? = NullablePrimitive(80), + val p081: NullablePrimitive? = NullablePrimitive(81), + val p082: NullablePrimitive? = NullablePrimitive(82), + val p083: NullablePrimitive? = NullablePrimitive(83), + val p084: NullablePrimitive? = NullablePrimitive(84), + val p085: NullablePrimitive? = NullablePrimitive(85), + val p086: NullablePrimitive? = NullablePrimitive(86), + val p087: NullablePrimitive? = NullablePrimitive(87), + val p088: NullablePrimitive? = NullablePrimitive(88), + val p089: NullablePrimitive? = NullablePrimitive(89), + val p090: NullablePrimitive? = NullablePrimitive(90), + val p091: NullablePrimitive? = NullablePrimitive(91), + val p092: NullablePrimitive? = NullablePrimitive(92), + val p093: NullablePrimitive? = NullablePrimitive(93), + val p094: NullablePrimitive? = NullablePrimitive(94), + val p095: NullablePrimitive? = NullablePrimitive(95), + val p096: NullablePrimitive? = NullablePrimitive(96), + val p097: NullablePrimitive? = NullablePrimitive(97), + val p098: NullablePrimitive? = NullablePrimitive(98), + val p099: NullablePrimitive? = NullablePrimitive(99), + val p100: NullablePrimitive? = NullablePrimitive(100), + val p101: NullablePrimitive? = NullablePrimitive(101), + val p102: NullablePrimitive? = NullablePrimitive(102), + val p103: NullablePrimitive? = NullablePrimitive(103), + val p104: NullablePrimitive? = NullablePrimitive(104), + val p105: NullablePrimitive? = NullablePrimitive(105), + val p106: NullablePrimitive? = NullablePrimitive(106), + val p107: NullablePrimitive? = NullablePrimitive(107), + val p108: NullablePrimitive? = NullablePrimitive(108), + val p109: NullablePrimitive? = NullablePrimitive(109), + val p110: NullablePrimitive? = NullablePrimitive(110), + val p111: NullablePrimitive? = NullablePrimitive(111), + val p112: NullablePrimitive? = NullablePrimitive(112), + val p113: NullablePrimitive? = NullablePrimitive(113), + val p114: NullablePrimitive? = NullablePrimitive(114), + val p115: NullablePrimitive? = NullablePrimitive(115), + val p116: NullablePrimitive? = NullablePrimitive(116), + val p117: NullablePrimitive? = NullablePrimitive(117), + val p118: NullablePrimitive? = NullablePrimitive(118), + val p119: NullablePrimitive? = NullablePrimitive(119), + val p120: NullablePrimitive? = NullablePrimitive(120), + val p121: NullablePrimitive? = NullablePrimitive(121), + val p122: NullablePrimitive? = NullablePrimitive(122), + val p123: NullablePrimitive? = NullablePrimitive(123), + val p124: NullablePrimitive? = NullablePrimitive(124), + val p125: NullablePrimitive? = NullablePrimitive(125), + val p126: NullablePrimitive? = NullablePrimitive(126), + val p127: NullablePrimitive? = NullablePrimitive(127), + val p128: NullablePrimitive? = NullablePrimitive(128), + val p129: NullablePrimitive? = NullablePrimitive(129), + val p130: NullablePrimitive? = NullablePrimitive(130), + val p131: NullablePrimitive? = NullablePrimitive(131), + val p132: NullablePrimitive? = NullablePrimitive(132), + val p133: NullablePrimitive? = NullablePrimitive(133), + val p134: NullablePrimitive? = NullablePrimitive(134), + val p135: NullablePrimitive? = NullablePrimitive(135), + val p136: NullablePrimitive? = NullablePrimitive(136), + val p137: NullablePrimitive? = NullablePrimitive(137), + val p138: NullablePrimitive? = NullablePrimitive(138), + val p139: NullablePrimitive? = NullablePrimitive(139), + val p140: NullablePrimitive? = NullablePrimitive(140), + val p141: NullablePrimitive? = NullablePrimitive(141), + val p142: NullablePrimitive? = NullablePrimitive(142), + val p143: NullablePrimitive? = NullablePrimitive(143), + val p144: NullablePrimitive? = NullablePrimitive(144), + val p145: NullablePrimitive? = NullablePrimitive(145), + val p146: NullablePrimitive? = NullablePrimitive(146), + val p147: NullablePrimitive? = NullablePrimitive(147), + val p148: NullablePrimitive? = NullablePrimitive(148), + val p149: NullablePrimitive? = NullablePrimitive(149), + val p150: NullablePrimitive? = NullablePrimitive(150), + val p151: NullablePrimitive? = NullablePrimitive(151), + val p152: NullablePrimitive? = NullablePrimitive(152), + val p153: NullablePrimitive? = NullablePrimitive(153), + val p154: NullablePrimitive? = NullablePrimitive(154), + val p155: NullablePrimitive? = NullablePrimitive(155), + val p156: NullablePrimitive? = NullablePrimitive(156), + val p157: NullablePrimitive? = NullablePrimitive(157), + val p158: NullablePrimitive? = NullablePrimitive(158), + val p159: NullablePrimitive? = NullablePrimitive(159), + val p160: NullablePrimitive? = NullablePrimitive(160), + val p161: NullablePrimitive? = NullablePrimitive(161), + val p162: NullablePrimitive? = NullablePrimitive(162), + val p163: NullablePrimitive? = NullablePrimitive(163), + val p164: NullablePrimitive? = NullablePrimitive(164), + val p165: NullablePrimitive? = NullablePrimitive(165), + val p166: NullablePrimitive? = NullablePrimitive(166), + val p167: NullablePrimitive? = NullablePrimitive(167), + val p168: NullablePrimitive? = NullablePrimitive(168), + val p169: NullablePrimitive? = NullablePrimitive(169), + val p170: NullablePrimitive? = NullablePrimitive(170), + val p171: NullablePrimitive? = NullablePrimitive(171), + val p172: NullablePrimitive? = NullablePrimitive(172), + val p173: NullablePrimitive? = NullablePrimitive(173), + val p174: NullablePrimitive? = NullablePrimitive(174), + val p175: NullablePrimitive? = NullablePrimitive(175), + val p176: NullablePrimitive? = NullablePrimitive(176), + val p177: NullablePrimitive? = NullablePrimitive(177), + val p178: NullablePrimitive? = NullablePrimitive(178), + val p179: NullablePrimitive? = NullablePrimitive(179), + val p180: NullablePrimitive? = NullablePrimitive(180), + val p181: NullablePrimitive? = NullablePrimitive(181), + val p182: NullablePrimitive? = NullablePrimitive(182), + val p183: NullablePrimitive? = NullablePrimitive(183), + val p184: NullablePrimitive? = NullablePrimitive(184), + val p185: NullablePrimitive? = NullablePrimitive(185), + val p186: NullablePrimitive? = NullablePrimitive(186), + val p187: NullablePrimitive? = NullablePrimitive(187), + val p188: NullablePrimitive? = NullablePrimitive(188), + val p189: NullablePrimitive? = NullablePrimitive(189), + val p190: NullablePrimitive? = NullablePrimitive(190), + val p191: NullablePrimitive? = NullablePrimitive(191), + val p192: NullablePrimitive? = NullablePrimitive(192), + val p193: NullablePrimitive? = NullablePrimitive(193), + val p194: NullablePrimitive? = NullablePrimitive(194), + val p195: NullablePrimitive? = NullablePrimitive(195), + val p196: NullablePrimitive? = NullablePrimitive(196), + val p197: NullablePrimitive? = NullablePrimitive(197), + val p198: NullablePrimitive? = NullablePrimitive(198), + val p199: NullablePrimitive? = NullablePrimitive(199), + val p200: NullablePrimitive? = NullablePrimitive(200), + val p201: NullablePrimitive? = NullablePrimitive(201), + val p202: NullablePrimitive? = NullablePrimitive(202), + val p203: NullablePrimitive? = NullablePrimitive(203), + val p204: NullablePrimitive? = NullablePrimitive(204), + val p205: NullablePrimitive? = NullablePrimitive(205), + val p206: NullablePrimitive? = NullablePrimitive(206), + val p207: NullablePrimitive? = NullablePrimitive(207), + val p208: NullablePrimitive? = NullablePrimitive(208), + val p209: NullablePrimitive? = NullablePrimitive(209), + val p210: NullablePrimitive? = NullablePrimitive(210), + val p211: NullablePrimitive? = NullablePrimitive(211), + val p212: NullablePrimitive? = NullablePrimitive(212), + val p213: NullablePrimitive? = NullablePrimitive(213), + val p214: NullablePrimitive? = NullablePrimitive(214), + val p215: NullablePrimitive? = NullablePrimitive(215), + val p216: NullablePrimitive? = NullablePrimitive(216), + val p217: NullablePrimitive? = NullablePrimitive(217), + val p218: NullablePrimitive? = NullablePrimitive(218), + val p219: NullablePrimitive? = NullablePrimitive(219), + val p220: NullablePrimitive? = NullablePrimitive(220), + val p221: NullablePrimitive? = NullablePrimitive(221), + val p222: NullablePrimitive? = NullablePrimitive(222), + val p223: NullablePrimitive? = NullablePrimitive(223), + val p224: NullablePrimitive? = NullablePrimitive(224), + val p225: NullablePrimitive? = NullablePrimitive(225), + val p226: NullablePrimitive? = NullablePrimitive(226), + val p227: NullablePrimitive? = NullablePrimitive(227), + val p228: NullablePrimitive? = NullablePrimitive(228), + val p229: NullablePrimitive? = NullablePrimitive(229), + val p230: NullablePrimitive? = NullablePrimitive(230), + val p231: NullablePrimitive? = NullablePrimitive(231), + val p232: NullablePrimitive? = NullablePrimitive(232), + val p233: NullablePrimitive? = NullablePrimitive(233), + val p234: NullablePrimitive? = NullablePrimitive(234), + val p235: NullablePrimitive? = NullablePrimitive(235), + val p236: NullablePrimitive? = NullablePrimitive(236), + val p237: NullablePrimitive? = NullablePrimitive(237), + val p238: NullablePrimitive? = NullablePrimitive(238), + val p239: NullablePrimitive? = NullablePrimitive(239), + val p240: NullablePrimitive? = NullablePrimitive(240), + val p241: NullablePrimitive? = NullablePrimitive(241), + val p242: NullablePrimitive? = NullablePrimitive(242), + val p243: NullablePrimitive? = NullablePrimitive(243), + val p244: NullablePrimitive? = NullablePrimitive(244), + ) + + @Test + fun testMax() { + assertReflectEquals(DstMax(), defaultMapper.readValue("{}")) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt new file mode 100644 index 00000000..c0c3921f --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt @@ -0,0 +1,515 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.parameterSize.nullablePrimitive + +import io.github.projectmapk.jackson.module.kogera.assertReflectEquals +import io.github.projectmapk.jackson.module.kogera.callPrimaryConstructor +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +/** + * Up to argument size 32 there is one mask argument for the default argument, + * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested. + * Also, the maximum size of arguments that can be set by a constructor + * that includes a value class as an argument is 253 (one less by DefaultConstructorMarker), so test that case as well. + */ +class DeserializeByConstructorWithoutDefaultArgumentsTest { + data class Dst32( + val p00: NullablePrimitive, + val p01: NullablePrimitive, + val p02: NullablePrimitive, + val p03: NullablePrimitive, + val p04: NullablePrimitive, + val p05: NullablePrimitive, + val p06: NullablePrimitive, + val p07: NullablePrimitive, + val p08: NullablePrimitive, + val p09: NullablePrimitive, + val p10: NullablePrimitive, + val p11: NullablePrimitive, + val p12: NullablePrimitive, + val p13: NullablePrimitive, + val p14: NullablePrimitive, + val p15: NullablePrimitive, + val p16: NullablePrimitive, + val p17: NullablePrimitive, + val p18: NullablePrimitive, + val p19: NullablePrimitive, + val p20: NullablePrimitive, + val p21: NullablePrimitive, + val p22: NullablePrimitive, + val p23: NullablePrimitive, + val p24: NullablePrimitive, + val p25: NullablePrimitive, + val p26: NullablePrimitive, + val p27: NullablePrimitive, + val p28: NullablePrimitive, + val p29: NullablePrimitive, + val p30: NullablePrimitive, + val p31: NullablePrimitive, + ) + + @Test + fun test32() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = defaultMapper.writeValueAsString(expected) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst33( + val p00: NullablePrimitive, + val p01: NullablePrimitive, + val p02: NullablePrimitive, + val p03: NullablePrimitive, + val p04: NullablePrimitive, + val p05: NullablePrimitive, + val p06: NullablePrimitive, + val p07: NullablePrimitive, + val p08: NullablePrimitive, + val p09: NullablePrimitive, + val p10: NullablePrimitive, + val p11: NullablePrimitive, + val p12: NullablePrimitive, + val p13: NullablePrimitive, + val p14: NullablePrimitive, + val p15: NullablePrimitive, + val p16: NullablePrimitive, + val p17: NullablePrimitive, + val p18: NullablePrimitive, + val p19: NullablePrimitive, + val p20: NullablePrimitive, + val p21: NullablePrimitive, + val p22: NullablePrimitive, + val p23: NullablePrimitive, + val p24: NullablePrimitive, + val p25: NullablePrimitive, + val p26: NullablePrimitive, + val p27: NullablePrimitive, + val p28: NullablePrimitive, + val p29: NullablePrimitive, + val p30: NullablePrimitive, + val p31: NullablePrimitive, + val p32: NullablePrimitive, + ) + + @Test + fun test33() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = defaultMapper.writeValueAsString(expected) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst64( + val p00: NullablePrimitive, + val p01: NullablePrimitive, + val p02: NullablePrimitive, + val p03: NullablePrimitive, + val p04: NullablePrimitive, + val p05: NullablePrimitive, + val p06: NullablePrimitive, + val p07: NullablePrimitive, + val p08: NullablePrimitive, + val p09: NullablePrimitive, + val p10: NullablePrimitive, + val p11: NullablePrimitive, + val p12: NullablePrimitive, + val p13: NullablePrimitive, + val p14: NullablePrimitive, + val p15: NullablePrimitive, + val p16: NullablePrimitive, + val p17: NullablePrimitive, + val p18: NullablePrimitive, + val p19: NullablePrimitive, + val p20: NullablePrimitive, + val p21: NullablePrimitive, + val p22: NullablePrimitive, + val p23: NullablePrimitive, + val p24: NullablePrimitive, + val p25: NullablePrimitive, + val p26: NullablePrimitive, + val p27: NullablePrimitive, + val p28: NullablePrimitive, + val p29: NullablePrimitive, + val p30: NullablePrimitive, + val p31: NullablePrimitive, + val p32: NullablePrimitive, + val p33: NullablePrimitive, + val p34: NullablePrimitive, + val p35: NullablePrimitive, + val p36: NullablePrimitive, + val p37: NullablePrimitive, + val p38: NullablePrimitive, + val p39: NullablePrimitive, + val p40: NullablePrimitive, + val p41: NullablePrimitive, + val p42: NullablePrimitive, + val p43: NullablePrimitive, + val p44: NullablePrimitive, + val p45: NullablePrimitive, + val p46: NullablePrimitive, + val p47: NullablePrimitive, + val p48: NullablePrimitive, + val p49: NullablePrimitive, + val p50: NullablePrimitive, + val p51: NullablePrimitive, + val p52: NullablePrimitive, + val p53: NullablePrimitive, + val p54: NullablePrimitive, + val p55: NullablePrimitive, + val p56: NullablePrimitive, + val p57: NullablePrimitive, + val p58: NullablePrimitive, + val p59: NullablePrimitive, + val p60: NullablePrimitive, + val p61: NullablePrimitive, + val p62: NullablePrimitive, + val p63: NullablePrimitive, + ) + + @Test + fun test64() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = defaultMapper.writeValueAsString(expected) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst65( + val p00: NullablePrimitive, + val p01: NullablePrimitive, + val p02: NullablePrimitive, + val p03: NullablePrimitive, + val p04: NullablePrimitive, + val p05: NullablePrimitive, + val p06: NullablePrimitive, + val p07: NullablePrimitive, + val p08: NullablePrimitive, + val p09: NullablePrimitive, + val p10: NullablePrimitive, + val p11: NullablePrimitive, + val p12: NullablePrimitive, + val p13: NullablePrimitive, + val p14: NullablePrimitive, + val p15: NullablePrimitive, + val p16: NullablePrimitive, + val p17: NullablePrimitive, + val p18: NullablePrimitive, + val p19: NullablePrimitive, + val p20: NullablePrimitive, + val p21: NullablePrimitive, + val p22: NullablePrimitive, + val p23: NullablePrimitive, + val p24: NullablePrimitive, + val p25: NullablePrimitive, + val p26: NullablePrimitive, + val p27: NullablePrimitive, + val p28: NullablePrimitive, + val p29: NullablePrimitive, + val p30: NullablePrimitive, + val p31: NullablePrimitive, + val p32: NullablePrimitive, + val p33: NullablePrimitive, + val p34: NullablePrimitive, + val p35: NullablePrimitive, + val p36: NullablePrimitive, + val p37: NullablePrimitive, + val p38: NullablePrimitive, + val p39: NullablePrimitive, + val p40: NullablePrimitive, + val p41: NullablePrimitive, + val p42: NullablePrimitive, + val p43: NullablePrimitive, + val p44: NullablePrimitive, + val p45: NullablePrimitive, + val p46: NullablePrimitive, + val p47: NullablePrimitive, + val p48: NullablePrimitive, + val p49: NullablePrimitive, + val p50: NullablePrimitive, + val p51: NullablePrimitive, + val p52: NullablePrimitive, + val p53: NullablePrimitive, + val p54: NullablePrimitive, + val p55: NullablePrimitive, + val p56: NullablePrimitive, + val p57: NullablePrimitive, + val p58: NullablePrimitive, + val p59: NullablePrimitive, + val p60: NullablePrimitive, + val p61: NullablePrimitive, + val p62: NullablePrimitive, + val p63: NullablePrimitive, + val p64: NullablePrimitive, + ) + + @Test + fun test65() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = defaultMapper.writeValueAsString(expected) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + // It cannot be a data class because the generated method would exceed the argument size limit. + class DstMax( + val p000: NullablePrimitive, + val p001: NullablePrimitive, + val p002: NullablePrimitive, + val p003: NullablePrimitive, + val p004: NullablePrimitive, + val p005: NullablePrimitive, + val p006: NullablePrimitive, + val p007: NullablePrimitive, + val p008: NullablePrimitive, + val p009: NullablePrimitive, + val p010: NullablePrimitive, + val p011: NullablePrimitive, + val p012: NullablePrimitive, + val p013: NullablePrimitive, + val p014: NullablePrimitive, + val p015: NullablePrimitive, + val p016: NullablePrimitive, + val p017: NullablePrimitive, + val p018: NullablePrimitive, + val p019: NullablePrimitive, + val p020: NullablePrimitive, + val p021: NullablePrimitive, + val p022: NullablePrimitive, + val p023: NullablePrimitive, + val p024: NullablePrimitive, + val p025: NullablePrimitive, + val p026: NullablePrimitive, + val p027: NullablePrimitive, + val p028: NullablePrimitive, + val p029: NullablePrimitive, + val p030: NullablePrimitive, + val p031: NullablePrimitive, + val p032: NullablePrimitive, + val p033: NullablePrimitive, + val p034: NullablePrimitive, + val p035: NullablePrimitive, + val p036: NullablePrimitive, + val p037: NullablePrimitive, + val p038: NullablePrimitive, + val p039: NullablePrimitive, + val p040: NullablePrimitive, + val p041: NullablePrimitive, + val p042: NullablePrimitive, + val p043: NullablePrimitive, + val p044: NullablePrimitive, + val p045: NullablePrimitive, + val p046: NullablePrimitive, + val p047: NullablePrimitive, + val p048: NullablePrimitive, + val p049: NullablePrimitive, + val p050: NullablePrimitive, + val p051: NullablePrimitive, + val p052: NullablePrimitive, + val p053: NullablePrimitive, + val p054: NullablePrimitive, + val p055: NullablePrimitive, + val p056: NullablePrimitive, + val p057: NullablePrimitive, + val p058: NullablePrimitive, + val p059: NullablePrimitive, + val p060: NullablePrimitive, + val p061: NullablePrimitive, + val p062: NullablePrimitive, + val p063: NullablePrimitive, + val p064: NullablePrimitive, + val p065: NullablePrimitive, + val p066: NullablePrimitive, + val p067: NullablePrimitive, + val p068: NullablePrimitive, + val p069: NullablePrimitive, + val p070: NullablePrimitive, + val p071: NullablePrimitive, + val p072: NullablePrimitive, + val p073: NullablePrimitive, + val p074: NullablePrimitive, + val p075: NullablePrimitive, + val p076: NullablePrimitive, + val p077: NullablePrimitive, + val p078: NullablePrimitive, + val p079: NullablePrimitive, + val p080: NullablePrimitive, + val p081: NullablePrimitive, + val p082: NullablePrimitive, + val p083: NullablePrimitive, + val p084: NullablePrimitive, + val p085: NullablePrimitive, + val p086: NullablePrimitive, + val p087: NullablePrimitive, + val p088: NullablePrimitive, + val p089: NullablePrimitive, + val p090: NullablePrimitive, + val p091: NullablePrimitive, + val p092: NullablePrimitive, + val p093: NullablePrimitive, + val p094: NullablePrimitive, + val p095: NullablePrimitive, + val p096: NullablePrimitive, + val p097: NullablePrimitive, + val p098: NullablePrimitive, + val p099: NullablePrimitive, + val p100: NullablePrimitive, + val p101: NullablePrimitive, + val p102: NullablePrimitive, + val p103: NullablePrimitive, + val p104: NullablePrimitive, + val p105: NullablePrimitive, + val p106: NullablePrimitive, + val p107: NullablePrimitive, + val p108: NullablePrimitive, + val p109: NullablePrimitive, + val p110: NullablePrimitive, + val p111: NullablePrimitive, + val p112: NullablePrimitive, + val p113: NullablePrimitive, + val p114: NullablePrimitive, + val p115: NullablePrimitive, + val p116: NullablePrimitive, + val p117: NullablePrimitive, + val p118: NullablePrimitive, + val p119: NullablePrimitive, + val p120: NullablePrimitive, + val p121: NullablePrimitive, + val p122: NullablePrimitive, + val p123: NullablePrimitive, + val p124: NullablePrimitive, + val p125: NullablePrimitive, + val p126: NullablePrimitive, + val p127: NullablePrimitive, + val p128: NullablePrimitive, + val p129: NullablePrimitive, + val p130: NullablePrimitive, + val p131: NullablePrimitive, + val p132: NullablePrimitive, + val p133: NullablePrimitive, + val p134: NullablePrimitive, + val p135: NullablePrimitive, + val p136: NullablePrimitive, + val p137: NullablePrimitive, + val p138: NullablePrimitive, + val p139: NullablePrimitive, + val p140: NullablePrimitive, + val p141: NullablePrimitive, + val p142: NullablePrimitive, + val p143: NullablePrimitive, + val p144: NullablePrimitive, + val p145: NullablePrimitive, + val p146: NullablePrimitive, + val p147: NullablePrimitive, + val p148: NullablePrimitive, + val p149: NullablePrimitive, + val p150: NullablePrimitive, + val p151: NullablePrimitive, + val p152: NullablePrimitive, + val p153: NullablePrimitive, + val p154: NullablePrimitive, + val p155: NullablePrimitive, + val p156: NullablePrimitive, + val p157: NullablePrimitive, + val p158: NullablePrimitive, + val p159: NullablePrimitive, + val p160: NullablePrimitive, + val p161: NullablePrimitive, + val p162: NullablePrimitive, + val p163: NullablePrimitive, + val p164: NullablePrimitive, + val p165: NullablePrimitive, + val p166: NullablePrimitive, + val p167: NullablePrimitive, + val p168: NullablePrimitive, + val p169: NullablePrimitive, + val p170: NullablePrimitive, + val p171: NullablePrimitive, + val p172: NullablePrimitive, + val p173: NullablePrimitive, + val p174: NullablePrimitive, + val p175: NullablePrimitive, + val p176: NullablePrimitive, + val p177: NullablePrimitive, + val p178: NullablePrimitive, + val p179: NullablePrimitive, + val p180: NullablePrimitive, + val p181: NullablePrimitive, + val p182: NullablePrimitive, + val p183: NullablePrimitive, + val p184: NullablePrimitive, + val p185: NullablePrimitive, + val p186: NullablePrimitive, + val p187: NullablePrimitive, + val p188: NullablePrimitive, + val p189: NullablePrimitive, + val p190: NullablePrimitive, + val p191: NullablePrimitive, + val p192: NullablePrimitive, + val p193: NullablePrimitive, + val p194: NullablePrimitive, + val p195: NullablePrimitive, + val p196: NullablePrimitive, + val p197: NullablePrimitive, + val p198: NullablePrimitive, + val p199: NullablePrimitive, + val p200: NullablePrimitive, + val p201: NullablePrimitive, + val p202: NullablePrimitive, + val p203: NullablePrimitive, + val p204: NullablePrimitive, + val p205: NullablePrimitive, + val p206: NullablePrimitive, + val p207: NullablePrimitive, + val p208: NullablePrimitive, + val p209: NullablePrimitive, + val p210: NullablePrimitive, + val p211: NullablePrimitive, + val p212: NullablePrimitive, + val p213: NullablePrimitive, + val p214: NullablePrimitive, + val p215: NullablePrimitive, + val p216: NullablePrimitive, + val p217: NullablePrimitive, + val p218: NullablePrimitive, + val p219: NullablePrimitive, + val p220: NullablePrimitive, + val p221: NullablePrimitive, + val p222: NullablePrimitive, + val p223: NullablePrimitive, + val p224: NullablePrimitive, + val p225: NullablePrimitive, + val p226: NullablePrimitive, + val p227: NullablePrimitive, + val p228: NullablePrimitive, + val p229: NullablePrimitive, + val p230: NullablePrimitive, + val p231: NullablePrimitive, + val p232: NullablePrimitive, + val p233: NullablePrimitive, + val p234: NullablePrimitive, + val p235: NullablePrimitive, + val p236: NullablePrimitive, + val p237: NullablePrimitive, + val p238: NullablePrimitive, + val p239: NullablePrimitive, + val p240: NullablePrimitive, + val p241: NullablePrimitive, + val p242: NullablePrimitive, + val p243: NullablePrimitive, + val p244: NullablePrimitive, + val p245: NullablePrimitive, + val p246: NullablePrimitive, + val p247: NullablePrimitive, + val p248: NullablePrimitive, + val p249: NullablePrimitive, + val p250: NullablePrimitive, + val p251: NullablePrimitive, + val p252: NullablePrimitive, + ) + + @Test + fun testMax() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = defaultMapper.writeValueAsString(expected) + assertReflectEquals(expected, defaultMapper.readValue(src)) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByFactoryWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByFactoryWithDefaultArgumentsTest.kt new file mode 100644 index 00000000..cd61560c --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByFactoryWithDefaultArgumentsTest.kt @@ -0,0 +1,1411 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.parameterSize.nullablePrimitive + +import com.fasterxml.jackson.annotation.JsonCreator +import io.github.projectmapk.jackson.module.kogera.assertReflectEquals +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +/** + * Up to argument size 32 there is one mask argument for the default argument, + * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested. + * Also, the maximum argument size that can be set in the constructor is 244, so that case is tested as well. + */ +class DeserializeByFactoryWithDefaultArgumentsTest { + data class Dst32( + val p00: NullablePrimitive?, + val p01: NullablePrimitive?, + val p02: NullablePrimitive?, + val p03: NullablePrimitive?, + val p04: NullablePrimitive?, + val p05: NullablePrimitive?, + val p06: NullablePrimitive?, + val p07: NullablePrimitive?, + val p08: NullablePrimitive?, + val p09: NullablePrimitive?, + val p10: NullablePrimitive?, + val p11: NullablePrimitive?, + val p12: NullablePrimitive?, + val p13: NullablePrimitive?, + val p14: NullablePrimitive?, + val p15: NullablePrimitive?, + val p16: NullablePrimitive?, + val p17: NullablePrimitive?, + val p18: NullablePrimitive?, + val p19: NullablePrimitive?, + val p20: NullablePrimitive?, + val p21: NullablePrimitive?, + val p22: NullablePrimitive?, + val p23: NullablePrimitive?, + val p24: NullablePrimitive?, + val p25: NullablePrimitive?, + val p26: NullablePrimitive?, + val p27: NullablePrimitive?, + val p28: NullablePrimitive?, + val p29: NullablePrimitive?, + val p30: NullablePrimitive?, + val p31: NullablePrimitive?, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: NullablePrimitive? = NullablePrimitive(0), + q01: NullablePrimitive? = NullablePrimitive(1), + q02: NullablePrimitive? = NullablePrimitive(2), + q03: NullablePrimitive? = NullablePrimitive(3), + q04: NullablePrimitive? = NullablePrimitive(4), + q05: NullablePrimitive? = NullablePrimitive(5), + q06: NullablePrimitive? = NullablePrimitive(6), + q07: NullablePrimitive? = NullablePrimitive(7), + q08: NullablePrimitive? = NullablePrimitive(8), + q09: NullablePrimitive? = NullablePrimitive(9), + q10: NullablePrimitive? = NullablePrimitive(10), + q11: NullablePrimitive? = NullablePrimitive(11), + q12: NullablePrimitive? = NullablePrimitive(12), + q13: NullablePrimitive? = NullablePrimitive(13), + q14: NullablePrimitive? = NullablePrimitive(14), + q15: NullablePrimitive? = NullablePrimitive(15), + q16: NullablePrimitive? = NullablePrimitive(16), + q17: NullablePrimitive? = NullablePrimitive(17), + q18: NullablePrimitive? = NullablePrimitive(18), + q19: NullablePrimitive? = NullablePrimitive(19), + q20: NullablePrimitive? = NullablePrimitive(20), + q21: NullablePrimitive? = NullablePrimitive(21), + q22: NullablePrimitive? = NullablePrimitive(22), + q23: NullablePrimitive? = NullablePrimitive(23), + q24: NullablePrimitive? = NullablePrimitive(24), + q25: NullablePrimitive? = NullablePrimitive(25), + q26: NullablePrimitive? = NullablePrimitive(26), + q27: NullablePrimitive? = NullablePrimitive(27), + q28: NullablePrimitive? = NullablePrimitive(28), + q29: NullablePrimitive? = NullablePrimitive(29), + q30: NullablePrimitive? = NullablePrimitive(30), + q31: NullablePrimitive? = NullablePrimitive(31), + ) = Dst32( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + ) + } + } + + @Test + fun test32() { + Assertions.assertEquals(Dst32.creator(), defaultMapper.readValue("{}")) + } + + data class Dst33( + val p00: NullablePrimitive?, + val p01: NullablePrimitive?, + val p02: NullablePrimitive?, + val p03: NullablePrimitive?, + val p04: NullablePrimitive?, + val p05: NullablePrimitive?, + val p06: NullablePrimitive?, + val p07: NullablePrimitive?, + val p08: NullablePrimitive?, + val p09: NullablePrimitive?, + val p10: NullablePrimitive?, + val p11: NullablePrimitive?, + val p12: NullablePrimitive?, + val p13: NullablePrimitive?, + val p14: NullablePrimitive?, + val p15: NullablePrimitive?, + val p16: NullablePrimitive?, + val p17: NullablePrimitive?, + val p18: NullablePrimitive?, + val p19: NullablePrimitive?, + val p20: NullablePrimitive?, + val p21: NullablePrimitive?, + val p22: NullablePrimitive?, + val p23: NullablePrimitive?, + val p24: NullablePrimitive?, + val p25: NullablePrimitive?, + val p26: NullablePrimitive?, + val p27: NullablePrimitive?, + val p28: NullablePrimitive?, + val p29: NullablePrimitive?, + val p30: NullablePrimitive?, + val p31: NullablePrimitive?, + val p32: NullablePrimitive?, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: NullablePrimitive? = NullablePrimitive(0), + q01: NullablePrimitive? = NullablePrimitive(1), + q02: NullablePrimitive? = NullablePrimitive(2), + q03: NullablePrimitive? = NullablePrimitive(3), + q04: NullablePrimitive? = NullablePrimitive(4), + q05: NullablePrimitive? = NullablePrimitive(5), + q06: NullablePrimitive? = NullablePrimitive(6), + q07: NullablePrimitive? = NullablePrimitive(7), + q08: NullablePrimitive? = NullablePrimitive(8), + q09: NullablePrimitive? = NullablePrimitive(9), + q10: NullablePrimitive? = NullablePrimitive(10), + q11: NullablePrimitive? = NullablePrimitive(11), + q12: NullablePrimitive? = NullablePrimitive(12), + q13: NullablePrimitive? = NullablePrimitive(13), + q14: NullablePrimitive? = NullablePrimitive(14), + q15: NullablePrimitive? = NullablePrimitive(15), + q16: NullablePrimitive? = NullablePrimitive(16), + q17: NullablePrimitive? = NullablePrimitive(17), + q18: NullablePrimitive? = NullablePrimitive(18), + q19: NullablePrimitive? = NullablePrimitive(19), + q20: NullablePrimitive? = NullablePrimitive(20), + q21: NullablePrimitive? = NullablePrimitive(21), + q22: NullablePrimitive? = NullablePrimitive(22), + q23: NullablePrimitive? = NullablePrimitive(23), + q24: NullablePrimitive? = NullablePrimitive(24), + q25: NullablePrimitive? = NullablePrimitive(25), + q26: NullablePrimitive? = NullablePrimitive(26), + q27: NullablePrimitive? = NullablePrimitive(27), + q28: NullablePrimitive? = NullablePrimitive(28), + q29: NullablePrimitive? = NullablePrimitive(29), + q30: NullablePrimitive? = NullablePrimitive(30), + q31: NullablePrimitive? = NullablePrimitive(31), + q32: NullablePrimitive? = NullablePrimitive(32), + ) = Dst33( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + ) + } + } + + @Test + fun test33() { + Assertions.assertEquals(Dst33.creator(), defaultMapper.readValue("{}")) + } + + data class Dst64( + val p00: NullablePrimitive?, + val p01: NullablePrimitive?, + val p02: NullablePrimitive?, + val p03: NullablePrimitive?, + val p04: NullablePrimitive?, + val p05: NullablePrimitive?, + val p06: NullablePrimitive?, + val p07: NullablePrimitive?, + val p08: NullablePrimitive?, + val p09: NullablePrimitive?, + val p10: NullablePrimitive?, + val p11: NullablePrimitive?, + val p12: NullablePrimitive?, + val p13: NullablePrimitive?, + val p14: NullablePrimitive?, + val p15: NullablePrimitive?, + val p16: NullablePrimitive?, + val p17: NullablePrimitive?, + val p18: NullablePrimitive?, + val p19: NullablePrimitive?, + val p20: NullablePrimitive?, + val p21: NullablePrimitive?, + val p22: NullablePrimitive?, + val p23: NullablePrimitive?, + val p24: NullablePrimitive?, + val p25: NullablePrimitive?, + val p26: NullablePrimitive?, + val p27: NullablePrimitive?, + val p28: NullablePrimitive?, + val p29: NullablePrimitive?, + val p30: NullablePrimitive?, + val p31: NullablePrimitive?, + val p32: NullablePrimitive?, + val p33: NullablePrimitive?, + val p34: NullablePrimitive?, + val p35: NullablePrimitive?, + val p36: NullablePrimitive?, + val p37: NullablePrimitive?, + val p38: NullablePrimitive?, + val p39: NullablePrimitive?, + val p40: NullablePrimitive?, + val p41: NullablePrimitive?, + val p42: NullablePrimitive?, + val p43: NullablePrimitive?, + val p44: NullablePrimitive?, + val p45: NullablePrimitive?, + val p46: NullablePrimitive?, + val p47: NullablePrimitive?, + val p48: NullablePrimitive?, + val p49: NullablePrimitive?, + val p50: NullablePrimitive?, + val p51: NullablePrimitive?, + val p52: NullablePrimitive?, + val p53: NullablePrimitive?, + val p54: NullablePrimitive?, + val p55: NullablePrimitive?, + val p56: NullablePrimitive?, + val p57: NullablePrimitive?, + val p58: NullablePrimitive?, + val p59: NullablePrimitive?, + val p60: NullablePrimitive?, + val p61: NullablePrimitive?, + val p62: NullablePrimitive?, + val p63: NullablePrimitive?, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: NullablePrimitive? = NullablePrimitive(0), + q01: NullablePrimitive? = NullablePrimitive(1), + q02: NullablePrimitive? = NullablePrimitive(2), + q03: NullablePrimitive? = NullablePrimitive(3), + q04: NullablePrimitive? = NullablePrimitive(4), + q05: NullablePrimitive? = NullablePrimitive(5), + q06: NullablePrimitive? = NullablePrimitive(6), + q07: NullablePrimitive? = NullablePrimitive(7), + q08: NullablePrimitive? = NullablePrimitive(8), + q09: NullablePrimitive? = NullablePrimitive(9), + q10: NullablePrimitive? = NullablePrimitive(10), + q11: NullablePrimitive? = NullablePrimitive(11), + q12: NullablePrimitive? = NullablePrimitive(12), + q13: NullablePrimitive? = NullablePrimitive(13), + q14: NullablePrimitive? = NullablePrimitive(14), + q15: NullablePrimitive? = NullablePrimitive(15), + q16: NullablePrimitive? = NullablePrimitive(16), + q17: NullablePrimitive? = NullablePrimitive(17), + q18: NullablePrimitive? = NullablePrimitive(18), + q19: NullablePrimitive? = NullablePrimitive(19), + q20: NullablePrimitive? = NullablePrimitive(20), + q21: NullablePrimitive? = NullablePrimitive(21), + q22: NullablePrimitive? = NullablePrimitive(22), + q23: NullablePrimitive? = NullablePrimitive(23), + q24: NullablePrimitive? = NullablePrimitive(24), + q25: NullablePrimitive? = NullablePrimitive(25), + q26: NullablePrimitive? = NullablePrimitive(26), + q27: NullablePrimitive? = NullablePrimitive(27), + q28: NullablePrimitive? = NullablePrimitive(28), + q29: NullablePrimitive? = NullablePrimitive(29), + q30: NullablePrimitive? = NullablePrimitive(30), + q31: NullablePrimitive? = NullablePrimitive(31), + q32: NullablePrimitive? = NullablePrimitive(32), + q33: NullablePrimitive? = NullablePrimitive(33), + q34: NullablePrimitive? = NullablePrimitive(34), + q35: NullablePrimitive? = NullablePrimitive(35), + q36: NullablePrimitive? = NullablePrimitive(36), + q37: NullablePrimitive? = NullablePrimitive(37), + q38: NullablePrimitive? = NullablePrimitive(38), + q39: NullablePrimitive? = NullablePrimitive(39), + q40: NullablePrimitive? = NullablePrimitive(40), + q41: NullablePrimitive? = NullablePrimitive(41), + q42: NullablePrimitive? = NullablePrimitive(42), + q43: NullablePrimitive? = NullablePrimitive(43), + q44: NullablePrimitive? = NullablePrimitive(44), + q45: NullablePrimitive? = NullablePrimitive(45), + q46: NullablePrimitive? = NullablePrimitive(46), + q47: NullablePrimitive? = NullablePrimitive(47), + q48: NullablePrimitive? = NullablePrimitive(48), + q49: NullablePrimitive? = NullablePrimitive(49), + q50: NullablePrimitive? = NullablePrimitive(50), + q51: NullablePrimitive? = NullablePrimitive(51), + q52: NullablePrimitive? = NullablePrimitive(52), + q53: NullablePrimitive? = NullablePrimitive(53), + q54: NullablePrimitive? = NullablePrimitive(54), + q55: NullablePrimitive? = NullablePrimitive(55), + q56: NullablePrimitive? = NullablePrimitive(56), + q57: NullablePrimitive? = NullablePrimitive(57), + q58: NullablePrimitive? = NullablePrimitive(58), + q59: NullablePrimitive? = NullablePrimitive(59), + q60: NullablePrimitive? = NullablePrimitive(60), + q61: NullablePrimitive? = NullablePrimitive(61), + q62: NullablePrimitive? = NullablePrimitive(62), + q63: NullablePrimitive? = NullablePrimitive(63), + ) = Dst64( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + q33, + q34, + q35, + q36, + q37, + q38, + q39, + q40, + q41, + q42, + q43, + q44, + q45, + q46, + q47, + q48, + q49, + q50, + q51, + q52, + q53, + q54, + q55, + q56, + q57, + q58, + q59, + q60, + q61, + q62, + q63, + ) + } + } + + @Test + fun test64() { + Assertions.assertEquals(Dst64.creator(), defaultMapper.readValue("{}")) + } + + data class Dst65( + val p00: NullablePrimitive?, + val p01: NullablePrimitive?, + val p02: NullablePrimitive?, + val p03: NullablePrimitive?, + val p04: NullablePrimitive?, + val p05: NullablePrimitive?, + val p06: NullablePrimitive?, + val p07: NullablePrimitive?, + val p08: NullablePrimitive?, + val p09: NullablePrimitive?, + val p10: NullablePrimitive?, + val p11: NullablePrimitive?, + val p12: NullablePrimitive?, + val p13: NullablePrimitive?, + val p14: NullablePrimitive?, + val p15: NullablePrimitive?, + val p16: NullablePrimitive?, + val p17: NullablePrimitive?, + val p18: NullablePrimitive?, + val p19: NullablePrimitive?, + val p20: NullablePrimitive?, + val p21: NullablePrimitive?, + val p22: NullablePrimitive?, + val p23: NullablePrimitive?, + val p24: NullablePrimitive?, + val p25: NullablePrimitive?, + val p26: NullablePrimitive?, + val p27: NullablePrimitive?, + val p28: NullablePrimitive?, + val p29: NullablePrimitive?, + val p30: NullablePrimitive?, + val p31: NullablePrimitive?, + val p32: NullablePrimitive?, + val p33: NullablePrimitive?, + val p34: NullablePrimitive?, + val p35: NullablePrimitive?, + val p36: NullablePrimitive?, + val p37: NullablePrimitive?, + val p38: NullablePrimitive?, + val p39: NullablePrimitive?, + val p40: NullablePrimitive?, + val p41: NullablePrimitive?, + val p42: NullablePrimitive?, + val p43: NullablePrimitive?, + val p44: NullablePrimitive?, + val p45: NullablePrimitive?, + val p46: NullablePrimitive?, + val p47: NullablePrimitive?, + val p48: NullablePrimitive?, + val p49: NullablePrimitive?, + val p50: NullablePrimitive?, + val p51: NullablePrimitive?, + val p52: NullablePrimitive?, + val p53: NullablePrimitive?, + val p54: NullablePrimitive?, + val p55: NullablePrimitive?, + val p56: NullablePrimitive?, + val p57: NullablePrimitive?, + val p58: NullablePrimitive?, + val p59: NullablePrimitive?, + val p60: NullablePrimitive?, + val p61: NullablePrimitive?, + val p62: NullablePrimitive?, + val p63: NullablePrimitive?, + val p64: NullablePrimitive?, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: NullablePrimitive? = NullablePrimitive(0), + q01: NullablePrimitive? = NullablePrimitive(1), + q02: NullablePrimitive? = NullablePrimitive(2), + q03: NullablePrimitive? = NullablePrimitive(3), + q04: NullablePrimitive? = NullablePrimitive(4), + q05: NullablePrimitive? = NullablePrimitive(5), + q06: NullablePrimitive? = NullablePrimitive(6), + q07: NullablePrimitive? = NullablePrimitive(7), + q08: NullablePrimitive? = NullablePrimitive(8), + q09: NullablePrimitive? = NullablePrimitive(9), + q10: NullablePrimitive? = NullablePrimitive(10), + q11: NullablePrimitive? = NullablePrimitive(11), + q12: NullablePrimitive? = NullablePrimitive(12), + q13: NullablePrimitive? = NullablePrimitive(13), + q14: NullablePrimitive? = NullablePrimitive(14), + q15: NullablePrimitive? = NullablePrimitive(15), + q16: NullablePrimitive? = NullablePrimitive(16), + q17: NullablePrimitive? = NullablePrimitive(17), + q18: NullablePrimitive? = NullablePrimitive(18), + q19: NullablePrimitive? = NullablePrimitive(19), + q20: NullablePrimitive? = NullablePrimitive(20), + q21: NullablePrimitive? = NullablePrimitive(21), + q22: NullablePrimitive? = NullablePrimitive(22), + q23: NullablePrimitive? = NullablePrimitive(23), + q24: NullablePrimitive? = NullablePrimitive(24), + q25: NullablePrimitive? = NullablePrimitive(25), + q26: NullablePrimitive? = NullablePrimitive(26), + q27: NullablePrimitive? = NullablePrimitive(27), + q28: NullablePrimitive? = NullablePrimitive(28), + q29: NullablePrimitive? = NullablePrimitive(29), + q30: NullablePrimitive? = NullablePrimitive(30), + q31: NullablePrimitive? = NullablePrimitive(31), + q32: NullablePrimitive? = NullablePrimitive(32), + q33: NullablePrimitive? = NullablePrimitive(33), + q34: NullablePrimitive? = NullablePrimitive(34), + q35: NullablePrimitive? = NullablePrimitive(35), + q36: NullablePrimitive? = NullablePrimitive(36), + q37: NullablePrimitive? = NullablePrimitive(37), + q38: NullablePrimitive? = NullablePrimitive(38), + q39: NullablePrimitive? = NullablePrimitive(39), + q40: NullablePrimitive? = NullablePrimitive(40), + q41: NullablePrimitive? = NullablePrimitive(41), + q42: NullablePrimitive? = NullablePrimitive(42), + q43: NullablePrimitive? = NullablePrimitive(43), + q44: NullablePrimitive? = NullablePrimitive(44), + q45: NullablePrimitive? = NullablePrimitive(45), + q46: NullablePrimitive? = NullablePrimitive(46), + q47: NullablePrimitive? = NullablePrimitive(47), + q48: NullablePrimitive? = NullablePrimitive(48), + q49: NullablePrimitive? = NullablePrimitive(49), + q50: NullablePrimitive? = NullablePrimitive(50), + q51: NullablePrimitive? = NullablePrimitive(51), + q52: NullablePrimitive? = NullablePrimitive(52), + q53: NullablePrimitive? = NullablePrimitive(53), + q54: NullablePrimitive? = NullablePrimitive(54), + q55: NullablePrimitive? = NullablePrimitive(55), + q56: NullablePrimitive? = NullablePrimitive(56), + q57: NullablePrimitive? = NullablePrimitive(57), + q58: NullablePrimitive? = NullablePrimitive(58), + q59: NullablePrimitive? = NullablePrimitive(59), + q60: NullablePrimitive? = NullablePrimitive(60), + q61: NullablePrimitive? = NullablePrimitive(61), + q62: NullablePrimitive? = NullablePrimitive(62), + q63: NullablePrimitive? = NullablePrimitive(63), + q64: NullablePrimitive? = NullablePrimitive(64), + ) = Dst65( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + q33, + q34, + q35, + q36, + q37, + q38, + q39, + q40, + q41, + q42, + q43, + q44, + q45, + q46, + q47, + q48, + q49, + q50, + q51, + q52, + q53, + q54, + q55, + q56, + q57, + q58, + q59, + q60, + q61, + q62, + q63, + q64, + ) + } + } + + @Test + fun test65() { + Assertions.assertEquals(Dst65.creator(), defaultMapper.readValue("{}")) + } + + // It cannot be a data class because the generated method would exceed the argument size limit. + class DstMax( + val p000: NullablePrimitive?, + val p001: NullablePrimitive?, + val p002: NullablePrimitive?, + val p003: NullablePrimitive?, + val p004: NullablePrimitive?, + val p005: NullablePrimitive?, + val p006: NullablePrimitive?, + val p007: NullablePrimitive?, + val p008: NullablePrimitive?, + val p009: NullablePrimitive?, + val p010: NullablePrimitive?, + val p011: NullablePrimitive?, + val p012: NullablePrimitive?, + val p013: NullablePrimitive?, + val p014: NullablePrimitive?, + val p015: NullablePrimitive?, + val p016: NullablePrimitive?, + val p017: NullablePrimitive?, + val p018: NullablePrimitive?, + val p019: NullablePrimitive?, + val p020: NullablePrimitive?, + val p021: NullablePrimitive?, + val p022: NullablePrimitive?, + val p023: NullablePrimitive?, + val p024: NullablePrimitive?, + val p025: NullablePrimitive?, + val p026: NullablePrimitive?, + val p027: NullablePrimitive?, + val p028: NullablePrimitive?, + val p029: NullablePrimitive?, + val p030: NullablePrimitive?, + val p031: NullablePrimitive?, + val p032: NullablePrimitive?, + val p033: NullablePrimitive?, + val p034: NullablePrimitive?, + val p035: NullablePrimitive?, + val p036: NullablePrimitive?, + val p037: NullablePrimitive?, + val p038: NullablePrimitive?, + val p039: NullablePrimitive?, + val p040: NullablePrimitive?, + val p041: NullablePrimitive?, + val p042: NullablePrimitive?, + val p043: NullablePrimitive?, + val p044: NullablePrimitive?, + val p045: NullablePrimitive?, + val p046: NullablePrimitive?, + val p047: NullablePrimitive?, + val p048: NullablePrimitive?, + val p049: NullablePrimitive?, + val p050: NullablePrimitive?, + val p051: NullablePrimitive?, + val p052: NullablePrimitive?, + val p053: NullablePrimitive?, + val p054: NullablePrimitive?, + val p055: NullablePrimitive?, + val p056: NullablePrimitive?, + val p057: NullablePrimitive?, + val p058: NullablePrimitive?, + val p059: NullablePrimitive?, + val p060: NullablePrimitive?, + val p061: NullablePrimitive?, + val p062: NullablePrimitive?, + val p063: NullablePrimitive?, + val p064: NullablePrimitive?, + val p065: NullablePrimitive?, + val p066: NullablePrimitive?, + val p067: NullablePrimitive?, + val p068: NullablePrimitive?, + val p069: NullablePrimitive?, + val p070: NullablePrimitive?, + val p071: NullablePrimitive?, + val p072: NullablePrimitive?, + val p073: NullablePrimitive?, + val p074: NullablePrimitive?, + val p075: NullablePrimitive?, + val p076: NullablePrimitive?, + val p077: NullablePrimitive?, + val p078: NullablePrimitive?, + val p079: NullablePrimitive?, + val p080: NullablePrimitive?, + val p081: NullablePrimitive?, + val p082: NullablePrimitive?, + val p083: NullablePrimitive?, + val p084: NullablePrimitive?, + val p085: NullablePrimitive?, + val p086: NullablePrimitive?, + val p087: NullablePrimitive?, + val p088: NullablePrimitive?, + val p089: NullablePrimitive?, + val p090: NullablePrimitive?, + val p091: NullablePrimitive?, + val p092: NullablePrimitive?, + val p093: NullablePrimitive?, + val p094: NullablePrimitive?, + val p095: NullablePrimitive?, + val p096: NullablePrimitive?, + val p097: NullablePrimitive?, + val p098: NullablePrimitive?, + val p099: NullablePrimitive?, + val p100: NullablePrimitive?, + val p101: NullablePrimitive?, + val p102: NullablePrimitive?, + val p103: NullablePrimitive?, + val p104: NullablePrimitive?, + val p105: NullablePrimitive?, + val p106: NullablePrimitive?, + val p107: NullablePrimitive?, + val p108: NullablePrimitive?, + val p109: NullablePrimitive?, + val p110: NullablePrimitive?, + val p111: NullablePrimitive?, + val p112: NullablePrimitive?, + val p113: NullablePrimitive?, + val p114: NullablePrimitive?, + val p115: NullablePrimitive?, + val p116: NullablePrimitive?, + val p117: NullablePrimitive?, + val p118: NullablePrimitive?, + val p119: NullablePrimitive?, + val p120: NullablePrimitive?, + val p121: NullablePrimitive?, + val p122: NullablePrimitive?, + val p123: NullablePrimitive?, + val p124: NullablePrimitive?, + val p125: NullablePrimitive?, + val p126: NullablePrimitive?, + val p127: NullablePrimitive?, + val p128: NullablePrimitive?, + val p129: NullablePrimitive?, + val p130: NullablePrimitive?, + val p131: NullablePrimitive?, + val p132: NullablePrimitive?, + val p133: NullablePrimitive?, + val p134: NullablePrimitive?, + val p135: NullablePrimitive?, + val p136: NullablePrimitive?, + val p137: NullablePrimitive?, + val p138: NullablePrimitive?, + val p139: NullablePrimitive?, + val p140: NullablePrimitive?, + val p141: NullablePrimitive?, + val p142: NullablePrimitive?, + val p143: NullablePrimitive?, + val p144: NullablePrimitive?, + val p145: NullablePrimitive?, + val p146: NullablePrimitive?, + val p147: NullablePrimitive?, + val p148: NullablePrimitive?, + val p149: NullablePrimitive?, + val p150: NullablePrimitive?, + val p151: NullablePrimitive?, + val p152: NullablePrimitive?, + val p153: NullablePrimitive?, + val p154: NullablePrimitive?, + val p155: NullablePrimitive?, + val p156: NullablePrimitive?, + val p157: NullablePrimitive?, + val p158: NullablePrimitive?, + val p159: NullablePrimitive?, + val p160: NullablePrimitive?, + val p161: NullablePrimitive?, + val p162: NullablePrimitive?, + val p163: NullablePrimitive?, + val p164: NullablePrimitive?, + val p165: NullablePrimitive?, + val p166: NullablePrimitive?, + val p167: NullablePrimitive?, + val p168: NullablePrimitive?, + val p169: NullablePrimitive?, + val p170: NullablePrimitive?, + val p171: NullablePrimitive?, + val p172: NullablePrimitive?, + val p173: NullablePrimitive?, + val p174: NullablePrimitive?, + val p175: NullablePrimitive?, + val p176: NullablePrimitive?, + val p177: NullablePrimitive?, + val p178: NullablePrimitive?, + val p179: NullablePrimitive?, + val p180: NullablePrimitive?, + val p181: NullablePrimitive?, + val p182: NullablePrimitive?, + val p183: NullablePrimitive?, + val p184: NullablePrimitive?, + val p185: NullablePrimitive?, + val p186: NullablePrimitive?, + val p187: NullablePrimitive?, + val p188: NullablePrimitive?, + val p189: NullablePrimitive?, + val p190: NullablePrimitive?, + val p191: NullablePrimitive?, + val p192: NullablePrimitive?, + val p193: NullablePrimitive?, + val p194: NullablePrimitive?, + val p195: NullablePrimitive?, + val p196: NullablePrimitive?, + val p197: NullablePrimitive?, + val p198: NullablePrimitive?, + val p199: NullablePrimitive?, + val p200: NullablePrimitive?, + val p201: NullablePrimitive?, + val p202: NullablePrimitive?, + val p203: NullablePrimitive?, + val p204: NullablePrimitive?, + val p205: NullablePrimitive?, + val p206: NullablePrimitive?, + val p207: NullablePrimitive?, + val p208: NullablePrimitive?, + val p209: NullablePrimitive?, + val p210: NullablePrimitive?, + val p211: NullablePrimitive?, + val p212: NullablePrimitive?, + val p213: NullablePrimitive?, + val p214: NullablePrimitive?, + val p215: NullablePrimitive?, + val p216: NullablePrimitive?, + val p217: NullablePrimitive?, + val p218: NullablePrimitive?, + val p219: NullablePrimitive?, + val p220: NullablePrimitive?, + val p221: NullablePrimitive?, + val p222: NullablePrimitive?, + val p223: NullablePrimitive?, + val p224: NullablePrimitive?, + val p225: NullablePrimitive?, + val p226: NullablePrimitive?, + val p227: NullablePrimitive?, + val p228: NullablePrimitive?, + val p229: NullablePrimitive?, + val p230: NullablePrimitive?, + val p231: NullablePrimitive?, + val p232: NullablePrimitive?, + val p233: NullablePrimitive?, + val p234: NullablePrimitive?, + val p235: NullablePrimitive?, + val p236: NullablePrimitive?, + val p237: NullablePrimitive?, + val p238: NullablePrimitive?, + val p239: NullablePrimitive?, + val p240: NullablePrimitive?, + val p241: NullablePrimitive?, + val p242: NullablePrimitive?, + val p243: NullablePrimitive?, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q000: NullablePrimitive? = NullablePrimitive(0), + q001: NullablePrimitive? = NullablePrimitive(1), + q002: NullablePrimitive? = NullablePrimitive(2), + q003: NullablePrimitive? = NullablePrimitive(3), + q004: NullablePrimitive? = NullablePrimitive(4), + q005: NullablePrimitive? = NullablePrimitive(5), + q006: NullablePrimitive? = NullablePrimitive(6), + q007: NullablePrimitive? = NullablePrimitive(7), + q008: NullablePrimitive? = NullablePrimitive(8), + q009: NullablePrimitive? = NullablePrimitive(9), + q010: NullablePrimitive? = NullablePrimitive(10), + q011: NullablePrimitive? = NullablePrimitive(11), + q012: NullablePrimitive? = NullablePrimitive(12), + q013: NullablePrimitive? = NullablePrimitive(13), + q014: NullablePrimitive? = NullablePrimitive(14), + q015: NullablePrimitive? = NullablePrimitive(15), + q016: NullablePrimitive? = NullablePrimitive(16), + q017: NullablePrimitive? = NullablePrimitive(17), + q018: NullablePrimitive? = NullablePrimitive(18), + q019: NullablePrimitive? = NullablePrimitive(19), + q020: NullablePrimitive? = NullablePrimitive(20), + q021: NullablePrimitive? = NullablePrimitive(21), + q022: NullablePrimitive? = NullablePrimitive(22), + q023: NullablePrimitive? = NullablePrimitive(23), + q024: NullablePrimitive? = NullablePrimitive(24), + q025: NullablePrimitive? = NullablePrimitive(25), + q026: NullablePrimitive? = NullablePrimitive(26), + q027: NullablePrimitive? = NullablePrimitive(27), + q028: NullablePrimitive? = NullablePrimitive(28), + q029: NullablePrimitive? = NullablePrimitive(29), + q030: NullablePrimitive? = NullablePrimitive(30), + q031: NullablePrimitive? = NullablePrimitive(31), + q032: NullablePrimitive? = NullablePrimitive(32), + q033: NullablePrimitive? = NullablePrimitive(33), + q034: NullablePrimitive? = NullablePrimitive(34), + q035: NullablePrimitive? = NullablePrimitive(35), + q036: NullablePrimitive? = NullablePrimitive(36), + q037: NullablePrimitive? = NullablePrimitive(37), + q038: NullablePrimitive? = NullablePrimitive(38), + q039: NullablePrimitive? = NullablePrimitive(39), + q040: NullablePrimitive? = NullablePrimitive(40), + q041: NullablePrimitive? = NullablePrimitive(41), + q042: NullablePrimitive? = NullablePrimitive(42), + q043: NullablePrimitive? = NullablePrimitive(43), + q044: NullablePrimitive? = NullablePrimitive(44), + q045: NullablePrimitive? = NullablePrimitive(45), + q046: NullablePrimitive? = NullablePrimitive(46), + q047: NullablePrimitive? = NullablePrimitive(47), + q048: NullablePrimitive? = NullablePrimitive(48), + q049: NullablePrimitive? = NullablePrimitive(49), + q050: NullablePrimitive? = NullablePrimitive(50), + q051: NullablePrimitive? = NullablePrimitive(51), + q052: NullablePrimitive? = NullablePrimitive(52), + q053: NullablePrimitive? = NullablePrimitive(53), + q054: NullablePrimitive? = NullablePrimitive(54), + q055: NullablePrimitive? = NullablePrimitive(55), + q056: NullablePrimitive? = NullablePrimitive(56), + q057: NullablePrimitive? = NullablePrimitive(57), + q058: NullablePrimitive? = NullablePrimitive(58), + q059: NullablePrimitive? = NullablePrimitive(59), + q060: NullablePrimitive? = NullablePrimitive(60), + q061: NullablePrimitive? = NullablePrimitive(61), + q062: NullablePrimitive? = NullablePrimitive(62), + q063: NullablePrimitive? = NullablePrimitive(63), + q064: NullablePrimitive? = NullablePrimitive(64), + q065: NullablePrimitive? = NullablePrimitive(65), + q066: NullablePrimitive? = NullablePrimitive(66), + q067: NullablePrimitive? = NullablePrimitive(67), + q068: NullablePrimitive? = NullablePrimitive(68), + q069: NullablePrimitive? = NullablePrimitive(69), + q070: NullablePrimitive? = NullablePrimitive(70), + q071: NullablePrimitive? = NullablePrimitive(71), + q072: NullablePrimitive? = NullablePrimitive(72), + q073: NullablePrimitive? = NullablePrimitive(73), + q074: NullablePrimitive? = NullablePrimitive(74), + q075: NullablePrimitive? = NullablePrimitive(75), + q076: NullablePrimitive? = NullablePrimitive(76), + q077: NullablePrimitive? = NullablePrimitive(77), + q078: NullablePrimitive? = NullablePrimitive(78), + q079: NullablePrimitive? = NullablePrimitive(79), + q080: NullablePrimitive? = NullablePrimitive(80), + q081: NullablePrimitive? = NullablePrimitive(81), + q082: NullablePrimitive? = NullablePrimitive(82), + q083: NullablePrimitive? = NullablePrimitive(83), + q084: NullablePrimitive? = NullablePrimitive(84), + q085: NullablePrimitive? = NullablePrimitive(85), + q086: NullablePrimitive? = NullablePrimitive(86), + q087: NullablePrimitive? = NullablePrimitive(87), + q088: NullablePrimitive? = NullablePrimitive(88), + q089: NullablePrimitive? = NullablePrimitive(89), + q090: NullablePrimitive? = NullablePrimitive(90), + q091: NullablePrimitive? = NullablePrimitive(91), + q092: NullablePrimitive? = NullablePrimitive(92), + q093: NullablePrimitive? = NullablePrimitive(93), + q094: NullablePrimitive? = NullablePrimitive(94), + q095: NullablePrimitive? = NullablePrimitive(95), + q096: NullablePrimitive? = NullablePrimitive(96), + q097: NullablePrimitive? = NullablePrimitive(97), + q098: NullablePrimitive? = NullablePrimitive(98), + q099: NullablePrimitive? = NullablePrimitive(99), + q100: NullablePrimitive? = NullablePrimitive(100), + q101: NullablePrimitive? = NullablePrimitive(101), + q102: NullablePrimitive? = NullablePrimitive(102), + q103: NullablePrimitive? = NullablePrimitive(103), + q104: NullablePrimitive? = NullablePrimitive(104), + q105: NullablePrimitive? = NullablePrimitive(105), + q106: NullablePrimitive? = NullablePrimitive(106), + q107: NullablePrimitive? = NullablePrimitive(107), + q108: NullablePrimitive? = NullablePrimitive(108), + q109: NullablePrimitive? = NullablePrimitive(109), + q110: NullablePrimitive? = NullablePrimitive(110), + q111: NullablePrimitive? = NullablePrimitive(111), + q112: NullablePrimitive? = NullablePrimitive(112), + q113: NullablePrimitive? = NullablePrimitive(113), + q114: NullablePrimitive? = NullablePrimitive(114), + q115: NullablePrimitive? = NullablePrimitive(115), + q116: NullablePrimitive? = NullablePrimitive(116), + q117: NullablePrimitive? = NullablePrimitive(117), + q118: NullablePrimitive? = NullablePrimitive(118), + q119: NullablePrimitive? = NullablePrimitive(119), + q120: NullablePrimitive? = NullablePrimitive(120), + q121: NullablePrimitive? = NullablePrimitive(121), + q122: NullablePrimitive? = NullablePrimitive(122), + q123: NullablePrimitive? = NullablePrimitive(123), + q124: NullablePrimitive? = NullablePrimitive(124), + q125: NullablePrimitive? = NullablePrimitive(125), + q126: NullablePrimitive? = NullablePrimitive(126), + q127: NullablePrimitive? = NullablePrimitive(127), + q128: NullablePrimitive? = NullablePrimitive(128), + q129: NullablePrimitive? = NullablePrimitive(129), + q130: NullablePrimitive? = NullablePrimitive(130), + q131: NullablePrimitive? = NullablePrimitive(131), + q132: NullablePrimitive? = NullablePrimitive(132), + q133: NullablePrimitive? = NullablePrimitive(133), + q134: NullablePrimitive? = NullablePrimitive(134), + q135: NullablePrimitive? = NullablePrimitive(135), + q136: NullablePrimitive? = NullablePrimitive(136), + q137: NullablePrimitive? = NullablePrimitive(137), + q138: NullablePrimitive? = NullablePrimitive(138), + q139: NullablePrimitive? = NullablePrimitive(139), + q140: NullablePrimitive? = NullablePrimitive(140), + q141: NullablePrimitive? = NullablePrimitive(141), + q142: NullablePrimitive? = NullablePrimitive(142), + q143: NullablePrimitive? = NullablePrimitive(143), + q144: NullablePrimitive? = NullablePrimitive(144), + q145: NullablePrimitive? = NullablePrimitive(145), + q146: NullablePrimitive? = NullablePrimitive(146), + q147: NullablePrimitive? = NullablePrimitive(147), + q148: NullablePrimitive? = NullablePrimitive(148), + q149: NullablePrimitive? = NullablePrimitive(149), + q150: NullablePrimitive? = NullablePrimitive(150), + q151: NullablePrimitive? = NullablePrimitive(151), + q152: NullablePrimitive? = NullablePrimitive(152), + q153: NullablePrimitive? = NullablePrimitive(153), + q154: NullablePrimitive? = NullablePrimitive(154), + q155: NullablePrimitive? = NullablePrimitive(155), + q156: NullablePrimitive? = NullablePrimitive(156), + q157: NullablePrimitive? = NullablePrimitive(157), + q158: NullablePrimitive? = NullablePrimitive(158), + q159: NullablePrimitive? = NullablePrimitive(159), + q160: NullablePrimitive? = NullablePrimitive(160), + q161: NullablePrimitive? = NullablePrimitive(161), + q162: NullablePrimitive? = NullablePrimitive(162), + q163: NullablePrimitive? = NullablePrimitive(163), + q164: NullablePrimitive? = NullablePrimitive(164), + q165: NullablePrimitive? = NullablePrimitive(165), + q166: NullablePrimitive? = NullablePrimitive(166), + q167: NullablePrimitive? = NullablePrimitive(167), + q168: NullablePrimitive? = NullablePrimitive(168), + q169: NullablePrimitive? = NullablePrimitive(169), + q170: NullablePrimitive? = NullablePrimitive(170), + q171: NullablePrimitive? = NullablePrimitive(171), + q172: NullablePrimitive? = NullablePrimitive(172), + q173: NullablePrimitive? = NullablePrimitive(173), + q174: NullablePrimitive? = NullablePrimitive(174), + q175: NullablePrimitive? = NullablePrimitive(175), + q176: NullablePrimitive? = NullablePrimitive(176), + q177: NullablePrimitive? = NullablePrimitive(177), + q178: NullablePrimitive? = NullablePrimitive(178), + q179: NullablePrimitive? = NullablePrimitive(179), + q180: NullablePrimitive? = NullablePrimitive(180), + q181: NullablePrimitive? = NullablePrimitive(181), + q182: NullablePrimitive? = NullablePrimitive(182), + q183: NullablePrimitive? = NullablePrimitive(183), + q184: NullablePrimitive? = NullablePrimitive(184), + q185: NullablePrimitive? = NullablePrimitive(185), + q186: NullablePrimitive? = NullablePrimitive(186), + q187: NullablePrimitive? = NullablePrimitive(187), + q188: NullablePrimitive? = NullablePrimitive(188), + q189: NullablePrimitive? = NullablePrimitive(189), + q190: NullablePrimitive? = NullablePrimitive(190), + q191: NullablePrimitive? = NullablePrimitive(191), + q192: NullablePrimitive? = NullablePrimitive(192), + q193: NullablePrimitive? = NullablePrimitive(193), + q194: NullablePrimitive? = NullablePrimitive(194), + q195: NullablePrimitive? = NullablePrimitive(195), + q196: NullablePrimitive? = NullablePrimitive(196), + q197: NullablePrimitive? = NullablePrimitive(197), + q198: NullablePrimitive? = NullablePrimitive(198), + q199: NullablePrimitive? = NullablePrimitive(199), + q200: NullablePrimitive? = NullablePrimitive(200), + q201: NullablePrimitive? = NullablePrimitive(201), + q202: NullablePrimitive? = NullablePrimitive(202), + q203: NullablePrimitive? = NullablePrimitive(203), + q204: NullablePrimitive? = NullablePrimitive(204), + q205: NullablePrimitive? = NullablePrimitive(205), + q206: NullablePrimitive? = NullablePrimitive(206), + q207: NullablePrimitive? = NullablePrimitive(207), + q208: NullablePrimitive? = NullablePrimitive(208), + q209: NullablePrimitive? = NullablePrimitive(209), + q210: NullablePrimitive? = NullablePrimitive(210), + q211: NullablePrimitive? = NullablePrimitive(211), + q212: NullablePrimitive? = NullablePrimitive(212), + q213: NullablePrimitive? = NullablePrimitive(213), + q214: NullablePrimitive? = NullablePrimitive(214), + q215: NullablePrimitive? = NullablePrimitive(215), + q216: NullablePrimitive? = NullablePrimitive(216), + q217: NullablePrimitive? = NullablePrimitive(217), + q218: NullablePrimitive? = NullablePrimitive(218), + q219: NullablePrimitive? = NullablePrimitive(219), + q220: NullablePrimitive? = NullablePrimitive(220), + q221: NullablePrimitive? = NullablePrimitive(221), + q222: NullablePrimitive? = NullablePrimitive(222), + q223: NullablePrimitive? = NullablePrimitive(223), + q224: NullablePrimitive? = NullablePrimitive(224), + q225: NullablePrimitive? = NullablePrimitive(225), + q226: NullablePrimitive? = NullablePrimitive(226), + q227: NullablePrimitive? = NullablePrimitive(227), + q228: NullablePrimitive? = NullablePrimitive(228), + q229: NullablePrimitive? = NullablePrimitive(229), + q230: NullablePrimitive? = NullablePrimitive(230), + q231: NullablePrimitive? = NullablePrimitive(231), + q232: NullablePrimitive? = NullablePrimitive(232), + q233: NullablePrimitive? = NullablePrimitive(233), + q234: NullablePrimitive? = NullablePrimitive(234), + q235: NullablePrimitive? = NullablePrimitive(235), + q236: NullablePrimitive? = NullablePrimitive(236), + q237: NullablePrimitive? = NullablePrimitive(237), + q238: NullablePrimitive? = NullablePrimitive(238), + q239: NullablePrimitive? = NullablePrimitive(239), + q240: NullablePrimitive? = NullablePrimitive(240), + q241: NullablePrimitive? = NullablePrimitive(241), + q242: NullablePrimitive? = NullablePrimitive(242), + q243: NullablePrimitive? = NullablePrimitive(243), + ) = DstMax( + q000, + q001, + q002, + q003, + q004, + q005, + q006, + q007, + q008, + q009, + q010, + q011, + q012, + q013, + q014, + q015, + q016, + q017, + q018, + q019, + q020, + q021, + q022, + q023, + q024, + q025, + q026, + q027, + q028, + q029, + q030, + q031, + q032, + q033, + q034, + q035, + q036, + q037, + q038, + q039, + q040, + q041, + q042, + q043, + q044, + q045, + q046, + q047, + q048, + q049, + q050, + q051, + q052, + q053, + q054, + q055, + q056, + q057, + q058, + q059, + q060, + q061, + q062, + q063, + q064, + q065, + q066, + q067, + q068, + q069, + q070, + q071, + q072, + q073, + q074, + q075, + q076, + q077, + q078, + q079, + q080, + q081, + q082, + q083, + q084, + q085, + q086, + q087, + q088, + q089, + q090, + q091, + q092, + q093, + q094, + q095, + q096, + q097, + q098, + q099, + q100, + q101, + q102, + q103, + q104, + q105, + q106, + q107, + q108, + q109, + q110, + q111, + q112, + q113, + q114, + q115, + q116, + q117, + q118, + q119, + q120, + q121, + q122, + q123, + q124, + q125, + q126, + q127, + q128, + q129, + q130, + q131, + q132, + q133, + q134, + q135, + q136, + q137, + q138, + q139, + q140, + q141, + q142, + q143, + q144, + q145, + q146, + q147, + q148, + q149, + q150, + q151, + q152, + q153, + q154, + q155, + q156, + q157, + q158, + q159, + q160, + q161, + q162, + q163, + q164, + q165, + q166, + q167, + q168, + q169, + q170, + q171, + q172, + q173, + q174, + q175, + q176, + q177, + q178, + q179, + q180, + q181, + q182, + q183, + q184, + q185, + q186, + q187, + q188, + q189, + q190, + q191, + q192, + q193, + q194, + q195, + q196, + q197, + q198, + q199, + q200, + q201, + q202, + q203, + q204, + q205, + q206, + q207, + q208, + q209, + q210, + q211, + q212, + q213, + q214, + q215, + q216, + q217, + q218, + q219, + q220, + q221, + q222, + q223, + q224, + q225, + q226, + q227, + q228, + q229, + q230, + q231, + q232, + q233, + q234, + q235, + q236, + q237, + q238, + q239, + q240, + q241, + q242, + q243, + ) + } + } + + @Test + fun testMax() { + assertReflectEquals(DstMax.creator(), defaultMapper.readValue("{}")) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt new file mode 100644 index 00000000..6453368c --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/nullablePrimitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt @@ -0,0 +1,1453 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.parameterSize.nullablePrimitive + +import com.fasterxml.jackson.annotation.JsonCreator +import io.github.projectmapk.jackson.module.kogera.assertReflectEquals +import io.github.projectmapk.jackson.module.kogera.callPrimaryConstructor +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.NullablePrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +// Convert the property p to q (but not the value) to make it an input to the factory function. +private fun replacePQ(src: String) = src.replace(Regex("""p\d+":""")) { "q" + it.value.substring(1) } + +/** + * Up to argument size 32 there is one mask argument for the default argument, + * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested. + * Also, the maximum size of arguments that can be set by a constructor + * that includes a value class as an argument is 253 (one less by DefaultConstructorMarker), so test that case as well. + */ +class DeserializeByFactoryWithoutDefaultArgumentsTest { + data class Dst32( + val p00: NullablePrimitive, + val p01: NullablePrimitive, + val p02: NullablePrimitive, + val p03: NullablePrimitive, + val p04: NullablePrimitive, + val p05: NullablePrimitive, + val p06: NullablePrimitive, + val p07: NullablePrimitive, + val p08: NullablePrimitive, + val p09: NullablePrimitive, + val p10: NullablePrimitive, + val p11: NullablePrimitive, + val p12: NullablePrimitive, + val p13: NullablePrimitive, + val p14: NullablePrimitive, + val p15: NullablePrimitive, + val p16: NullablePrimitive, + val p17: NullablePrimitive, + val p18: NullablePrimitive, + val p19: NullablePrimitive, + val p20: NullablePrimitive, + val p21: NullablePrimitive, + val p22: NullablePrimitive, + val p23: NullablePrimitive, + val p24: NullablePrimitive, + val p25: NullablePrimitive, + val p26: NullablePrimitive, + val p27: NullablePrimitive, + val p28: NullablePrimitive, + val p29: NullablePrimitive, + val p30: NullablePrimitive, + val p31: NullablePrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: NullablePrimitive, + q01: NullablePrimitive, + q02: NullablePrimitive, + q03: NullablePrimitive, + q04: NullablePrimitive, + q05: NullablePrimitive, + q06: NullablePrimitive, + q07: NullablePrimitive, + q08: NullablePrimitive, + q09: NullablePrimitive, + q10: NullablePrimitive, + q11: NullablePrimitive, + q12: NullablePrimitive, + q13: NullablePrimitive, + q14: NullablePrimitive, + q15: NullablePrimitive, + q16: NullablePrimitive, + q17: NullablePrimitive, + q18: NullablePrimitive, + q19: NullablePrimitive, + q20: NullablePrimitive, + q21: NullablePrimitive, + q22: NullablePrimitive, + q23: NullablePrimitive, + q24: NullablePrimitive, + q25: NullablePrimitive, + q26: NullablePrimitive, + q27: NullablePrimitive, + q28: NullablePrimitive, + q29: NullablePrimitive, + q30: NullablePrimitive, + q31: NullablePrimitive, + ) = Dst32( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + ) + } + } + + @Test + fun test32() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst33( + val p00: NullablePrimitive, + val p01: NullablePrimitive, + val p02: NullablePrimitive, + val p03: NullablePrimitive, + val p04: NullablePrimitive, + val p05: NullablePrimitive, + val p06: NullablePrimitive, + val p07: NullablePrimitive, + val p08: NullablePrimitive, + val p09: NullablePrimitive, + val p10: NullablePrimitive, + val p11: NullablePrimitive, + val p12: NullablePrimitive, + val p13: NullablePrimitive, + val p14: NullablePrimitive, + val p15: NullablePrimitive, + val p16: NullablePrimitive, + val p17: NullablePrimitive, + val p18: NullablePrimitive, + val p19: NullablePrimitive, + val p20: NullablePrimitive, + val p21: NullablePrimitive, + val p22: NullablePrimitive, + val p23: NullablePrimitive, + val p24: NullablePrimitive, + val p25: NullablePrimitive, + val p26: NullablePrimitive, + val p27: NullablePrimitive, + val p28: NullablePrimitive, + val p29: NullablePrimitive, + val p30: NullablePrimitive, + val p31: NullablePrimitive, + val p32: NullablePrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: NullablePrimitive, + q01: NullablePrimitive, + q02: NullablePrimitive, + q03: NullablePrimitive, + q04: NullablePrimitive, + q05: NullablePrimitive, + q06: NullablePrimitive, + q07: NullablePrimitive, + q08: NullablePrimitive, + q09: NullablePrimitive, + q10: NullablePrimitive, + q11: NullablePrimitive, + q12: NullablePrimitive, + q13: NullablePrimitive, + q14: NullablePrimitive, + q15: NullablePrimitive, + q16: NullablePrimitive, + q17: NullablePrimitive, + q18: NullablePrimitive, + q19: NullablePrimitive, + q20: NullablePrimitive, + q21: NullablePrimitive, + q22: NullablePrimitive, + q23: NullablePrimitive, + q24: NullablePrimitive, + q25: NullablePrimitive, + q26: NullablePrimitive, + q27: NullablePrimitive, + q28: NullablePrimitive, + q29: NullablePrimitive, + q30: NullablePrimitive, + q31: NullablePrimitive, + q32: NullablePrimitive, + ) = Dst33( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + ) + } + } + + @Test + fun test33() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst64( + val p00: NullablePrimitive, + val p01: NullablePrimitive, + val p02: NullablePrimitive, + val p03: NullablePrimitive, + val p04: NullablePrimitive, + val p05: NullablePrimitive, + val p06: NullablePrimitive, + val p07: NullablePrimitive, + val p08: NullablePrimitive, + val p09: NullablePrimitive, + val p10: NullablePrimitive, + val p11: NullablePrimitive, + val p12: NullablePrimitive, + val p13: NullablePrimitive, + val p14: NullablePrimitive, + val p15: NullablePrimitive, + val p16: NullablePrimitive, + val p17: NullablePrimitive, + val p18: NullablePrimitive, + val p19: NullablePrimitive, + val p20: NullablePrimitive, + val p21: NullablePrimitive, + val p22: NullablePrimitive, + val p23: NullablePrimitive, + val p24: NullablePrimitive, + val p25: NullablePrimitive, + val p26: NullablePrimitive, + val p27: NullablePrimitive, + val p28: NullablePrimitive, + val p29: NullablePrimitive, + val p30: NullablePrimitive, + val p31: NullablePrimitive, + val p32: NullablePrimitive, + val p33: NullablePrimitive, + val p34: NullablePrimitive, + val p35: NullablePrimitive, + val p36: NullablePrimitive, + val p37: NullablePrimitive, + val p38: NullablePrimitive, + val p39: NullablePrimitive, + val p40: NullablePrimitive, + val p41: NullablePrimitive, + val p42: NullablePrimitive, + val p43: NullablePrimitive, + val p44: NullablePrimitive, + val p45: NullablePrimitive, + val p46: NullablePrimitive, + val p47: NullablePrimitive, + val p48: NullablePrimitive, + val p49: NullablePrimitive, + val p50: NullablePrimitive, + val p51: NullablePrimitive, + val p52: NullablePrimitive, + val p53: NullablePrimitive, + val p54: NullablePrimitive, + val p55: NullablePrimitive, + val p56: NullablePrimitive, + val p57: NullablePrimitive, + val p58: NullablePrimitive, + val p59: NullablePrimitive, + val p60: NullablePrimitive, + val p61: NullablePrimitive, + val p62: NullablePrimitive, + val p63: NullablePrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: NullablePrimitive, + q01: NullablePrimitive, + q02: NullablePrimitive, + q03: NullablePrimitive, + q04: NullablePrimitive, + q05: NullablePrimitive, + q06: NullablePrimitive, + q07: NullablePrimitive, + q08: NullablePrimitive, + q09: NullablePrimitive, + q10: NullablePrimitive, + q11: NullablePrimitive, + q12: NullablePrimitive, + q13: NullablePrimitive, + q14: NullablePrimitive, + q15: NullablePrimitive, + q16: NullablePrimitive, + q17: NullablePrimitive, + q18: NullablePrimitive, + q19: NullablePrimitive, + q20: NullablePrimitive, + q21: NullablePrimitive, + q22: NullablePrimitive, + q23: NullablePrimitive, + q24: NullablePrimitive, + q25: NullablePrimitive, + q26: NullablePrimitive, + q27: NullablePrimitive, + q28: NullablePrimitive, + q29: NullablePrimitive, + q30: NullablePrimitive, + q31: NullablePrimitive, + q32: NullablePrimitive, + q33: NullablePrimitive, + q34: NullablePrimitive, + q35: NullablePrimitive, + q36: NullablePrimitive, + q37: NullablePrimitive, + q38: NullablePrimitive, + q39: NullablePrimitive, + q40: NullablePrimitive, + q41: NullablePrimitive, + q42: NullablePrimitive, + q43: NullablePrimitive, + q44: NullablePrimitive, + q45: NullablePrimitive, + q46: NullablePrimitive, + q47: NullablePrimitive, + q48: NullablePrimitive, + q49: NullablePrimitive, + q50: NullablePrimitive, + q51: NullablePrimitive, + q52: NullablePrimitive, + q53: NullablePrimitive, + q54: NullablePrimitive, + q55: NullablePrimitive, + q56: NullablePrimitive, + q57: NullablePrimitive, + q58: NullablePrimitive, + q59: NullablePrimitive, + q60: NullablePrimitive, + q61: NullablePrimitive, + q62: NullablePrimitive, + q63: NullablePrimitive, + ) = Dst64( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + q33, + q34, + q35, + q36, + q37, + q38, + q39, + q40, + q41, + q42, + q43, + q44, + q45, + q46, + q47, + q48, + q49, + q50, + q51, + q52, + q53, + q54, + q55, + q56, + q57, + q58, + q59, + q60, + q61, + q62, + q63, + ) + } + } + + @Test + fun test64() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst65( + val p00: NullablePrimitive, + val p01: NullablePrimitive, + val p02: NullablePrimitive, + val p03: NullablePrimitive, + val p04: NullablePrimitive, + val p05: NullablePrimitive, + val p06: NullablePrimitive, + val p07: NullablePrimitive, + val p08: NullablePrimitive, + val p09: NullablePrimitive, + val p10: NullablePrimitive, + val p11: NullablePrimitive, + val p12: NullablePrimitive, + val p13: NullablePrimitive, + val p14: NullablePrimitive, + val p15: NullablePrimitive, + val p16: NullablePrimitive, + val p17: NullablePrimitive, + val p18: NullablePrimitive, + val p19: NullablePrimitive, + val p20: NullablePrimitive, + val p21: NullablePrimitive, + val p22: NullablePrimitive, + val p23: NullablePrimitive, + val p24: NullablePrimitive, + val p25: NullablePrimitive, + val p26: NullablePrimitive, + val p27: NullablePrimitive, + val p28: NullablePrimitive, + val p29: NullablePrimitive, + val p30: NullablePrimitive, + val p31: NullablePrimitive, + val p32: NullablePrimitive, + val p33: NullablePrimitive, + val p34: NullablePrimitive, + val p35: NullablePrimitive, + val p36: NullablePrimitive, + val p37: NullablePrimitive, + val p38: NullablePrimitive, + val p39: NullablePrimitive, + val p40: NullablePrimitive, + val p41: NullablePrimitive, + val p42: NullablePrimitive, + val p43: NullablePrimitive, + val p44: NullablePrimitive, + val p45: NullablePrimitive, + val p46: NullablePrimitive, + val p47: NullablePrimitive, + val p48: NullablePrimitive, + val p49: NullablePrimitive, + val p50: NullablePrimitive, + val p51: NullablePrimitive, + val p52: NullablePrimitive, + val p53: NullablePrimitive, + val p54: NullablePrimitive, + val p55: NullablePrimitive, + val p56: NullablePrimitive, + val p57: NullablePrimitive, + val p58: NullablePrimitive, + val p59: NullablePrimitive, + val p60: NullablePrimitive, + val p61: NullablePrimitive, + val p62: NullablePrimitive, + val p63: NullablePrimitive, + val p64: NullablePrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: NullablePrimitive, + q01: NullablePrimitive, + q02: NullablePrimitive, + q03: NullablePrimitive, + q04: NullablePrimitive, + q05: NullablePrimitive, + q06: NullablePrimitive, + q07: NullablePrimitive, + q08: NullablePrimitive, + q09: NullablePrimitive, + q10: NullablePrimitive, + q11: NullablePrimitive, + q12: NullablePrimitive, + q13: NullablePrimitive, + q14: NullablePrimitive, + q15: NullablePrimitive, + q16: NullablePrimitive, + q17: NullablePrimitive, + q18: NullablePrimitive, + q19: NullablePrimitive, + q20: NullablePrimitive, + q21: NullablePrimitive, + q22: NullablePrimitive, + q23: NullablePrimitive, + q24: NullablePrimitive, + q25: NullablePrimitive, + q26: NullablePrimitive, + q27: NullablePrimitive, + q28: NullablePrimitive, + q29: NullablePrimitive, + q30: NullablePrimitive, + q31: NullablePrimitive, + q32: NullablePrimitive, + q33: NullablePrimitive, + q34: NullablePrimitive, + q35: NullablePrimitive, + q36: NullablePrimitive, + q37: NullablePrimitive, + q38: NullablePrimitive, + q39: NullablePrimitive, + q40: NullablePrimitive, + q41: NullablePrimitive, + q42: NullablePrimitive, + q43: NullablePrimitive, + q44: NullablePrimitive, + q45: NullablePrimitive, + q46: NullablePrimitive, + q47: NullablePrimitive, + q48: NullablePrimitive, + q49: NullablePrimitive, + q50: NullablePrimitive, + q51: NullablePrimitive, + q52: NullablePrimitive, + q53: NullablePrimitive, + q54: NullablePrimitive, + q55: NullablePrimitive, + q56: NullablePrimitive, + q57: NullablePrimitive, + q58: NullablePrimitive, + q59: NullablePrimitive, + q60: NullablePrimitive, + q61: NullablePrimitive, + q62: NullablePrimitive, + q63: NullablePrimitive, + q64: NullablePrimitive, + ) = Dst65( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + q33, + q34, + q35, + q36, + q37, + q38, + q39, + q40, + q41, + q42, + q43, + q44, + q45, + q46, + q47, + q48, + q49, + q50, + q51, + q52, + q53, + q54, + q55, + q56, + q57, + q58, + q59, + q60, + q61, + q62, + q63, + q64, + ) + } + } + + @Test + fun test65() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + // It cannot be a data class because the generated method would exceed the argument size limit. + class DstMax( + val p000: NullablePrimitive, + val p001: NullablePrimitive, + val p002: NullablePrimitive, + val p003: NullablePrimitive, + val p004: NullablePrimitive, + val p005: NullablePrimitive, + val p006: NullablePrimitive, + val p007: NullablePrimitive, + val p008: NullablePrimitive, + val p009: NullablePrimitive, + val p010: NullablePrimitive, + val p011: NullablePrimitive, + val p012: NullablePrimitive, + val p013: NullablePrimitive, + val p014: NullablePrimitive, + val p015: NullablePrimitive, + val p016: NullablePrimitive, + val p017: NullablePrimitive, + val p018: NullablePrimitive, + val p019: NullablePrimitive, + val p020: NullablePrimitive, + val p021: NullablePrimitive, + val p022: NullablePrimitive, + val p023: NullablePrimitive, + val p024: NullablePrimitive, + val p025: NullablePrimitive, + val p026: NullablePrimitive, + val p027: NullablePrimitive, + val p028: NullablePrimitive, + val p029: NullablePrimitive, + val p030: NullablePrimitive, + val p031: NullablePrimitive, + val p032: NullablePrimitive, + val p033: NullablePrimitive, + val p034: NullablePrimitive, + val p035: NullablePrimitive, + val p036: NullablePrimitive, + val p037: NullablePrimitive, + val p038: NullablePrimitive, + val p039: NullablePrimitive, + val p040: NullablePrimitive, + val p041: NullablePrimitive, + val p042: NullablePrimitive, + val p043: NullablePrimitive, + val p044: NullablePrimitive, + val p045: NullablePrimitive, + val p046: NullablePrimitive, + val p047: NullablePrimitive, + val p048: NullablePrimitive, + val p049: NullablePrimitive, + val p050: NullablePrimitive, + val p051: NullablePrimitive, + val p052: NullablePrimitive, + val p053: NullablePrimitive, + val p054: NullablePrimitive, + val p055: NullablePrimitive, + val p056: NullablePrimitive, + val p057: NullablePrimitive, + val p058: NullablePrimitive, + val p059: NullablePrimitive, + val p060: NullablePrimitive, + val p061: NullablePrimitive, + val p062: NullablePrimitive, + val p063: NullablePrimitive, + val p064: NullablePrimitive, + val p065: NullablePrimitive, + val p066: NullablePrimitive, + val p067: NullablePrimitive, + val p068: NullablePrimitive, + val p069: NullablePrimitive, + val p070: NullablePrimitive, + val p071: NullablePrimitive, + val p072: NullablePrimitive, + val p073: NullablePrimitive, + val p074: NullablePrimitive, + val p075: NullablePrimitive, + val p076: NullablePrimitive, + val p077: NullablePrimitive, + val p078: NullablePrimitive, + val p079: NullablePrimitive, + val p080: NullablePrimitive, + val p081: NullablePrimitive, + val p082: NullablePrimitive, + val p083: NullablePrimitive, + val p084: NullablePrimitive, + val p085: NullablePrimitive, + val p086: NullablePrimitive, + val p087: NullablePrimitive, + val p088: NullablePrimitive, + val p089: NullablePrimitive, + val p090: NullablePrimitive, + val p091: NullablePrimitive, + val p092: NullablePrimitive, + val p093: NullablePrimitive, + val p094: NullablePrimitive, + val p095: NullablePrimitive, + val p096: NullablePrimitive, + val p097: NullablePrimitive, + val p098: NullablePrimitive, + val p099: NullablePrimitive, + val p100: NullablePrimitive, + val p101: NullablePrimitive, + val p102: NullablePrimitive, + val p103: NullablePrimitive, + val p104: NullablePrimitive, + val p105: NullablePrimitive, + val p106: NullablePrimitive, + val p107: NullablePrimitive, + val p108: NullablePrimitive, + val p109: NullablePrimitive, + val p110: NullablePrimitive, + val p111: NullablePrimitive, + val p112: NullablePrimitive, + val p113: NullablePrimitive, + val p114: NullablePrimitive, + val p115: NullablePrimitive, + val p116: NullablePrimitive, + val p117: NullablePrimitive, + val p118: NullablePrimitive, + val p119: NullablePrimitive, + val p120: NullablePrimitive, + val p121: NullablePrimitive, + val p122: NullablePrimitive, + val p123: NullablePrimitive, + val p124: NullablePrimitive, + val p125: NullablePrimitive, + val p126: NullablePrimitive, + val p127: NullablePrimitive, + val p128: NullablePrimitive, + val p129: NullablePrimitive, + val p130: NullablePrimitive, + val p131: NullablePrimitive, + val p132: NullablePrimitive, + val p133: NullablePrimitive, + val p134: NullablePrimitive, + val p135: NullablePrimitive, + val p136: NullablePrimitive, + val p137: NullablePrimitive, + val p138: NullablePrimitive, + val p139: NullablePrimitive, + val p140: NullablePrimitive, + val p141: NullablePrimitive, + val p142: NullablePrimitive, + val p143: NullablePrimitive, + val p144: NullablePrimitive, + val p145: NullablePrimitive, + val p146: NullablePrimitive, + val p147: NullablePrimitive, + val p148: NullablePrimitive, + val p149: NullablePrimitive, + val p150: NullablePrimitive, + val p151: NullablePrimitive, + val p152: NullablePrimitive, + val p153: NullablePrimitive, + val p154: NullablePrimitive, + val p155: NullablePrimitive, + val p156: NullablePrimitive, + val p157: NullablePrimitive, + val p158: NullablePrimitive, + val p159: NullablePrimitive, + val p160: NullablePrimitive, + val p161: NullablePrimitive, + val p162: NullablePrimitive, + val p163: NullablePrimitive, + val p164: NullablePrimitive, + val p165: NullablePrimitive, + val p166: NullablePrimitive, + val p167: NullablePrimitive, + val p168: NullablePrimitive, + val p169: NullablePrimitive, + val p170: NullablePrimitive, + val p171: NullablePrimitive, + val p172: NullablePrimitive, + val p173: NullablePrimitive, + val p174: NullablePrimitive, + val p175: NullablePrimitive, + val p176: NullablePrimitive, + val p177: NullablePrimitive, + val p178: NullablePrimitive, + val p179: NullablePrimitive, + val p180: NullablePrimitive, + val p181: NullablePrimitive, + val p182: NullablePrimitive, + val p183: NullablePrimitive, + val p184: NullablePrimitive, + val p185: NullablePrimitive, + val p186: NullablePrimitive, + val p187: NullablePrimitive, + val p188: NullablePrimitive, + val p189: NullablePrimitive, + val p190: NullablePrimitive, + val p191: NullablePrimitive, + val p192: NullablePrimitive, + val p193: NullablePrimitive, + val p194: NullablePrimitive, + val p195: NullablePrimitive, + val p196: NullablePrimitive, + val p197: NullablePrimitive, + val p198: NullablePrimitive, + val p199: NullablePrimitive, + val p200: NullablePrimitive, + val p201: NullablePrimitive, + val p202: NullablePrimitive, + val p203: NullablePrimitive, + val p204: NullablePrimitive, + val p205: NullablePrimitive, + val p206: NullablePrimitive, + val p207: NullablePrimitive, + val p208: NullablePrimitive, + val p209: NullablePrimitive, + val p210: NullablePrimitive, + val p211: NullablePrimitive, + val p212: NullablePrimitive, + val p213: NullablePrimitive, + val p214: NullablePrimitive, + val p215: NullablePrimitive, + val p216: NullablePrimitive, + val p217: NullablePrimitive, + val p218: NullablePrimitive, + val p219: NullablePrimitive, + val p220: NullablePrimitive, + val p221: NullablePrimitive, + val p222: NullablePrimitive, + val p223: NullablePrimitive, + val p224: NullablePrimitive, + val p225: NullablePrimitive, + val p226: NullablePrimitive, + val p227: NullablePrimitive, + val p228: NullablePrimitive, + val p229: NullablePrimitive, + val p230: NullablePrimitive, + val p231: NullablePrimitive, + val p232: NullablePrimitive, + val p233: NullablePrimitive, + val p234: NullablePrimitive, + val p235: NullablePrimitive, + val p236: NullablePrimitive, + val p237: NullablePrimitive, + val p238: NullablePrimitive, + val p239: NullablePrimitive, + val p240: NullablePrimitive, + val p241: NullablePrimitive, + val p242: NullablePrimitive, + val p243: NullablePrimitive, + val p244: NullablePrimitive, + val p245: NullablePrimitive, + val p246: NullablePrimitive, + val p247: NullablePrimitive, + val p248: NullablePrimitive, + val p249: NullablePrimitive, + val p250: NullablePrimitive, + val p251: NullablePrimitive, + val p252: NullablePrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q000: NullablePrimitive, + q001: NullablePrimitive, + q002: NullablePrimitive, + q003: NullablePrimitive, + q004: NullablePrimitive, + q005: NullablePrimitive, + q006: NullablePrimitive, + q007: NullablePrimitive, + q008: NullablePrimitive, + q009: NullablePrimitive, + q010: NullablePrimitive, + q011: NullablePrimitive, + q012: NullablePrimitive, + q013: NullablePrimitive, + q014: NullablePrimitive, + q015: NullablePrimitive, + q016: NullablePrimitive, + q017: NullablePrimitive, + q018: NullablePrimitive, + q019: NullablePrimitive, + q020: NullablePrimitive, + q021: NullablePrimitive, + q022: NullablePrimitive, + q023: NullablePrimitive, + q024: NullablePrimitive, + q025: NullablePrimitive, + q026: NullablePrimitive, + q027: NullablePrimitive, + q028: NullablePrimitive, + q029: NullablePrimitive, + q030: NullablePrimitive, + q031: NullablePrimitive, + q032: NullablePrimitive, + q033: NullablePrimitive, + q034: NullablePrimitive, + q035: NullablePrimitive, + q036: NullablePrimitive, + q037: NullablePrimitive, + q038: NullablePrimitive, + q039: NullablePrimitive, + q040: NullablePrimitive, + q041: NullablePrimitive, + q042: NullablePrimitive, + q043: NullablePrimitive, + q044: NullablePrimitive, + q045: NullablePrimitive, + q046: NullablePrimitive, + q047: NullablePrimitive, + q048: NullablePrimitive, + q049: NullablePrimitive, + q050: NullablePrimitive, + q051: NullablePrimitive, + q052: NullablePrimitive, + q053: NullablePrimitive, + q054: NullablePrimitive, + q055: NullablePrimitive, + q056: NullablePrimitive, + q057: NullablePrimitive, + q058: NullablePrimitive, + q059: NullablePrimitive, + q060: NullablePrimitive, + q061: NullablePrimitive, + q062: NullablePrimitive, + q063: NullablePrimitive, + q064: NullablePrimitive, + q065: NullablePrimitive, + q066: NullablePrimitive, + q067: NullablePrimitive, + q068: NullablePrimitive, + q069: NullablePrimitive, + q070: NullablePrimitive, + q071: NullablePrimitive, + q072: NullablePrimitive, + q073: NullablePrimitive, + q074: NullablePrimitive, + q075: NullablePrimitive, + q076: NullablePrimitive, + q077: NullablePrimitive, + q078: NullablePrimitive, + q079: NullablePrimitive, + q080: NullablePrimitive, + q081: NullablePrimitive, + q082: NullablePrimitive, + q083: NullablePrimitive, + q084: NullablePrimitive, + q085: NullablePrimitive, + q086: NullablePrimitive, + q087: NullablePrimitive, + q088: NullablePrimitive, + q089: NullablePrimitive, + q090: NullablePrimitive, + q091: NullablePrimitive, + q092: NullablePrimitive, + q093: NullablePrimitive, + q094: NullablePrimitive, + q095: NullablePrimitive, + q096: NullablePrimitive, + q097: NullablePrimitive, + q098: NullablePrimitive, + q099: NullablePrimitive, + q100: NullablePrimitive, + q101: NullablePrimitive, + q102: NullablePrimitive, + q103: NullablePrimitive, + q104: NullablePrimitive, + q105: NullablePrimitive, + q106: NullablePrimitive, + q107: NullablePrimitive, + q108: NullablePrimitive, + q109: NullablePrimitive, + q110: NullablePrimitive, + q111: NullablePrimitive, + q112: NullablePrimitive, + q113: NullablePrimitive, + q114: NullablePrimitive, + q115: NullablePrimitive, + q116: NullablePrimitive, + q117: NullablePrimitive, + q118: NullablePrimitive, + q119: NullablePrimitive, + q120: NullablePrimitive, + q121: NullablePrimitive, + q122: NullablePrimitive, + q123: NullablePrimitive, + q124: NullablePrimitive, + q125: NullablePrimitive, + q126: NullablePrimitive, + q127: NullablePrimitive, + q128: NullablePrimitive, + q129: NullablePrimitive, + q130: NullablePrimitive, + q131: NullablePrimitive, + q132: NullablePrimitive, + q133: NullablePrimitive, + q134: NullablePrimitive, + q135: NullablePrimitive, + q136: NullablePrimitive, + q137: NullablePrimitive, + q138: NullablePrimitive, + q139: NullablePrimitive, + q140: NullablePrimitive, + q141: NullablePrimitive, + q142: NullablePrimitive, + q143: NullablePrimitive, + q144: NullablePrimitive, + q145: NullablePrimitive, + q146: NullablePrimitive, + q147: NullablePrimitive, + q148: NullablePrimitive, + q149: NullablePrimitive, + q150: NullablePrimitive, + q151: NullablePrimitive, + q152: NullablePrimitive, + q153: NullablePrimitive, + q154: NullablePrimitive, + q155: NullablePrimitive, + q156: NullablePrimitive, + q157: NullablePrimitive, + q158: NullablePrimitive, + q159: NullablePrimitive, + q160: NullablePrimitive, + q161: NullablePrimitive, + q162: NullablePrimitive, + q163: NullablePrimitive, + q164: NullablePrimitive, + q165: NullablePrimitive, + q166: NullablePrimitive, + q167: NullablePrimitive, + q168: NullablePrimitive, + q169: NullablePrimitive, + q170: NullablePrimitive, + q171: NullablePrimitive, + q172: NullablePrimitive, + q173: NullablePrimitive, + q174: NullablePrimitive, + q175: NullablePrimitive, + q176: NullablePrimitive, + q177: NullablePrimitive, + q178: NullablePrimitive, + q179: NullablePrimitive, + q180: NullablePrimitive, + q181: NullablePrimitive, + q182: NullablePrimitive, + q183: NullablePrimitive, + q184: NullablePrimitive, + q185: NullablePrimitive, + q186: NullablePrimitive, + q187: NullablePrimitive, + q188: NullablePrimitive, + q189: NullablePrimitive, + q190: NullablePrimitive, + q191: NullablePrimitive, + q192: NullablePrimitive, + q193: NullablePrimitive, + q194: NullablePrimitive, + q195: NullablePrimitive, + q196: NullablePrimitive, + q197: NullablePrimitive, + q198: NullablePrimitive, + q199: NullablePrimitive, + q200: NullablePrimitive, + q201: NullablePrimitive, + q202: NullablePrimitive, + q203: NullablePrimitive, + q204: NullablePrimitive, + q205: NullablePrimitive, + q206: NullablePrimitive, + q207: NullablePrimitive, + q208: NullablePrimitive, + q209: NullablePrimitive, + q210: NullablePrimitive, + q211: NullablePrimitive, + q212: NullablePrimitive, + q213: NullablePrimitive, + q214: NullablePrimitive, + q215: NullablePrimitive, + q216: NullablePrimitive, + q217: NullablePrimitive, + q218: NullablePrimitive, + q219: NullablePrimitive, + q220: NullablePrimitive, + q221: NullablePrimitive, + q222: NullablePrimitive, + q223: NullablePrimitive, + q224: NullablePrimitive, + q225: NullablePrimitive, + q226: NullablePrimitive, + q227: NullablePrimitive, + q228: NullablePrimitive, + q229: NullablePrimitive, + q230: NullablePrimitive, + q231: NullablePrimitive, + q232: NullablePrimitive, + q233: NullablePrimitive, + q234: NullablePrimitive, + q235: NullablePrimitive, + q236: NullablePrimitive, + q237: NullablePrimitive, + q238: NullablePrimitive, + q239: NullablePrimitive, + q240: NullablePrimitive, + q241: NullablePrimitive, + q242: NullablePrimitive, + q243: NullablePrimitive, + q244: NullablePrimitive, + q245: NullablePrimitive, + q246: NullablePrimitive, + q247: NullablePrimitive, + q248: NullablePrimitive, + q249: NullablePrimitive, + q250: NullablePrimitive, + q251: NullablePrimitive, + q252: NullablePrimitive, + ) = DstMax( + q000, + q001, + q002, + q003, + q004, + q005, + q006, + q007, + q008, + q009, + q010, + q011, + q012, + q013, + q014, + q015, + q016, + q017, + q018, + q019, + q020, + q021, + q022, + q023, + q024, + q025, + q026, + q027, + q028, + q029, + q030, + q031, + q032, + q033, + q034, + q035, + q036, + q037, + q038, + q039, + q040, + q041, + q042, + q043, + q044, + q045, + q046, + q047, + q048, + q049, + q050, + q051, + q052, + q053, + q054, + q055, + q056, + q057, + q058, + q059, + q060, + q061, + q062, + q063, + q064, + q065, + q066, + q067, + q068, + q069, + q070, + q071, + q072, + q073, + q074, + q075, + q076, + q077, + q078, + q079, + q080, + q081, + q082, + q083, + q084, + q085, + q086, + q087, + q088, + q089, + q090, + q091, + q092, + q093, + q094, + q095, + q096, + q097, + q098, + q099, + q100, + q101, + q102, + q103, + q104, + q105, + q106, + q107, + q108, + q109, + q110, + q111, + q112, + q113, + q114, + q115, + q116, + q117, + q118, + q119, + q120, + q121, + q122, + q123, + q124, + q125, + q126, + q127, + q128, + q129, + q130, + q131, + q132, + q133, + q134, + q135, + q136, + q137, + q138, + q139, + q140, + q141, + q142, + q143, + q144, + q145, + q146, + q147, + q148, + q149, + q150, + q151, + q152, + q153, + q154, + q155, + q156, + q157, + q158, + q159, + q160, + q161, + q162, + q163, + q164, + q165, + q166, + q167, + q168, + q169, + q170, + q171, + q172, + q173, + q174, + q175, + q176, + q177, + q178, + q179, + q180, + q181, + q182, + q183, + q184, + q185, + q186, + q187, + q188, + q189, + q190, + q191, + q192, + q193, + q194, + q195, + q196, + q197, + q198, + q199, + q200, + q201, + q202, + q203, + q204, + q205, + q206, + q207, + q208, + q209, + q210, + q211, + q212, + q213, + q214, + q215, + q216, + q217, + q218, + q219, + q220, + q221, + q222, + q223, + q224, + q225, + q226, + q227, + q228, + q229, + q230, + q231, + q232, + q233, + q234, + q235, + q236, + q237, + q238, + q239, + q240, + q241, + q242, + q243, + q244, + q245, + q246, + q247, + q248, + q249, + q250, + q251, + q252, + ) + } + } + + @Test + fun testMax() { + val expected = callPrimaryConstructor { NullablePrimitive(it.index) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + assertReflectEquals(expected, defaultMapper.readValue(src)) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByConstructorWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByConstructorWithDefaultArgumentsTest.kt index e7667c34..dd123ecf 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByConstructorWithDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByConstructorWithDefaultArgumentsTest.kt @@ -46,7 +46,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p28: Primitive = Primitive(28), val p29: Primitive = Primitive(29), val p30: Primitive = Primitive(30), - val p31: Primitive = Primitive(31) + val p31: Primitive = Primitive(31), ) @Test @@ -87,7 +87,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p29: Primitive = Primitive(29), val p30: Primitive = Primitive(30), val p31: Primitive = Primitive(31), - val p32: Primitive = Primitive(32) + val p32: Primitive = Primitive(32), ) @Test @@ -159,7 +159,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p60: Primitive = Primitive(60), val p61: Primitive = Primitive(61), val p62: Primitive = Primitive(62), - val p63: Primitive = Primitive(63) + val p63: Primitive = Primitive(63), ) @Test @@ -232,7 +232,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p61: Primitive = Primitive(61), val p62: Primitive = Primitive(62), val p63: Primitive = Primitive(63), - val p64: Primitive = Primitive(64) + val p64: Primitive = Primitive(64), ) @Test @@ -486,7 +486,7 @@ class DeserializeByConstructorWithDefaultArgumentsTest { val p241: Primitive = Primitive(241), val p242: Primitive = Primitive(242), val p243: Primitive = Primitive(243), - val p244: Primitive = Primitive(244) + val p244: Primitive = Primitive(244), ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt index 429edc31..d7ba95eb 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt @@ -47,7 +47,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p28: Primitive, val p29: Primitive, val p30: Primitive, - val p31: Primitive + val p31: Primitive, ) @Test @@ -90,7 +90,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p29: Primitive, val p30: Primitive, val p31: Primitive, - val p32: Primitive + val p32: Primitive, ) @Test @@ -164,7 +164,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p60: Primitive, val p61: Primitive, val p62: Primitive, - val p63: Primitive + val p63: Primitive, ) @Test @@ -239,7 +239,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p61: Primitive, val p62: Primitive, val p63: Primitive, - val p64: Primitive + val p64: Primitive, ) @Test @@ -503,7 +503,7 @@ class DeserializeByConstructorWithoutDefaultArgumentsTest { val p249: Primitive, val p250: Primitive, val p251: Primitive, - val p252: Primitive + val p252: Primitive, ) @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByFactoryWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByFactoryWithDefaultArgumentsTest.kt index a84be69b..8ec79900 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByFactoryWithDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByFactoryWithDefaultArgumentsTest.kt @@ -46,7 +46,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p28: Primitive, val p29: Primitive, val p30: Primitive, - val p31: Primitive + val p31: Primitive, ) { companion object { @JvmStatic @@ -83,7 +83,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q28: Primitive = Primitive(28), q29: Primitive = Primitive(29), q30: Primitive = Primitive(30), - q31: Primitive = Primitive(31) + q31: Primitive = Primitive(31), ) = Dst32( q00, q01, @@ -116,7 +116,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q28, q29, q30, - q31 + q31, ) } } @@ -159,7 +159,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p29: Primitive, val p30: Primitive, val p31: Primitive, - val p32: Primitive + val p32: Primitive, ) { companion object { @JvmStatic @@ -197,7 +197,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q29: Primitive = Primitive(29), q30: Primitive = Primitive(30), q31: Primitive = Primitive(31), - q32: Primitive = Primitive(32) + q32: Primitive = Primitive(32), ) = Dst33( q00, q01, @@ -231,7 +231,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q29, q30, q31, - q32 + q32, ) } } @@ -305,7 +305,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p60: Primitive, val p61: Primitive, val p62: Primitive, - val p63: Primitive + val p63: Primitive, ) { companion object { @JvmStatic @@ -374,7 +374,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q60: Primitive = Primitive(60), q61: Primitive = Primitive(61), q62: Primitive = Primitive(62), - q63: Primitive = Primitive(63) + q63: Primitive = Primitive(63), ) = Dst64( q00, q01, @@ -439,7 +439,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q60, q61, q62, - q63 + q63, ) } } @@ -514,7 +514,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p61: Primitive, val p62: Primitive, val p63: Primitive, - val p64: Primitive + val p64: Primitive, ) { companion object { @JvmStatic @@ -584,7 +584,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q61: Primitive = Primitive(61), q62: Primitive = Primitive(62), q63: Primitive = Primitive(63), - q64: Primitive = Primitive(64) + q64: Primitive = Primitive(64), ) = Dst65( q00, q01, @@ -650,7 +650,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q61, q62, q63, - q64 + q64, ) } } @@ -905,7 +905,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { val p240: Primitive, val p241: Primitive, val p242: Primitive, - val p243: Primitive + val p243: Primitive, ) { companion object { @JvmStatic @@ -1154,7 +1154,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q240: Primitive = Primitive(240), q241: Primitive = Primitive(241), q242: Primitive = Primitive(242), - q243: Primitive = Primitive(243) + q243: Primitive = Primitive(243), ) = DstMax( q000, q001, @@ -1399,7 +1399,7 @@ class DeserializeByFactoryWithDefaultArgumentsTest { q240, q241, q242, - q243 + q243, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt index cb5d946a..1a9e6914 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/primitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt @@ -51,7 +51,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p28: Primitive, val p29: Primitive, val p30: Primitive, - val p31: Primitive + val p31: Primitive, ) { companion object { @JvmStatic @@ -88,7 +88,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q28: Primitive, q29: Primitive, q30: Primitive, - q31: Primitive + q31: Primitive, ) = Dst32( q00, q01, @@ -121,7 +121,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q28, q29, q30, - q31 + q31, ) } } @@ -166,7 +166,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p29: Primitive, val p30: Primitive, val p31: Primitive, - val p32: Primitive + val p32: Primitive, ) { companion object { @JvmStatic @@ -204,7 +204,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q29: Primitive, q30: Primitive, q31: Primitive, - q32: Primitive + q32: Primitive, ) = Dst33( q00, q01, @@ -238,7 +238,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q29, q30, q31, - q32 + q32, ) } } @@ -314,7 +314,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p60: Primitive, val p61: Primitive, val p62: Primitive, - val p63: Primitive + val p63: Primitive, ) { companion object { @JvmStatic @@ -383,7 +383,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q60: Primitive, q61: Primitive, q62: Primitive, - q63: Primitive + q63: Primitive, ) = Dst64( q00, q01, @@ -448,7 +448,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q60, q61, q62, - q63 + q63, ) } } @@ -525,7 +525,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p61: Primitive, val p62: Primitive, val p63: Primitive, - val p64: Primitive + val p64: Primitive, ) { companion object { @JvmStatic @@ -595,7 +595,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q61: Primitive, q62: Primitive, q63: Primitive, - q64: Primitive + q64: Primitive, ) = Dst65( q00, q01, @@ -661,7 +661,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q61, q62, q63, - q64 + q64, ) } } @@ -927,7 +927,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { val p249: Primitive, val p250: Primitive, val p251: Primitive, - val p252: Primitive + val p252: Primitive, ) { companion object { @JvmStatic @@ -1185,7 +1185,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q249: Primitive, q250: Primitive, q251: Primitive, - q252: Primitive + q252: Primitive, ) = DstMax( q000, q001, @@ -1439,7 +1439,7 @@ class DeserializeByFactoryWithoutDefaultArgumentsTest { q249, q250, q251, - q252 + q252, ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByConstructorWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByConstructorWithDefaultArgumentsTest.kt new file mode 100644 index 00000000..7d169766 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByConstructorWithDefaultArgumentsTest.kt @@ -0,0 +1,375 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.parameterSize.twoUnitPrimitive + +import io.github.projectmapk.jackson.module.kogera.assertReflectEquals +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +/** + * Up to argument size 32 there is one mask argument for the default argument, + * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested. + * Also, if the default argument is set, the maximum argument size that can be set in the constructor is 124, + * so that case is tested as well. + */ +class DeserializeByConstructorWithDefaultArgumentsTest { + data class Dst32( + val p00: TwoUnitPrimitive = TwoUnitPrimitive(0), + val p01: TwoUnitPrimitive = TwoUnitPrimitive(1), + val p02: TwoUnitPrimitive = TwoUnitPrimitive(2), + val p03: TwoUnitPrimitive = TwoUnitPrimitive(3), + val p04: TwoUnitPrimitive = TwoUnitPrimitive(4), + val p05: TwoUnitPrimitive = TwoUnitPrimitive(5), + val p06: TwoUnitPrimitive = TwoUnitPrimitive(6), + val p07: TwoUnitPrimitive = TwoUnitPrimitive(7), + val p08: TwoUnitPrimitive = TwoUnitPrimitive(8), + val p09: TwoUnitPrimitive = TwoUnitPrimitive(9), + val p10: TwoUnitPrimitive = TwoUnitPrimitive(10), + val p11: TwoUnitPrimitive = TwoUnitPrimitive(11), + val p12: TwoUnitPrimitive = TwoUnitPrimitive(12), + val p13: TwoUnitPrimitive = TwoUnitPrimitive(13), + val p14: TwoUnitPrimitive = TwoUnitPrimitive(14), + val p15: TwoUnitPrimitive = TwoUnitPrimitive(15), + val p16: TwoUnitPrimitive = TwoUnitPrimitive(16), + val p17: TwoUnitPrimitive = TwoUnitPrimitive(17), + val p18: TwoUnitPrimitive = TwoUnitPrimitive(18), + val p19: TwoUnitPrimitive = TwoUnitPrimitive(19), + val p20: TwoUnitPrimitive = TwoUnitPrimitive(20), + val p21: TwoUnitPrimitive = TwoUnitPrimitive(21), + val p22: TwoUnitPrimitive = TwoUnitPrimitive(22), + val p23: TwoUnitPrimitive = TwoUnitPrimitive(23), + val p24: TwoUnitPrimitive = TwoUnitPrimitive(24), + val p25: TwoUnitPrimitive = TwoUnitPrimitive(25), + val p26: TwoUnitPrimitive = TwoUnitPrimitive(26), + val p27: TwoUnitPrimitive = TwoUnitPrimitive(27), + val p28: TwoUnitPrimitive = TwoUnitPrimitive(28), + val p29: TwoUnitPrimitive = TwoUnitPrimitive(29), + val p30: TwoUnitPrimitive = TwoUnitPrimitive(30), + val p31: TwoUnitPrimitive = TwoUnitPrimitive(31), + ) + + @Test + fun test32() { + Assertions.assertEquals(Dst32(), defaultMapper.readValue("{}")) + } + + data class Dst33( + val p00: TwoUnitPrimitive = TwoUnitPrimitive(0), + val p01: TwoUnitPrimitive = TwoUnitPrimitive(1), + val p02: TwoUnitPrimitive = TwoUnitPrimitive(2), + val p03: TwoUnitPrimitive = TwoUnitPrimitive(3), + val p04: TwoUnitPrimitive = TwoUnitPrimitive(4), + val p05: TwoUnitPrimitive = TwoUnitPrimitive(5), + val p06: TwoUnitPrimitive = TwoUnitPrimitive(6), + val p07: TwoUnitPrimitive = TwoUnitPrimitive(7), + val p08: TwoUnitPrimitive = TwoUnitPrimitive(8), + val p09: TwoUnitPrimitive = TwoUnitPrimitive(9), + val p10: TwoUnitPrimitive = TwoUnitPrimitive(10), + val p11: TwoUnitPrimitive = TwoUnitPrimitive(11), + val p12: TwoUnitPrimitive = TwoUnitPrimitive(12), + val p13: TwoUnitPrimitive = TwoUnitPrimitive(13), + val p14: TwoUnitPrimitive = TwoUnitPrimitive(14), + val p15: TwoUnitPrimitive = TwoUnitPrimitive(15), + val p16: TwoUnitPrimitive = TwoUnitPrimitive(16), + val p17: TwoUnitPrimitive = TwoUnitPrimitive(17), + val p18: TwoUnitPrimitive = TwoUnitPrimitive(18), + val p19: TwoUnitPrimitive = TwoUnitPrimitive(19), + val p20: TwoUnitPrimitive = TwoUnitPrimitive(20), + val p21: TwoUnitPrimitive = TwoUnitPrimitive(21), + val p22: TwoUnitPrimitive = TwoUnitPrimitive(22), + val p23: TwoUnitPrimitive = TwoUnitPrimitive(23), + val p24: TwoUnitPrimitive = TwoUnitPrimitive(24), + val p25: TwoUnitPrimitive = TwoUnitPrimitive(25), + val p26: TwoUnitPrimitive = TwoUnitPrimitive(26), + val p27: TwoUnitPrimitive = TwoUnitPrimitive(27), + val p28: TwoUnitPrimitive = TwoUnitPrimitive(28), + val p29: TwoUnitPrimitive = TwoUnitPrimitive(29), + val p30: TwoUnitPrimitive = TwoUnitPrimitive(30), + val p31: TwoUnitPrimitive = TwoUnitPrimitive(31), + val p32: TwoUnitPrimitive = TwoUnitPrimitive(32), + ) + + @Test + fun test33() { + Assertions.assertEquals(Dst33(), defaultMapper.readValue("{}")) + } + + data class Dst64( + val p00: TwoUnitPrimitive = TwoUnitPrimitive(0), + val p01: TwoUnitPrimitive = TwoUnitPrimitive(1), + val p02: TwoUnitPrimitive = TwoUnitPrimitive(2), + val p03: TwoUnitPrimitive = TwoUnitPrimitive(3), + val p04: TwoUnitPrimitive = TwoUnitPrimitive(4), + val p05: TwoUnitPrimitive = TwoUnitPrimitive(5), + val p06: TwoUnitPrimitive = TwoUnitPrimitive(6), + val p07: TwoUnitPrimitive = TwoUnitPrimitive(7), + val p08: TwoUnitPrimitive = TwoUnitPrimitive(8), + val p09: TwoUnitPrimitive = TwoUnitPrimitive(9), + val p10: TwoUnitPrimitive = TwoUnitPrimitive(10), + val p11: TwoUnitPrimitive = TwoUnitPrimitive(11), + val p12: TwoUnitPrimitive = TwoUnitPrimitive(12), + val p13: TwoUnitPrimitive = TwoUnitPrimitive(13), + val p14: TwoUnitPrimitive = TwoUnitPrimitive(14), + val p15: TwoUnitPrimitive = TwoUnitPrimitive(15), + val p16: TwoUnitPrimitive = TwoUnitPrimitive(16), + val p17: TwoUnitPrimitive = TwoUnitPrimitive(17), + val p18: TwoUnitPrimitive = TwoUnitPrimitive(18), + val p19: TwoUnitPrimitive = TwoUnitPrimitive(19), + val p20: TwoUnitPrimitive = TwoUnitPrimitive(20), + val p21: TwoUnitPrimitive = TwoUnitPrimitive(21), + val p22: TwoUnitPrimitive = TwoUnitPrimitive(22), + val p23: TwoUnitPrimitive = TwoUnitPrimitive(23), + val p24: TwoUnitPrimitive = TwoUnitPrimitive(24), + val p25: TwoUnitPrimitive = TwoUnitPrimitive(25), + val p26: TwoUnitPrimitive = TwoUnitPrimitive(26), + val p27: TwoUnitPrimitive = TwoUnitPrimitive(27), + val p28: TwoUnitPrimitive = TwoUnitPrimitive(28), + val p29: TwoUnitPrimitive = TwoUnitPrimitive(29), + val p30: TwoUnitPrimitive = TwoUnitPrimitive(30), + val p31: TwoUnitPrimitive = TwoUnitPrimitive(31), + val p32: TwoUnitPrimitive = TwoUnitPrimitive(32), + val p33: TwoUnitPrimitive = TwoUnitPrimitive(33), + val p34: TwoUnitPrimitive = TwoUnitPrimitive(34), + val p35: TwoUnitPrimitive = TwoUnitPrimitive(35), + val p36: TwoUnitPrimitive = TwoUnitPrimitive(36), + val p37: TwoUnitPrimitive = TwoUnitPrimitive(37), + val p38: TwoUnitPrimitive = TwoUnitPrimitive(38), + val p39: TwoUnitPrimitive = TwoUnitPrimitive(39), + val p40: TwoUnitPrimitive = TwoUnitPrimitive(40), + val p41: TwoUnitPrimitive = TwoUnitPrimitive(41), + val p42: TwoUnitPrimitive = TwoUnitPrimitive(42), + val p43: TwoUnitPrimitive = TwoUnitPrimitive(43), + val p44: TwoUnitPrimitive = TwoUnitPrimitive(44), + val p45: TwoUnitPrimitive = TwoUnitPrimitive(45), + val p46: TwoUnitPrimitive = TwoUnitPrimitive(46), + val p47: TwoUnitPrimitive = TwoUnitPrimitive(47), + val p48: TwoUnitPrimitive = TwoUnitPrimitive(48), + val p49: TwoUnitPrimitive = TwoUnitPrimitive(49), + val p50: TwoUnitPrimitive = TwoUnitPrimitive(50), + val p51: TwoUnitPrimitive = TwoUnitPrimitive(51), + val p52: TwoUnitPrimitive = TwoUnitPrimitive(52), + val p53: TwoUnitPrimitive = TwoUnitPrimitive(53), + val p54: TwoUnitPrimitive = TwoUnitPrimitive(54), + val p55: TwoUnitPrimitive = TwoUnitPrimitive(55), + val p56: TwoUnitPrimitive = TwoUnitPrimitive(56), + val p57: TwoUnitPrimitive = TwoUnitPrimitive(57), + val p58: TwoUnitPrimitive = TwoUnitPrimitive(58), + val p59: TwoUnitPrimitive = TwoUnitPrimitive(59), + val p60: TwoUnitPrimitive = TwoUnitPrimitive(60), + val p61: TwoUnitPrimitive = TwoUnitPrimitive(61), + val p62: TwoUnitPrimitive = TwoUnitPrimitive(62), + val p63: TwoUnitPrimitive = TwoUnitPrimitive(63), + ) + + @Test + fun test64() { + Assertions.assertEquals(Dst64(), defaultMapper.readValue("{}")) + } + + data class Dst65( + val p00: TwoUnitPrimitive = TwoUnitPrimitive(0), + val p01: TwoUnitPrimitive = TwoUnitPrimitive(1), + val p02: TwoUnitPrimitive = TwoUnitPrimitive(2), + val p03: TwoUnitPrimitive = TwoUnitPrimitive(3), + val p04: TwoUnitPrimitive = TwoUnitPrimitive(4), + val p05: TwoUnitPrimitive = TwoUnitPrimitive(5), + val p06: TwoUnitPrimitive = TwoUnitPrimitive(6), + val p07: TwoUnitPrimitive = TwoUnitPrimitive(7), + val p08: TwoUnitPrimitive = TwoUnitPrimitive(8), + val p09: TwoUnitPrimitive = TwoUnitPrimitive(9), + val p10: TwoUnitPrimitive = TwoUnitPrimitive(10), + val p11: TwoUnitPrimitive = TwoUnitPrimitive(11), + val p12: TwoUnitPrimitive = TwoUnitPrimitive(12), + val p13: TwoUnitPrimitive = TwoUnitPrimitive(13), + val p14: TwoUnitPrimitive = TwoUnitPrimitive(14), + val p15: TwoUnitPrimitive = TwoUnitPrimitive(15), + val p16: TwoUnitPrimitive = TwoUnitPrimitive(16), + val p17: TwoUnitPrimitive = TwoUnitPrimitive(17), + val p18: TwoUnitPrimitive = TwoUnitPrimitive(18), + val p19: TwoUnitPrimitive = TwoUnitPrimitive(19), + val p20: TwoUnitPrimitive = TwoUnitPrimitive(20), + val p21: TwoUnitPrimitive = TwoUnitPrimitive(21), + val p22: TwoUnitPrimitive = TwoUnitPrimitive(22), + val p23: TwoUnitPrimitive = TwoUnitPrimitive(23), + val p24: TwoUnitPrimitive = TwoUnitPrimitive(24), + val p25: TwoUnitPrimitive = TwoUnitPrimitive(25), + val p26: TwoUnitPrimitive = TwoUnitPrimitive(26), + val p27: TwoUnitPrimitive = TwoUnitPrimitive(27), + val p28: TwoUnitPrimitive = TwoUnitPrimitive(28), + val p29: TwoUnitPrimitive = TwoUnitPrimitive(29), + val p30: TwoUnitPrimitive = TwoUnitPrimitive(30), + val p31: TwoUnitPrimitive = TwoUnitPrimitive(31), + val p32: TwoUnitPrimitive = TwoUnitPrimitive(32), + val p33: TwoUnitPrimitive = TwoUnitPrimitive(33), + val p34: TwoUnitPrimitive = TwoUnitPrimitive(34), + val p35: TwoUnitPrimitive = TwoUnitPrimitive(35), + val p36: TwoUnitPrimitive = TwoUnitPrimitive(36), + val p37: TwoUnitPrimitive = TwoUnitPrimitive(37), + val p38: TwoUnitPrimitive = TwoUnitPrimitive(38), + val p39: TwoUnitPrimitive = TwoUnitPrimitive(39), + val p40: TwoUnitPrimitive = TwoUnitPrimitive(40), + val p41: TwoUnitPrimitive = TwoUnitPrimitive(41), + val p42: TwoUnitPrimitive = TwoUnitPrimitive(42), + val p43: TwoUnitPrimitive = TwoUnitPrimitive(43), + val p44: TwoUnitPrimitive = TwoUnitPrimitive(44), + val p45: TwoUnitPrimitive = TwoUnitPrimitive(45), + val p46: TwoUnitPrimitive = TwoUnitPrimitive(46), + val p47: TwoUnitPrimitive = TwoUnitPrimitive(47), + val p48: TwoUnitPrimitive = TwoUnitPrimitive(48), + val p49: TwoUnitPrimitive = TwoUnitPrimitive(49), + val p50: TwoUnitPrimitive = TwoUnitPrimitive(50), + val p51: TwoUnitPrimitive = TwoUnitPrimitive(51), + val p52: TwoUnitPrimitive = TwoUnitPrimitive(52), + val p53: TwoUnitPrimitive = TwoUnitPrimitive(53), + val p54: TwoUnitPrimitive = TwoUnitPrimitive(54), + val p55: TwoUnitPrimitive = TwoUnitPrimitive(55), + val p56: TwoUnitPrimitive = TwoUnitPrimitive(56), + val p57: TwoUnitPrimitive = TwoUnitPrimitive(57), + val p58: TwoUnitPrimitive = TwoUnitPrimitive(58), + val p59: TwoUnitPrimitive = TwoUnitPrimitive(59), + val p60: TwoUnitPrimitive = TwoUnitPrimitive(60), + val p61: TwoUnitPrimitive = TwoUnitPrimitive(61), + val p62: TwoUnitPrimitive = TwoUnitPrimitive(62), + val p63: TwoUnitPrimitive = TwoUnitPrimitive(63), + val p64: TwoUnitPrimitive = TwoUnitPrimitive(64), + ) + + @Test + fun test65() { + Assertions.assertEquals(Dst65(), defaultMapper.readValue("{}")) + } + + // It cannot be a data class because the generated method would exceed the argument size limit. + class DstMax( + val p000: TwoUnitPrimitive = TwoUnitPrimitive(0), + val p001: TwoUnitPrimitive = TwoUnitPrimitive(1), + val p002: TwoUnitPrimitive = TwoUnitPrimitive(2), + val p003: TwoUnitPrimitive = TwoUnitPrimitive(3), + val p004: TwoUnitPrimitive = TwoUnitPrimitive(4), + val p005: TwoUnitPrimitive = TwoUnitPrimitive(5), + val p006: TwoUnitPrimitive = TwoUnitPrimitive(6), + val p007: TwoUnitPrimitive = TwoUnitPrimitive(7), + val p008: TwoUnitPrimitive = TwoUnitPrimitive(8), + val p009: TwoUnitPrimitive = TwoUnitPrimitive(9), + val p010: TwoUnitPrimitive = TwoUnitPrimitive(10), + val p011: TwoUnitPrimitive = TwoUnitPrimitive(11), + val p012: TwoUnitPrimitive = TwoUnitPrimitive(12), + val p013: TwoUnitPrimitive = TwoUnitPrimitive(13), + val p014: TwoUnitPrimitive = TwoUnitPrimitive(14), + val p015: TwoUnitPrimitive = TwoUnitPrimitive(15), + val p016: TwoUnitPrimitive = TwoUnitPrimitive(16), + val p017: TwoUnitPrimitive = TwoUnitPrimitive(17), + val p018: TwoUnitPrimitive = TwoUnitPrimitive(18), + val p019: TwoUnitPrimitive = TwoUnitPrimitive(19), + val p020: TwoUnitPrimitive = TwoUnitPrimitive(20), + val p021: TwoUnitPrimitive = TwoUnitPrimitive(21), + val p022: TwoUnitPrimitive = TwoUnitPrimitive(22), + val p023: TwoUnitPrimitive = TwoUnitPrimitive(23), + val p024: TwoUnitPrimitive = TwoUnitPrimitive(24), + val p025: TwoUnitPrimitive = TwoUnitPrimitive(25), + val p026: TwoUnitPrimitive = TwoUnitPrimitive(26), + val p027: TwoUnitPrimitive = TwoUnitPrimitive(27), + val p028: TwoUnitPrimitive = TwoUnitPrimitive(28), + val p029: TwoUnitPrimitive = TwoUnitPrimitive(29), + val p030: TwoUnitPrimitive = TwoUnitPrimitive(30), + val p031: TwoUnitPrimitive = TwoUnitPrimitive(31), + val p032: TwoUnitPrimitive = TwoUnitPrimitive(32), + val p033: TwoUnitPrimitive = TwoUnitPrimitive(33), + val p034: TwoUnitPrimitive = TwoUnitPrimitive(34), + val p035: TwoUnitPrimitive = TwoUnitPrimitive(35), + val p036: TwoUnitPrimitive = TwoUnitPrimitive(36), + val p037: TwoUnitPrimitive = TwoUnitPrimitive(37), + val p038: TwoUnitPrimitive = TwoUnitPrimitive(38), + val p039: TwoUnitPrimitive = TwoUnitPrimitive(39), + val p040: TwoUnitPrimitive = TwoUnitPrimitive(40), + val p041: TwoUnitPrimitive = TwoUnitPrimitive(41), + val p042: TwoUnitPrimitive = TwoUnitPrimitive(42), + val p043: TwoUnitPrimitive = TwoUnitPrimitive(43), + val p044: TwoUnitPrimitive = TwoUnitPrimitive(44), + val p045: TwoUnitPrimitive = TwoUnitPrimitive(45), + val p046: TwoUnitPrimitive = TwoUnitPrimitive(46), + val p047: TwoUnitPrimitive = TwoUnitPrimitive(47), + val p048: TwoUnitPrimitive = TwoUnitPrimitive(48), + val p049: TwoUnitPrimitive = TwoUnitPrimitive(49), + val p050: TwoUnitPrimitive = TwoUnitPrimitive(50), + val p051: TwoUnitPrimitive = TwoUnitPrimitive(51), + val p052: TwoUnitPrimitive = TwoUnitPrimitive(52), + val p053: TwoUnitPrimitive = TwoUnitPrimitive(53), + val p054: TwoUnitPrimitive = TwoUnitPrimitive(54), + val p055: TwoUnitPrimitive = TwoUnitPrimitive(55), + val p056: TwoUnitPrimitive = TwoUnitPrimitive(56), + val p057: TwoUnitPrimitive = TwoUnitPrimitive(57), + val p058: TwoUnitPrimitive = TwoUnitPrimitive(58), + val p059: TwoUnitPrimitive = TwoUnitPrimitive(59), + val p060: TwoUnitPrimitive = TwoUnitPrimitive(60), + val p061: TwoUnitPrimitive = TwoUnitPrimitive(61), + val p062: TwoUnitPrimitive = TwoUnitPrimitive(62), + val p063: TwoUnitPrimitive = TwoUnitPrimitive(63), + val p064: TwoUnitPrimitive = TwoUnitPrimitive(64), + val p065: TwoUnitPrimitive = TwoUnitPrimitive(65), + val p066: TwoUnitPrimitive = TwoUnitPrimitive(66), + val p067: TwoUnitPrimitive = TwoUnitPrimitive(67), + val p068: TwoUnitPrimitive = TwoUnitPrimitive(68), + val p069: TwoUnitPrimitive = TwoUnitPrimitive(69), + val p070: TwoUnitPrimitive = TwoUnitPrimitive(70), + val p071: TwoUnitPrimitive = TwoUnitPrimitive(71), + val p072: TwoUnitPrimitive = TwoUnitPrimitive(72), + val p073: TwoUnitPrimitive = TwoUnitPrimitive(73), + val p074: TwoUnitPrimitive = TwoUnitPrimitive(74), + val p075: TwoUnitPrimitive = TwoUnitPrimitive(75), + val p076: TwoUnitPrimitive = TwoUnitPrimitive(76), + val p077: TwoUnitPrimitive = TwoUnitPrimitive(77), + val p078: TwoUnitPrimitive = TwoUnitPrimitive(78), + val p079: TwoUnitPrimitive = TwoUnitPrimitive(79), + val p080: TwoUnitPrimitive = TwoUnitPrimitive(80), + val p081: TwoUnitPrimitive = TwoUnitPrimitive(81), + val p082: TwoUnitPrimitive = TwoUnitPrimitive(82), + val p083: TwoUnitPrimitive = TwoUnitPrimitive(83), + val p084: TwoUnitPrimitive = TwoUnitPrimitive(84), + val p085: TwoUnitPrimitive = TwoUnitPrimitive(85), + val p086: TwoUnitPrimitive = TwoUnitPrimitive(86), + val p087: TwoUnitPrimitive = TwoUnitPrimitive(87), + val p088: TwoUnitPrimitive = TwoUnitPrimitive(88), + val p089: TwoUnitPrimitive = TwoUnitPrimitive(89), + val p090: TwoUnitPrimitive = TwoUnitPrimitive(90), + val p091: TwoUnitPrimitive = TwoUnitPrimitive(91), + val p092: TwoUnitPrimitive = TwoUnitPrimitive(92), + val p093: TwoUnitPrimitive = TwoUnitPrimitive(93), + val p094: TwoUnitPrimitive = TwoUnitPrimitive(94), + val p095: TwoUnitPrimitive = TwoUnitPrimitive(95), + val p096: TwoUnitPrimitive = TwoUnitPrimitive(96), + val p097: TwoUnitPrimitive = TwoUnitPrimitive(97), + val p098: TwoUnitPrimitive = TwoUnitPrimitive(98), + val p099: TwoUnitPrimitive = TwoUnitPrimitive(99), + val p100: TwoUnitPrimitive = TwoUnitPrimitive(100), + val p101: TwoUnitPrimitive = TwoUnitPrimitive(101), + val p102: TwoUnitPrimitive = TwoUnitPrimitive(102), + val p103: TwoUnitPrimitive = TwoUnitPrimitive(103), + val p104: TwoUnitPrimitive = TwoUnitPrimitive(104), + val p105: TwoUnitPrimitive = TwoUnitPrimitive(105), + val p106: TwoUnitPrimitive = TwoUnitPrimitive(106), + val p107: TwoUnitPrimitive = TwoUnitPrimitive(107), + val p108: TwoUnitPrimitive = TwoUnitPrimitive(108), + val p109: TwoUnitPrimitive = TwoUnitPrimitive(109), + val p110: TwoUnitPrimitive = TwoUnitPrimitive(110), + val p111: TwoUnitPrimitive = TwoUnitPrimitive(111), + val p112: TwoUnitPrimitive = TwoUnitPrimitive(112), + val p113: TwoUnitPrimitive = TwoUnitPrimitive(113), + val p114: TwoUnitPrimitive = TwoUnitPrimitive(114), + val p115: TwoUnitPrimitive = TwoUnitPrimitive(115), + val p116: TwoUnitPrimitive = TwoUnitPrimitive(116), + val p117: TwoUnitPrimitive = TwoUnitPrimitive(117), + val p118: TwoUnitPrimitive = TwoUnitPrimitive(118), + val p119: TwoUnitPrimitive = TwoUnitPrimitive(119), + val p120: TwoUnitPrimitive = TwoUnitPrimitive(120), + val p121: TwoUnitPrimitive = TwoUnitPrimitive(121), + val p122: TwoUnitPrimitive = TwoUnitPrimitive(122), + val p123: TwoUnitPrimitive = TwoUnitPrimitive(123), + ) + + @Test + fun testMax() { + assertReflectEquals(DstMax(), defaultMapper.readValue("{}")) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt new file mode 100644 index 00000000..214c4a22 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByConstructorWithoutDefaultArgumentsTest.kt @@ -0,0 +1,388 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.parameterSize.twoUnitPrimitive + +import io.github.projectmapk.jackson.module.kogera.assertReflectEquals +import io.github.projectmapk.jackson.module.kogera.callPrimaryConstructor +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +/** + * Up to argument size 32 there is one mask argument for the default argument, + * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested. + * Also, the maximum size of arguments that can be set by a constructor + * that includes a value class as an argument is 126 (one less by DefaultConstructorMarker), so test that case as well. + */ +class DeserializeByConstructorWithoutDefaultArgumentsTest { + data class Dst32( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + ) + + @Test + fun test32() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = defaultMapper.writeValueAsString(expected) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst33( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + ) + + @Test + fun test33() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = defaultMapper.writeValueAsString(expected) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst64( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + val p33: TwoUnitPrimitive, + val p34: TwoUnitPrimitive, + val p35: TwoUnitPrimitive, + val p36: TwoUnitPrimitive, + val p37: TwoUnitPrimitive, + val p38: TwoUnitPrimitive, + val p39: TwoUnitPrimitive, + val p40: TwoUnitPrimitive, + val p41: TwoUnitPrimitive, + val p42: TwoUnitPrimitive, + val p43: TwoUnitPrimitive, + val p44: TwoUnitPrimitive, + val p45: TwoUnitPrimitive, + val p46: TwoUnitPrimitive, + val p47: TwoUnitPrimitive, + val p48: TwoUnitPrimitive, + val p49: TwoUnitPrimitive, + val p50: TwoUnitPrimitive, + val p51: TwoUnitPrimitive, + val p52: TwoUnitPrimitive, + val p53: TwoUnitPrimitive, + val p54: TwoUnitPrimitive, + val p55: TwoUnitPrimitive, + val p56: TwoUnitPrimitive, + val p57: TwoUnitPrimitive, + val p58: TwoUnitPrimitive, + val p59: TwoUnitPrimitive, + val p60: TwoUnitPrimitive, + val p61: TwoUnitPrimitive, + val p62: TwoUnitPrimitive, + val p63: TwoUnitPrimitive, + ) + + @Test + fun test64() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = defaultMapper.writeValueAsString(expected) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst65( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + val p33: TwoUnitPrimitive, + val p34: TwoUnitPrimitive, + val p35: TwoUnitPrimitive, + val p36: TwoUnitPrimitive, + val p37: TwoUnitPrimitive, + val p38: TwoUnitPrimitive, + val p39: TwoUnitPrimitive, + val p40: TwoUnitPrimitive, + val p41: TwoUnitPrimitive, + val p42: TwoUnitPrimitive, + val p43: TwoUnitPrimitive, + val p44: TwoUnitPrimitive, + val p45: TwoUnitPrimitive, + val p46: TwoUnitPrimitive, + val p47: TwoUnitPrimitive, + val p48: TwoUnitPrimitive, + val p49: TwoUnitPrimitive, + val p50: TwoUnitPrimitive, + val p51: TwoUnitPrimitive, + val p52: TwoUnitPrimitive, + val p53: TwoUnitPrimitive, + val p54: TwoUnitPrimitive, + val p55: TwoUnitPrimitive, + val p56: TwoUnitPrimitive, + val p57: TwoUnitPrimitive, + val p58: TwoUnitPrimitive, + val p59: TwoUnitPrimitive, + val p60: TwoUnitPrimitive, + val p61: TwoUnitPrimitive, + val p62: TwoUnitPrimitive, + val p63: TwoUnitPrimitive, + val p64: TwoUnitPrimitive, + ) + + @Test + fun test65() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = defaultMapper.writeValueAsString(expected) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + // It cannot be a data class because the generated method would exceed the argument size limit. + class DstMax( + val p000: TwoUnitPrimitive, + val p001: TwoUnitPrimitive, + val p002: TwoUnitPrimitive, + val p003: TwoUnitPrimitive, + val p004: TwoUnitPrimitive, + val p005: TwoUnitPrimitive, + val p006: TwoUnitPrimitive, + val p007: TwoUnitPrimitive, + val p008: TwoUnitPrimitive, + val p009: TwoUnitPrimitive, + val p010: TwoUnitPrimitive, + val p011: TwoUnitPrimitive, + val p012: TwoUnitPrimitive, + val p013: TwoUnitPrimitive, + val p014: TwoUnitPrimitive, + val p015: TwoUnitPrimitive, + val p016: TwoUnitPrimitive, + val p017: TwoUnitPrimitive, + val p018: TwoUnitPrimitive, + val p019: TwoUnitPrimitive, + val p020: TwoUnitPrimitive, + val p021: TwoUnitPrimitive, + val p022: TwoUnitPrimitive, + val p023: TwoUnitPrimitive, + val p024: TwoUnitPrimitive, + val p025: TwoUnitPrimitive, + val p026: TwoUnitPrimitive, + val p027: TwoUnitPrimitive, + val p028: TwoUnitPrimitive, + val p029: TwoUnitPrimitive, + val p030: TwoUnitPrimitive, + val p031: TwoUnitPrimitive, + val p032: TwoUnitPrimitive, + val p033: TwoUnitPrimitive, + val p034: TwoUnitPrimitive, + val p035: TwoUnitPrimitive, + val p036: TwoUnitPrimitive, + val p037: TwoUnitPrimitive, + val p038: TwoUnitPrimitive, + val p039: TwoUnitPrimitive, + val p040: TwoUnitPrimitive, + val p041: TwoUnitPrimitive, + val p042: TwoUnitPrimitive, + val p043: TwoUnitPrimitive, + val p044: TwoUnitPrimitive, + val p045: TwoUnitPrimitive, + val p046: TwoUnitPrimitive, + val p047: TwoUnitPrimitive, + val p048: TwoUnitPrimitive, + val p049: TwoUnitPrimitive, + val p050: TwoUnitPrimitive, + val p051: TwoUnitPrimitive, + val p052: TwoUnitPrimitive, + val p053: TwoUnitPrimitive, + val p054: TwoUnitPrimitive, + val p055: TwoUnitPrimitive, + val p056: TwoUnitPrimitive, + val p057: TwoUnitPrimitive, + val p058: TwoUnitPrimitive, + val p059: TwoUnitPrimitive, + val p060: TwoUnitPrimitive, + val p061: TwoUnitPrimitive, + val p062: TwoUnitPrimitive, + val p063: TwoUnitPrimitive, + val p064: TwoUnitPrimitive, + val p065: TwoUnitPrimitive, + val p066: TwoUnitPrimitive, + val p067: TwoUnitPrimitive, + val p068: TwoUnitPrimitive, + val p069: TwoUnitPrimitive, + val p070: TwoUnitPrimitive, + val p071: TwoUnitPrimitive, + val p072: TwoUnitPrimitive, + val p073: TwoUnitPrimitive, + val p074: TwoUnitPrimitive, + val p075: TwoUnitPrimitive, + val p076: TwoUnitPrimitive, + val p077: TwoUnitPrimitive, + val p078: TwoUnitPrimitive, + val p079: TwoUnitPrimitive, + val p080: TwoUnitPrimitive, + val p081: TwoUnitPrimitive, + val p082: TwoUnitPrimitive, + val p083: TwoUnitPrimitive, + val p084: TwoUnitPrimitive, + val p085: TwoUnitPrimitive, + val p086: TwoUnitPrimitive, + val p087: TwoUnitPrimitive, + val p088: TwoUnitPrimitive, + val p089: TwoUnitPrimitive, + val p090: TwoUnitPrimitive, + val p091: TwoUnitPrimitive, + val p092: TwoUnitPrimitive, + val p093: TwoUnitPrimitive, + val p094: TwoUnitPrimitive, + val p095: TwoUnitPrimitive, + val p096: TwoUnitPrimitive, + val p097: TwoUnitPrimitive, + val p098: TwoUnitPrimitive, + val p099: TwoUnitPrimitive, + val p100: TwoUnitPrimitive, + val p101: TwoUnitPrimitive, + val p102: TwoUnitPrimitive, + val p103: TwoUnitPrimitive, + val p104: TwoUnitPrimitive, + val p105: TwoUnitPrimitive, + val p106: TwoUnitPrimitive, + val p107: TwoUnitPrimitive, + val p108: TwoUnitPrimitive, + val p109: TwoUnitPrimitive, + val p110: TwoUnitPrimitive, + val p111: TwoUnitPrimitive, + val p112: TwoUnitPrimitive, + val p113: TwoUnitPrimitive, + val p114: TwoUnitPrimitive, + val p115: TwoUnitPrimitive, + val p116: TwoUnitPrimitive, + val p117: TwoUnitPrimitive, + val p118: TwoUnitPrimitive, + val p119: TwoUnitPrimitive, + val p120: TwoUnitPrimitive, + val p121: TwoUnitPrimitive, + val p122: TwoUnitPrimitive, + val p123: TwoUnitPrimitive, + val p124: TwoUnitPrimitive, + val p125: TwoUnitPrimitive, + ) + + @Test + fun testMax() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = defaultMapper.writeValueAsString(expected) + assertReflectEquals(expected, defaultMapper.readValue(src)) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByFactoryWithDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByFactoryWithDefaultArgumentsTest.kt new file mode 100644 index 00000000..76bd439e --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByFactoryWithDefaultArgumentsTest.kt @@ -0,0 +1,1051 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.parameterSize.twoUnitPrimitive + +import com.fasterxml.jackson.annotation.JsonCreator +import io.github.projectmapk.jackson.module.kogera.assertReflectEquals +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +/** + * Up to argument size 32 there is one mask argument for the default argument, + * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested. + * Also, the maximum argument size that can be set in the constructor is 124, so that case is tested as well. + */ +class DeserializeByFactoryWithDefaultArgumentsTest { + data class Dst32( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: TwoUnitPrimitive = TwoUnitPrimitive(0), + q01: TwoUnitPrimitive = TwoUnitPrimitive(1), + q02: TwoUnitPrimitive = TwoUnitPrimitive(2), + q03: TwoUnitPrimitive = TwoUnitPrimitive(3), + q04: TwoUnitPrimitive = TwoUnitPrimitive(4), + q05: TwoUnitPrimitive = TwoUnitPrimitive(5), + q06: TwoUnitPrimitive = TwoUnitPrimitive(6), + q07: TwoUnitPrimitive = TwoUnitPrimitive(7), + q08: TwoUnitPrimitive = TwoUnitPrimitive(8), + q09: TwoUnitPrimitive = TwoUnitPrimitive(9), + q10: TwoUnitPrimitive = TwoUnitPrimitive(10), + q11: TwoUnitPrimitive = TwoUnitPrimitive(11), + q12: TwoUnitPrimitive = TwoUnitPrimitive(12), + q13: TwoUnitPrimitive = TwoUnitPrimitive(13), + q14: TwoUnitPrimitive = TwoUnitPrimitive(14), + q15: TwoUnitPrimitive = TwoUnitPrimitive(15), + q16: TwoUnitPrimitive = TwoUnitPrimitive(16), + q17: TwoUnitPrimitive = TwoUnitPrimitive(17), + q18: TwoUnitPrimitive = TwoUnitPrimitive(18), + q19: TwoUnitPrimitive = TwoUnitPrimitive(19), + q20: TwoUnitPrimitive = TwoUnitPrimitive(20), + q21: TwoUnitPrimitive = TwoUnitPrimitive(21), + q22: TwoUnitPrimitive = TwoUnitPrimitive(22), + q23: TwoUnitPrimitive = TwoUnitPrimitive(23), + q24: TwoUnitPrimitive = TwoUnitPrimitive(24), + q25: TwoUnitPrimitive = TwoUnitPrimitive(25), + q26: TwoUnitPrimitive = TwoUnitPrimitive(26), + q27: TwoUnitPrimitive = TwoUnitPrimitive(27), + q28: TwoUnitPrimitive = TwoUnitPrimitive(28), + q29: TwoUnitPrimitive = TwoUnitPrimitive(29), + q30: TwoUnitPrimitive = TwoUnitPrimitive(30), + q31: TwoUnitPrimitive = TwoUnitPrimitive(31), + ) = Dst32( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + ) + } + } + + @Test + fun test32() { + Assertions.assertEquals(Dst32.creator(), defaultMapper.readValue("{}")) + } + + data class Dst33( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: TwoUnitPrimitive = TwoUnitPrimitive(0), + q01: TwoUnitPrimitive = TwoUnitPrimitive(1), + q02: TwoUnitPrimitive = TwoUnitPrimitive(2), + q03: TwoUnitPrimitive = TwoUnitPrimitive(3), + q04: TwoUnitPrimitive = TwoUnitPrimitive(4), + q05: TwoUnitPrimitive = TwoUnitPrimitive(5), + q06: TwoUnitPrimitive = TwoUnitPrimitive(6), + q07: TwoUnitPrimitive = TwoUnitPrimitive(7), + q08: TwoUnitPrimitive = TwoUnitPrimitive(8), + q09: TwoUnitPrimitive = TwoUnitPrimitive(9), + q10: TwoUnitPrimitive = TwoUnitPrimitive(10), + q11: TwoUnitPrimitive = TwoUnitPrimitive(11), + q12: TwoUnitPrimitive = TwoUnitPrimitive(12), + q13: TwoUnitPrimitive = TwoUnitPrimitive(13), + q14: TwoUnitPrimitive = TwoUnitPrimitive(14), + q15: TwoUnitPrimitive = TwoUnitPrimitive(15), + q16: TwoUnitPrimitive = TwoUnitPrimitive(16), + q17: TwoUnitPrimitive = TwoUnitPrimitive(17), + q18: TwoUnitPrimitive = TwoUnitPrimitive(18), + q19: TwoUnitPrimitive = TwoUnitPrimitive(19), + q20: TwoUnitPrimitive = TwoUnitPrimitive(20), + q21: TwoUnitPrimitive = TwoUnitPrimitive(21), + q22: TwoUnitPrimitive = TwoUnitPrimitive(22), + q23: TwoUnitPrimitive = TwoUnitPrimitive(23), + q24: TwoUnitPrimitive = TwoUnitPrimitive(24), + q25: TwoUnitPrimitive = TwoUnitPrimitive(25), + q26: TwoUnitPrimitive = TwoUnitPrimitive(26), + q27: TwoUnitPrimitive = TwoUnitPrimitive(27), + q28: TwoUnitPrimitive = TwoUnitPrimitive(28), + q29: TwoUnitPrimitive = TwoUnitPrimitive(29), + q30: TwoUnitPrimitive = TwoUnitPrimitive(30), + q31: TwoUnitPrimitive = TwoUnitPrimitive(31), + q32: TwoUnitPrimitive = TwoUnitPrimitive(32), + ) = Dst33( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + ) + } + } + + @Test + fun test33() { + Assertions.assertEquals(Dst33.creator(), defaultMapper.readValue("{}")) + } + + data class Dst64( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + val p33: TwoUnitPrimitive, + val p34: TwoUnitPrimitive, + val p35: TwoUnitPrimitive, + val p36: TwoUnitPrimitive, + val p37: TwoUnitPrimitive, + val p38: TwoUnitPrimitive, + val p39: TwoUnitPrimitive, + val p40: TwoUnitPrimitive, + val p41: TwoUnitPrimitive, + val p42: TwoUnitPrimitive, + val p43: TwoUnitPrimitive, + val p44: TwoUnitPrimitive, + val p45: TwoUnitPrimitive, + val p46: TwoUnitPrimitive, + val p47: TwoUnitPrimitive, + val p48: TwoUnitPrimitive, + val p49: TwoUnitPrimitive, + val p50: TwoUnitPrimitive, + val p51: TwoUnitPrimitive, + val p52: TwoUnitPrimitive, + val p53: TwoUnitPrimitive, + val p54: TwoUnitPrimitive, + val p55: TwoUnitPrimitive, + val p56: TwoUnitPrimitive, + val p57: TwoUnitPrimitive, + val p58: TwoUnitPrimitive, + val p59: TwoUnitPrimitive, + val p60: TwoUnitPrimitive, + val p61: TwoUnitPrimitive, + val p62: TwoUnitPrimitive, + val p63: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: TwoUnitPrimitive = TwoUnitPrimitive(0), + q01: TwoUnitPrimitive = TwoUnitPrimitive(1), + q02: TwoUnitPrimitive = TwoUnitPrimitive(2), + q03: TwoUnitPrimitive = TwoUnitPrimitive(3), + q04: TwoUnitPrimitive = TwoUnitPrimitive(4), + q05: TwoUnitPrimitive = TwoUnitPrimitive(5), + q06: TwoUnitPrimitive = TwoUnitPrimitive(6), + q07: TwoUnitPrimitive = TwoUnitPrimitive(7), + q08: TwoUnitPrimitive = TwoUnitPrimitive(8), + q09: TwoUnitPrimitive = TwoUnitPrimitive(9), + q10: TwoUnitPrimitive = TwoUnitPrimitive(10), + q11: TwoUnitPrimitive = TwoUnitPrimitive(11), + q12: TwoUnitPrimitive = TwoUnitPrimitive(12), + q13: TwoUnitPrimitive = TwoUnitPrimitive(13), + q14: TwoUnitPrimitive = TwoUnitPrimitive(14), + q15: TwoUnitPrimitive = TwoUnitPrimitive(15), + q16: TwoUnitPrimitive = TwoUnitPrimitive(16), + q17: TwoUnitPrimitive = TwoUnitPrimitive(17), + q18: TwoUnitPrimitive = TwoUnitPrimitive(18), + q19: TwoUnitPrimitive = TwoUnitPrimitive(19), + q20: TwoUnitPrimitive = TwoUnitPrimitive(20), + q21: TwoUnitPrimitive = TwoUnitPrimitive(21), + q22: TwoUnitPrimitive = TwoUnitPrimitive(22), + q23: TwoUnitPrimitive = TwoUnitPrimitive(23), + q24: TwoUnitPrimitive = TwoUnitPrimitive(24), + q25: TwoUnitPrimitive = TwoUnitPrimitive(25), + q26: TwoUnitPrimitive = TwoUnitPrimitive(26), + q27: TwoUnitPrimitive = TwoUnitPrimitive(27), + q28: TwoUnitPrimitive = TwoUnitPrimitive(28), + q29: TwoUnitPrimitive = TwoUnitPrimitive(29), + q30: TwoUnitPrimitive = TwoUnitPrimitive(30), + q31: TwoUnitPrimitive = TwoUnitPrimitive(31), + q32: TwoUnitPrimitive = TwoUnitPrimitive(32), + q33: TwoUnitPrimitive = TwoUnitPrimitive(33), + q34: TwoUnitPrimitive = TwoUnitPrimitive(34), + q35: TwoUnitPrimitive = TwoUnitPrimitive(35), + q36: TwoUnitPrimitive = TwoUnitPrimitive(36), + q37: TwoUnitPrimitive = TwoUnitPrimitive(37), + q38: TwoUnitPrimitive = TwoUnitPrimitive(38), + q39: TwoUnitPrimitive = TwoUnitPrimitive(39), + q40: TwoUnitPrimitive = TwoUnitPrimitive(40), + q41: TwoUnitPrimitive = TwoUnitPrimitive(41), + q42: TwoUnitPrimitive = TwoUnitPrimitive(42), + q43: TwoUnitPrimitive = TwoUnitPrimitive(43), + q44: TwoUnitPrimitive = TwoUnitPrimitive(44), + q45: TwoUnitPrimitive = TwoUnitPrimitive(45), + q46: TwoUnitPrimitive = TwoUnitPrimitive(46), + q47: TwoUnitPrimitive = TwoUnitPrimitive(47), + q48: TwoUnitPrimitive = TwoUnitPrimitive(48), + q49: TwoUnitPrimitive = TwoUnitPrimitive(49), + q50: TwoUnitPrimitive = TwoUnitPrimitive(50), + q51: TwoUnitPrimitive = TwoUnitPrimitive(51), + q52: TwoUnitPrimitive = TwoUnitPrimitive(52), + q53: TwoUnitPrimitive = TwoUnitPrimitive(53), + q54: TwoUnitPrimitive = TwoUnitPrimitive(54), + q55: TwoUnitPrimitive = TwoUnitPrimitive(55), + q56: TwoUnitPrimitive = TwoUnitPrimitive(56), + q57: TwoUnitPrimitive = TwoUnitPrimitive(57), + q58: TwoUnitPrimitive = TwoUnitPrimitive(58), + q59: TwoUnitPrimitive = TwoUnitPrimitive(59), + q60: TwoUnitPrimitive = TwoUnitPrimitive(60), + q61: TwoUnitPrimitive = TwoUnitPrimitive(61), + q62: TwoUnitPrimitive = TwoUnitPrimitive(62), + q63: TwoUnitPrimitive = TwoUnitPrimitive(63), + ) = Dst64( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + q33, + q34, + q35, + q36, + q37, + q38, + q39, + q40, + q41, + q42, + q43, + q44, + q45, + q46, + q47, + q48, + q49, + q50, + q51, + q52, + q53, + q54, + q55, + q56, + q57, + q58, + q59, + q60, + q61, + q62, + q63, + ) + } + } + + @Test + fun test64() { + Assertions.assertEquals(Dst64.creator(), defaultMapper.readValue("{}")) + } + + data class Dst65( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + val p33: TwoUnitPrimitive, + val p34: TwoUnitPrimitive, + val p35: TwoUnitPrimitive, + val p36: TwoUnitPrimitive, + val p37: TwoUnitPrimitive, + val p38: TwoUnitPrimitive, + val p39: TwoUnitPrimitive, + val p40: TwoUnitPrimitive, + val p41: TwoUnitPrimitive, + val p42: TwoUnitPrimitive, + val p43: TwoUnitPrimitive, + val p44: TwoUnitPrimitive, + val p45: TwoUnitPrimitive, + val p46: TwoUnitPrimitive, + val p47: TwoUnitPrimitive, + val p48: TwoUnitPrimitive, + val p49: TwoUnitPrimitive, + val p50: TwoUnitPrimitive, + val p51: TwoUnitPrimitive, + val p52: TwoUnitPrimitive, + val p53: TwoUnitPrimitive, + val p54: TwoUnitPrimitive, + val p55: TwoUnitPrimitive, + val p56: TwoUnitPrimitive, + val p57: TwoUnitPrimitive, + val p58: TwoUnitPrimitive, + val p59: TwoUnitPrimitive, + val p60: TwoUnitPrimitive, + val p61: TwoUnitPrimitive, + val p62: TwoUnitPrimitive, + val p63: TwoUnitPrimitive, + val p64: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: TwoUnitPrimitive = TwoUnitPrimitive(0), + q01: TwoUnitPrimitive = TwoUnitPrimitive(1), + q02: TwoUnitPrimitive = TwoUnitPrimitive(2), + q03: TwoUnitPrimitive = TwoUnitPrimitive(3), + q04: TwoUnitPrimitive = TwoUnitPrimitive(4), + q05: TwoUnitPrimitive = TwoUnitPrimitive(5), + q06: TwoUnitPrimitive = TwoUnitPrimitive(6), + q07: TwoUnitPrimitive = TwoUnitPrimitive(7), + q08: TwoUnitPrimitive = TwoUnitPrimitive(8), + q09: TwoUnitPrimitive = TwoUnitPrimitive(9), + q10: TwoUnitPrimitive = TwoUnitPrimitive(10), + q11: TwoUnitPrimitive = TwoUnitPrimitive(11), + q12: TwoUnitPrimitive = TwoUnitPrimitive(12), + q13: TwoUnitPrimitive = TwoUnitPrimitive(13), + q14: TwoUnitPrimitive = TwoUnitPrimitive(14), + q15: TwoUnitPrimitive = TwoUnitPrimitive(15), + q16: TwoUnitPrimitive = TwoUnitPrimitive(16), + q17: TwoUnitPrimitive = TwoUnitPrimitive(17), + q18: TwoUnitPrimitive = TwoUnitPrimitive(18), + q19: TwoUnitPrimitive = TwoUnitPrimitive(19), + q20: TwoUnitPrimitive = TwoUnitPrimitive(20), + q21: TwoUnitPrimitive = TwoUnitPrimitive(21), + q22: TwoUnitPrimitive = TwoUnitPrimitive(22), + q23: TwoUnitPrimitive = TwoUnitPrimitive(23), + q24: TwoUnitPrimitive = TwoUnitPrimitive(24), + q25: TwoUnitPrimitive = TwoUnitPrimitive(25), + q26: TwoUnitPrimitive = TwoUnitPrimitive(26), + q27: TwoUnitPrimitive = TwoUnitPrimitive(27), + q28: TwoUnitPrimitive = TwoUnitPrimitive(28), + q29: TwoUnitPrimitive = TwoUnitPrimitive(29), + q30: TwoUnitPrimitive = TwoUnitPrimitive(30), + q31: TwoUnitPrimitive = TwoUnitPrimitive(31), + q32: TwoUnitPrimitive = TwoUnitPrimitive(32), + q33: TwoUnitPrimitive = TwoUnitPrimitive(33), + q34: TwoUnitPrimitive = TwoUnitPrimitive(34), + q35: TwoUnitPrimitive = TwoUnitPrimitive(35), + q36: TwoUnitPrimitive = TwoUnitPrimitive(36), + q37: TwoUnitPrimitive = TwoUnitPrimitive(37), + q38: TwoUnitPrimitive = TwoUnitPrimitive(38), + q39: TwoUnitPrimitive = TwoUnitPrimitive(39), + q40: TwoUnitPrimitive = TwoUnitPrimitive(40), + q41: TwoUnitPrimitive = TwoUnitPrimitive(41), + q42: TwoUnitPrimitive = TwoUnitPrimitive(42), + q43: TwoUnitPrimitive = TwoUnitPrimitive(43), + q44: TwoUnitPrimitive = TwoUnitPrimitive(44), + q45: TwoUnitPrimitive = TwoUnitPrimitive(45), + q46: TwoUnitPrimitive = TwoUnitPrimitive(46), + q47: TwoUnitPrimitive = TwoUnitPrimitive(47), + q48: TwoUnitPrimitive = TwoUnitPrimitive(48), + q49: TwoUnitPrimitive = TwoUnitPrimitive(49), + q50: TwoUnitPrimitive = TwoUnitPrimitive(50), + q51: TwoUnitPrimitive = TwoUnitPrimitive(51), + q52: TwoUnitPrimitive = TwoUnitPrimitive(52), + q53: TwoUnitPrimitive = TwoUnitPrimitive(53), + q54: TwoUnitPrimitive = TwoUnitPrimitive(54), + q55: TwoUnitPrimitive = TwoUnitPrimitive(55), + q56: TwoUnitPrimitive = TwoUnitPrimitive(56), + q57: TwoUnitPrimitive = TwoUnitPrimitive(57), + q58: TwoUnitPrimitive = TwoUnitPrimitive(58), + q59: TwoUnitPrimitive = TwoUnitPrimitive(59), + q60: TwoUnitPrimitive = TwoUnitPrimitive(60), + q61: TwoUnitPrimitive = TwoUnitPrimitive(61), + q62: TwoUnitPrimitive = TwoUnitPrimitive(62), + q63: TwoUnitPrimitive = TwoUnitPrimitive(63), + q64: TwoUnitPrimitive = TwoUnitPrimitive(64), + ) = Dst65( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + q33, + q34, + q35, + q36, + q37, + q38, + q39, + q40, + q41, + q42, + q43, + q44, + q45, + q46, + q47, + q48, + q49, + q50, + q51, + q52, + q53, + q54, + q55, + q56, + q57, + q58, + q59, + q60, + q61, + q62, + q63, + q64, + ) + } + } + + @Test + fun test65() { + Assertions.assertEquals(Dst65.creator(), defaultMapper.readValue("{}")) + } + + // It cannot be a data class because the generated method would exceed the argument size limit. + class DstMax( + val p000: TwoUnitPrimitive, + val p001: TwoUnitPrimitive, + val p002: TwoUnitPrimitive, + val p003: TwoUnitPrimitive, + val p004: TwoUnitPrimitive, + val p005: TwoUnitPrimitive, + val p006: TwoUnitPrimitive, + val p007: TwoUnitPrimitive, + val p008: TwoUnitPrimitive, + val p009: TwoUnitPrimitive, + val p010: TwoUnitPrimitive, + val p011: TwoUnitPrimitive, + val p012: TwoUnitPrimitive, + val p013: TwoUnitPrimitive, + val p014: TwoUnitPrimitive, + val p015: TwoUnitPrimitive, + val p016: TwoUnitPrimitive, + val p017: TwoUnitPrimitive, + val p018: TwoUnitPrimitive, + val p019: TwoUnitPrimitive, + val p020: TwoUnitPrimitive, + val p021: TwoUnitPrimitive, + val p022: TwoUnitPrimitive, + val p023: TwoUnitPrimitive, + val p024: TwoUnitPrimitive, + val p025: TwoUnitPrimitive, + val p026: TwoUnitPrimitive, + val p027: TwoUnitPrimitive, + val p028: TwoUnitPrimitive, + val p029: TwoUnitPrimitive, + val p030: TwoUnitPrimitive, + val p031: TwoUnitPrimitive, + val p032: TwoUnitPrimitive, + val p033: TwoUnitPrimitive, + val p034: TwoUnitPrimitive, + val p035: TwoUnitPrimitive, + val p036: TwoUnitPrimitive, + val p037: TwoUnitPrimitive, + val p038: TwoUnitPrimitive, + val p039: TwoUnitPrimitive, + val p040: TwoUnitPrimitive, + val p041: TwoUnitPrimitive, + val p042: TwoUnitPrimitive, + val p043: TwoUnitPrimitive, + val p044: TwoUnitPrimitive, + val p045: TwoUnitPrimitive, + val p046: TwoUnitPrimitive, + val p047: TwoUnitPrimitive, + val p048: TwoUnitPrimitive, + val p049: TwoUnitPrimitive, + val p050: TwoUnitPrimitive, + val p051: TwoUnitPrimitive, + val p052: TwoUnitPrimitive, + val p053: TwoUnitPrimitive, + val p054: TwoUnitPrimitive, + val p055: TwoUnitPrimitive, + val p056: TwoUnitPrimitive, + val p057: TwoUnitPrimitive, + val p058: TwoUnitPrimitive, + val p059: TwoUnitPrimitive, + val p060: TwoUnitPrimitive, + val p061: TwoUnitPrimitive, + val p062: TwoUnitPrimitive, + val p063: TwoUnitPrimitive, + val p064: TwoUnitPrimitive, + val p065: TwoUnitPrimitive, + val p066: TwoUnitPrimitive, + val p067: TwoUnitPrimitive, + val p068: TwoUnitPrimitive, + val p069: TwoUnitPrimitive, + val p070: TwoUnitPrimitive, + val p071: TwoUnitPrimitive, + val p072: TwoUnitPrimitive, + val p073: TwoUnitPrimitive, + val p074: TwoUnitPrimitive, + val p075: TwoUnitPrimitive, + val p076: TwoUnitPrimitive, + val p077: TwoUnitPrimitive, + val p078: TwoUnitPrimitive, + val p079: TwoUnitPrimitive, + val p080: TwoUnitPrimitive, + val p081: TwoUnitPrimitive, + val p082: TwoUnitPrimitive, + val p083: TwoUnitPrimitive, + val p084: TwoUnitPrimitive, + val p085: TwoUnitPrimitive, + val p086: TwoUnitPrimitive, + val p087: TwoUnitPrimitive, + val p088: TwoUnitPrimitive, + val p089: TwoUnitPrimitive, + val p090: TwoUnitPrimitive, + val p091: TwoUnitPrimitive, + val p092: TwoUnitPrimitive, + val p093: TwoUnitPrimitive, + val p094: TwoUnitPrimitive, + val p095: TwoUnitPrimitive, + val p096: TwoUnitPrimitive, + val p097: TwoUnitPrimitive, + val p098: TwoUnitPrimitive, + val p099: TwoUnitPrimitive, + val p100: TwoUnitPrimitive, + val p101: TwoUnitPrimitive, + val p102: TwoUnitPrimitive, + val p103: TwoUnitPrimitive, + val p104: TwoUnitPrimitive, + val p105: TwoUnitPrimitive, + val p106: TwoUnitPrimitive, + val p107: TwoUnitPrimitive, + val p108: TwoUnitPrimitive, + val p109: TwoUnitPrimitive, + val p110: TwoUnitPrimitive, + val p111: TwoUnitPrimitive, + val p112: TwoUnitPrimitive, + val p113: TwoUnitPrimitive, + val p114: TwoUnitPrimitive, + val p115: TwoUnitPrimitive, + val p116: TwoUnitPrimitive, + val p117: TwoUnitPrimitive, + val p118: TwoUnitPrimitive, + val p119: TwoUnitPrimitive, + val p120: TwoUnitPrimitive, + val p121: TwoUnitPrimitive, + val p122: TwoUnitPrimitive, + val p123: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q000: TwoUnitPrimitive = TwoUnitPrimitive(0), + q001: TwoUnitPrimitive = TwoUnitPrimitive(1), + q002: TwoUnitPrimitive = TwoUnitPrimitive(2), + q003: TwoUnitPrimitive = TwoUnitPrimitive(3), + q004: TwoUnitPrimitive = TwoUnitPrimitive(4), + q005: TwoUnitPrimitive = TwoUnitPrimitive(5), + q006: TwoUnitPrimitive = TwoUnitPrimitive(6), + q007: TwoUnitPrimitive = TwoUnitPrimitive(7), + q008: TwoUnitPrimitive = TwoUnitPrimitive(8), + q009: TwoUnitPrimitive = TwoUnitPrimitive(9), + q010: TwoUnitPrimitive = TwoUnitPrimitive(10), + q011: TwoUnitPrimitive = TwoUnitPrimitive(11), + q012: TwoUnitPrimitive = TwoUnitPrimitive(12), + q013: TwoUnitPrimitive = TwoUnitPrimitive(13), + q014: TwoUnitPrimitive = TwoUnitPrimitive(14), + q015: TwoUnitPrimitive = TwoUnitPrimitive(15), + q016: TwoUnitPrimitive = TwoUnitPrimitive(16), + q017: TwoUnitPrimitive = TwoUnitPrimitive(17), + q018: TwoUnitPrimitive = TwoUnitPrimitive(18), + q019: TwoUnitPrimitive = TwoUnitPrimitive(19), + q020: TwoUnitPrimitive = TwoUnitPrimitive(20), + q021: TwoUnitPrimitive = TwoUnitPrimitive(21), + q022: TwoUnitPrimitive = TwoUnitPrimitive(22), + q023: TwoUnitPrimitive = TwoUnitPrimitive(23), + q024: TwoUnitPrimitive = TwoUnitPrimitive(24), + q025: TwoUnitPrimitive = TwoUnitPrimitive(25), + q026: TwoUnitPrimitive = TwoUnitPrimitive(26), + q027: TwoUnitPrimitive = TwoUnitPrimitive(27), + q028: TwoUnitPrimitive = TwoUnitPrimitive(28), + q029: TwoUnitPrimitive = TwoUnitPrimitive(29), + q030: TwoUnitPrimitive = TwoUnitPrimitive(30), + q031: TwoUnitPrimitive = TwoUnitPrimitive(31), + q032: TwoUnitPrimitive = TwoUnitPrimitive(32), + q033: TwoUnitPrimitive = TwoUnitPrimitive(33), + q034: TwoUnitPrimitive = TwoUnitPrimitive(34), + q035: TwoUnitPrimitive = TwoUnitPrimitive(35), + q036: TwoUnitPrimitive = TwoUnitPrimitive(36), + q037: TwoUnitPrimitive = TwoUnitPrimitive(37), + q038: TwoUnitPrimitive = TwoUnitPrimitive(38), + q039: TwoUnitPrimitive = TwoUnitPrimitive(39), + q040: TwoUnitPrimitive = TwoUnitPrimitive(40), + q041: TwoUnitPrimitive = TwoUnitPrimitive(41), + q042: TwoUnitPrimitive = TwoUnitPrimitive(42), + q043: TwoUnitPrimitive = TwoUnitPrimitive(43), + q044: TwoUnitPrimitive = TwoUnitPrimitive(44), + q045: TwoUnitPrimitive = TwoUnitPrimitive(45), + q046: TwoUnitPrimitive = TwoUnitPrimitive(46), + q047: TwoUnitPrimitive = TwoUnitPrimitive(47), + q048: TwoUnitPrimitive = TwoUnitPrimitive(48), + q049: TwoUnitPrimitive = TwoUnitPrimitive(49), + q050: TwoUnitPrimitive = TwoUnitPrimitive(50), + q051: TwoUnitPrimitive = TwoUnitPrimitive(51), + q052: TwoUnitPrimitive = TwoUnitPrimitive(52), + q053: TwoUnitPrimitive = TwoUnitPrimitive(53), + q054: TwoUnitPrimitive = TwoUnitPrimitive(54), + q055: TwoUnitPrimitive = TwoUnitPrimitive(55), + q056: TwoUnitPrimitive = TwoUnitPrimitive(56), + q057: TwoUnitPrimitive = TwoUnitPrimitive(57), + q058: TwoUnitPrimitive = TwoUnitPrimitive(58), + q059: TwoUnitPrimitive = TwoUnitPrimitive(59), + q060: TwoUnitPrimitive = TwoUnitPrimitive(60), + q061: TwoUnitPrimitive = TwoUnitPrimitive(61), + q062: TwoUnitPrimitive = TwoUnitPrimitive(62), + q063: TwoUnitPrimitive = TwoUnitPrimitive(63), + q064: TwoUnitPrimitive = TwoUnitPrimitive(64), + q065: TwoUnitPrimitive = TwoUnitPrimitive(65), + q066: TwoUnitPrimitive = TwoUnitPrimitive(66), + q067: TwoUnitPrimitive = TwoUnitPrimitive(67), + q068: TwoUnitPrimitive = TwoUnitPrimitive(68), + q069: TwoUnitPrimitive = TwoUnitPrimitive(69), + q070: TwoUnitPrimitive = TwoUnitPrimitive(70), + q071: TwoUnitPrimitive = TwoUnitPrimitive(71), + q072: TwoUnitPrimitive = TwoUnitPrimitive(72), + q073: TwoUnitPrimitive = TwoUnitPrimitive(73), + q074: TwoUnitPrimitive = TwoUnitPrimitive(74), + q075: TwoUnitPrimitive = TwoUnitPrimitive(75), + q076: TwoUnitPrimitive = TwoUnitPrimitive(76), + q077: TwoUnitPrimitive = TwoUnitPrimitive(77), + q078: TwoUnitPrimitive = TwoUnitPrimitive(78), + q079: TwoUnitPrimitive = TwoUnitPrimitive(79), + q080: TwoUnitPrimitive = TwoUnitPrimitive(80), + q081: TwoUnitPrimitive = TwoUnitPrimitive(81), + q082: TwoUnitPrimitive = TwoUnitPrimitive(82), + q083: TwoUnitPrimitive = TwoUnitPrimitive(83), + q084: TwoUnitPrimitive = TwoUnitPrimitive(84), + q085: TwoUnitPrimitive = TwoUnitPrimitive(85), + q086: TwoUnitPrimitive = TwoUnitPrimitive(86), + q087: TwoUnitPrimitive = TwoUnitPrimitive(87), + q088: TwoUnitPrimitive = TwoUnitPrimitive(88), + q089: TwoUnitPrimitive = TwoUnitPrimitive(89), + q090: TwoUnitPrimitive = TwoUnitPrimitive(90), + q091: TwoUnitPrimitive = TwoUnitPrimitive(91), + q092: TwoUnitPrimitive = TwoUnitPrimitive(92), + q093: TwoUnitPrimitive = TwoUnitPrimitive(93), + q094: TwoUnitPrimitive = TwoUnitPrimitive(94), + q095: TwoUnitPrimitive = TwoUnitPrimitive(95), + q096: TwoUnitPrimitive = TwoUnitPrimitive(96), + q097: TwoUnitPrimitive = TwoUnitPrimitive(97), + q098: TwoUnitPrimitive = TwoUnitPrimitive(98), + q099: TwoUnitPrimitive = TwoUnitPrimitive(99), + q100: TwoUnitPrimitive = TwoUnitPrimitive(100), + q101: TwoUnitPrimitive = TwoUnitPrimitive(101), + q102: TwoUnitPrimitive = TwoUnitPrimitive(102), + q103: TwoUnitPrimitive = TwoUnitPrimitive(103), + q104: TwoUnitPrimitive = TwoUnitPrimitive(104), + q105: TwoUnitPrimitive = TwoUnitPrimitive(105), + q106: TwoUnitPrimitive = TwoUnitPrimitive(106), + q107: TwoUnitPrimitive = TwoUnitPrimitive(107), + q108: TwoUnitPrimitive = TwoUnitPrimitive(108), + q109: TwoUnitPrimitive = TwoUnitPrimitive(109), + q110: TwoUnitPrimitive = TwoUnitPrimitive(110), + q111: TwoUnitPrimitive = TwoUnitPrimitive(111), + q112: TwoUnitPrimitive = TwoUnitPrimitive(112), + q113: TwoUnitPrimitive = TwoUnitPrimitive(113), + q114: TwoUnitPrimitive = TwoUnitPrimitive(114), + q115: TwoUnitPrimitive = TwoUnitPrimitive(115), + q116: TwoUnitPrimitive = TwoUnitPrimitive(116), + q117: TwoUnitPrimitive = TwoUnitPrimitive(117), + q118: TwoUnitPrimitive = TwoUnitPrimitive(118), + q119: TwoUnitPrimitive = TwoUnitPrimitive(119), + q120: TwoUnitPrimitive = TwoUnitPrimitive(120), + q121: TwoUnitPrimitive = TwoUnitPrimitive(121), + q122: TwoUnitPrimitive = TwoUnitPrimitive(122), + q123: TwoUnitPrimitive = TwoUnitPrimitive(123), + ) = DstMax( + q000, + q001, + q002, + q003, + q004, + q005, + q006, + q007, + q008, + q009, + q010, + q011, + q012, + q013, + q014, + q015, + q016, + q017, + q018, + q019, + q020, + q021, + q022, + q023, + q024, + q025, + q026, + q027, + q028, + q029, + q030, + q031, + q032, + q033, + q034, + q035, + q036, + q037, + q038, + q039, + q040, + q041, + q042, + q043, + q044, + q045, + q046, + q047, + q048, + q049, + q050, + q051, + q052, + q053, + q054, + q055, + q056, + q057, + q058, + q059, + q060, + q061, + q062, + q063, + q064, + q065, + q066, + q067, + q068, + q069, + q070, + q071, + q072, + q073, + q074, + q075, + q076, + q077, + q078, + q079, + q080, + q081, + q082, + q083, + q084, + q085, + q086, + q087, + q088, + q089, + q090, + q091, + q092, + q093, + q094, + q095, + q096, + q097, + q098, + q099, + q100, + q101, + q102, + q103, + q104, + q105, + q106, + q107, + q108, + q109, + q110, + q111, + q112, + q113, + q114, + q115, + q116, + q117, + q118, + q119, + q120, + q121, + q122, + q123, + ) + } + } + + @Test + fun testMax() { + assertReflectEquals(DstMax.creator(), defaultMapper.readValue("{}")) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt new file mode 100644 index 00000000..e7038de5 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/deser/valueClass/parameterSize/twoUnitPrimitive/DeserializeByFactoryWithoutDefaultArgumentsTest.kt @@ -0,0 +1,1072 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.parameterSize.twoUnitPrimitive + +import com.fasterxml.jackson.annotation.JsonCreator +import io.github.projectmapk.jackson.module.kogera.assertReflectEquals +import io.github.projectmapk.jackson.module.kogera.callPrimaryConstructor +import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue +import io.github.projectmapk.jackson.module.kogera.zIntegration.deser.valueClass.TwoUnitPrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +// Convert the property p to q (but not the value) to make it an input to the factory function. +private fun replacePQ(src: String) = src.replace(Regex("""p\d+":""")) { "q" + it.value.substring(1) } + +/** + * Up to argument size 32 there is one mask argument for the default argument, + * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested. + * Also, the maximum size of arguments that can be set by a constructor + * that includes a value class as an argument is 126 (one less by DefaultConstructorMarker), so test that case as well. + */ +class DeserializeByFactoryWithoutDefaultArgumentsTest { + data class Dst32( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: TwoUnitPrimitive, + q01: TwoUnitPrimitive, + q02: TwoUnitPrimitive, + q03: TwoUnitPrimitive, + q04: TwoUnitPrimitive, + q05: TwoUnitPrimitive, + q06: TwoUnitPrimitive, + q07: TwoUnitPrimitive, + q08: TwoUnitPrimitive, + q09: TwoUnitPrimitive, + q10: TwoUnitPrimitive, + q11: TwoUnitPrimitive, + q12: TwoUnitPrimitive, + q13: TwoUnitPrimitive, + q14: TwoUnitPrimitive, + q15: TwoUnitPrimitive, + q16: TwoUnitPrimitive, + q17: TwoUnitPrimitive, + q18: TwoUnitPrimitive, + q19: TwoUnitPrimitive, + q20: TwoUnitPrimitive, + q21: TwoUnitPrimitive, + q22: TwoUnitPrimitive, + q23: TwoUnitPrimitive, + q24: TwoUnitPrimitive, + q25: TwoUnitPrimitive, + q26: TwoUnitPrimitive, + q27: TwoUnitPrimitive, + q28: TwoUnitPrimitive, + q29: TwoUnitPrimitive, + q30: TwoUnitPrimitive, + q31: TwoUnitPrimitive, + ) = Dst32( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + ) + } + } + + @Test + fun test32() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst33( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: TwoUnitPrimitive, + q01: TwoUnitPrimitive, + q02: TwoUnitPrimitive, + q03: TwoUnitPrimitive, + q04: TwoUnitPrimitive, + q05: TwoUnitPrimitive, + q06: TwoUnitPrimitive, + q07: TwoUnitPrimitive, + q08: TwoUnitPrimitive, + q09: TwoUnitPrimitive, + q10: TwoUnitPrimitive, + q11: TwoUnitPrimitive, + q12: TwoUnitPrimitive, + q13: TwoUnitPrimitive, + q14: TwoUnitPrimitive, + q15: TwoUnitPrimitive, + q16: TwoUnitPrimitive, + q17: TwoUnitPrimitive, + q18: TwoUnitPrimitive, + q19: TwoUnitPrimitive, + q20: TwoUnitPrimitive, + q21: TwoUnitPrimitive, + q22: TwoUnitPrimitive, + q23: TwoUnitPrimitive, + q24: TwoUnitPrimitive, + q25: TwoUnitPrimitive, + q26: TwoUnitPrimitive, + q27: TwoUnitPrimitive, + q28: TwoUnitPrimitive, + q29: TwoUnitPrimitive, + q30: TwoUnitPrimitive, + q31: TwoUnitPrimitive, + q32: TwoUnitPrimitive, + ) = Dst33( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + ) + } + } + + @Test + fun test33() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst64( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + val p33: TwoUnitPrimitive, + val p34: TwoUnitPrimitive, + val p35: TwoUnitPrimitive, + val p36: TwoUnitPrimitive, + val p37: TwoUnitPrimitive, + val p38: TwoUnitPrimitive, + val p39: TwoUnitPrimitive, + val p40: TwoUnitPrimitive, + val p41: TwoUnitPrimitive, + val p42: TwoUnitPrimitive, + val p43: TwoUnitPrimitive, + val p44: TwoUnitPrimitive, + val p45: TwoUnitPrimitive, + val p46: TwoUnitPrimitive, + val p47: TwoUnitPrimitive, + val p48: TwoUnitPrimitive, + val p49: TwoUnitPrimitive, + val p50: TwoUnitPrimitive, + val p51: TwoUnitPrimitive, + val p52: TwoUnitPrimitive, + val p53: TwoUnitPrimitive, + val p54: TwoUnitPrimitive, + val p55: TwoUnitPrimitive, + val p56: TwoUnitPrimitive, + val p57: TwoUnitPrimitive, + val p58: TwoUnitPrimitive, + val p59: TwoUnitPrimitive, + val p60: TwoUnitPrimitive, + val p61: TwoUnitPrimitive, + val p62: TwoUnitPrimitive, + val p63: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: TwoUnitPrimitive, + q01: TwoUnitPrimitive, + q02: TwoUnitPrimitive, + q03: TwoUnitPrimitive, + q04: TwoUnitPrimitive, + q05: TwoUnitPrimitive, + q06: TwoUnitPrimitive, + q07: TwoUnitPrimitive, + q08: TwoUnitPrimitive, + q09: TwoUnitPrimitive, + q10: TwoUnitPrimitive, + q11: TwoUnitPrimitive, + q12: TwoUnitPrimitive, + q13: TwoUnitPrimitive, + q14: TwoUnitPrimitive, + q15: TwoUnitPrimitive, + q16: TwoUnitPrimitive, + q17: TwoUnitPrimitive, + q18: TwoUnitPrimitive, + q19: TwoUnitPrimitive, + q20: TwoUnitPrimitive, + q21: TwoUnitPrimitive, + q22: TwoUnitPrimitive, + q23: TwoUnitPrimitive, + q24: TwoUnitPrimitive, + q25: TwoUnitPrimitive, + q26: TwoUnitPrimitive, + q27: TwoUnitPrimitive, + q28: TwoUnitPrimitive, + q29: TwoUnitPrimitive, + q30: TwoUnitPrimitive, + q31: TwoUnitPrimitive, + q32: TwoUnitPrimitive, + q33: TwoUnitPrimitive, + q34: TwoUnitPrimitive, + q35: TwoUnitPrimitive, + q36: TwoUnitPrimitive, + q37: TwoUnitPrimitive, + q38: TwoUnitPrimitive, + q39: TwoUnitPrimitive, + q40: TwoUnitPrimitive, + q41: TwoUnitPrimitive, + q42: TwoUnitPrimitive, + q43: TwoUnitPrimitive, + q44: TwoUnitPrimitive, + q45: TwoUnitPrimitive, + q46: TwoUnitPrimitive, + q47: TwoUnitPrimitive, + q48: TwoUnitPrimitive, + q49: TwoUnitPrimitive, + q50: TwoUnitPrimitive, + q51: TwoUnitPrimitive, + q52: TwoUnitPrimitive, + q53: TwoUnitPrimitive, + q54: TwoUnitPrimitive, + q55: TwoUnitPrimitive, + q56: TwoUnitPrimitive, + q57: TwoUnitPrimitive, + q58: TwoUnitPrimitive, + q59: TwoUnitPrimitive, + q60: TwoUnitPrimitive, + q61: TwoUnitPrimitive, + q62: TwoUnitPrimitive, + q63: TwoUnitPrimitive, + ) = Dst64( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + q33, + q34, + q35, + q36, + q37, + q38, + q39, + q40, + q41, + q42, + q43, + q44, + q45, + q46, + q47, + q48, + q49, + q50, + q51, + q52, + q53, + q54, + q55, + q56, + q57, + q58, + q59, + q60, + q61, + q62, + q63, + ) + } + } + + @Test + fun test64() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + data class Dst65( + val p00: TwoUnitPrimitive, + val p01: TwoUnitPrimitive, + val p02: TwoUnitPrimitive, + val p03: TwoUnitPrimitive, + val p04: TwoUnitPrimitive, + val p05: TwoUnitPrimitive, + val p06: TwoUnitPrimitive, + val p07: TwoUnitPrimitive, + val p08: TwoUnitPrimitive, + val p09: TwoUnitPrimitive, + val p10: TwoUnitPrimitive, + val p11: TwoUnitPrimitive, + val p12: TwoUnitPrimitive, + val p13: TwoUnitPrimitive, + val p14: TwoUnitPrimitive, + val p15: TwoUnitPrimitive, + val p16: TwoUnitPrimitive, + val p17: TwoUnitPrimitive, + val p18: TwoUnitPrimitive, + val p19: TwoUnitPrimitive, + val p20: TwoUnitPrimitive, + val p21: TwoUnitPrimitive, + val p22: TwoUnitPrimitive, + val p23: TwoUnitPrimitive, + val p24: TwoUnitPrimitive, + val p25: TwoUnitPrimitive, + val p26: TwoUnitPrimitive, + val p27: TwoUnitPrimitive, + val p28: TwoUnitPrimitive, + val p29: TwoUnitPrimitive, + val p30: TwoUnitPrimitive, + val p31: TwoUnitPrimitive, + val p32: TwoUnitPrimitive, + val p33: TwoUnitPrimitive, + val p34: TwoUnitPrimitive, + val p35: TwoUnitPrimitive, + val p36: TwoUnitPrimitive, + val p37: TwoUnitPrimitive, + val p38: TwoUnitPrimitive, + val p39: TwoUnitPrimitive, + val p40: TwoUnitPrimitive, + val p41: TwoUnitPrimitive, + val p42: TwoUnitPrimitive, + val p43: TwoUnitPrimitive, + val p44: TwoUnitPrimitive, + val p45: TwoUnitPrimitive, + val p46: TwoUnitPrimitive, + val p47: TwoUnitPrimitive, + val p48: TwoUnitPrimitive, + val p49: TwoUnitPrimitive, + val p50: TwoUnitPrimitive, + val p51: TwoUnitPrimitive, + val p52: TwoUnitPrimitive, + val p53: TwoUnitPrimitive, + val p54: TwoUnitPrimitive, + val p55: TwoUnitPrimitive, + val p56: TwoUnitPrimitive, + val p57: TwoUnitPrimitive, + val p58: TwoUnitPrimitive, + val p59: TwoUnitPrimitive, + val p60: TwoUnitPrimitive, + val p61: TwoUnitPrimitive, + val p62: TwoUnitPrimitive, + val p63: TwoUnitPrimitive, + val p64: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q00: TwoUnitPrimitive, + q01: TwoUnitPrimitive, + q02: TwoUnitPrimitive, + q03: TwoUnitPrimitive, + q04: TwoUnitPrimitive, + q05: TwoUnitPrimitive, + q06: TwoUnitPrimitive, + q07: TwoUnitPrimitive, + q08: TwoUnitPrimitive, + q09: TwoUnitPrimitive, + q10: TwoUnitPrimitive, + q11: TwoUnitPrimitive, + q12: TwoUnitPrimitive, + q13: TwoUnitPrimitive, + q14: TwoUnitPrimitive, + q15: TwoUnitPrimitive, + q16: TwoUnitPrimitive, + q17: TwoUnitPrimitive, + q18: TwoUnitPrimitive, + q19: TwoUnitPrimitive, + q20: TwoUnitPrimitive, + q21: TwoUnitPrimitive, + q22: TwoUnitPrimitive, + q23: TwoUnitPrimitive, + q24: TwoUnitPrimitive, + q25: TwoUnitPrimitive, + q26: TwoUnitPrimitive, + q27: TwoUnitPrimitive, + q28: TwoUnitPrimitive, + q29: TwoUnitPrimitive, + q30: TwoUnitPrimitive, + q31: TwoUnitPrimitive, + q32: TwoUnitPrimitive, + q33: TwoUnitPrimitive, + q34: TwoUnitPrimitive, + q35: TwoUnitPrimitive, + q36: TwoUnitPrimitive, + q37: TwoUnitPrimitive, + q38: TwoUnitPrimitive, + q39: TwoUnitPrimitive, + q40: TwoUnitPrimitive, + q41: TwoUnitPrimitive, + q42: TwoUnitPrimitive, + q43: TwoUnitPrimitive, + q44: TwoUnitPrimitive, + q45: TwoUnitPrimitive, + q46: TwoUnitPrimitive, + q47: TwoUnitPrimitive, + q48: TwoUnitPrimitive, + q49: TwoUnitPrimitive, + q50: TwoUnitPrimitive, + q51: TwoUnitPrimitive, + q52: TwoUnitPrimitive, + q53: TwoUnitPrimitive, + q54: TwoUnitPrimitive, + q55: TwoUnitPrimitive, + q56: TwoUnitPrimitive, + q57: TwoUnitPrimitive, + q58: TwoUnitPrimitive, + q59: TwoUnitPrimitive, + q60: TwoUnitPrimitive, + q61: TwoUnitPrimitive, + q62: TwoUnitPrimitive, + q63: TwoUnitPrimitive, + q64: TwoUnitPrimitive, + ) = Dst65( + q00, + q01, + q02, + q03, + q04, + q05, + q06, + q07, + q08, + q09, + q10, + q11, + q12, + q13, + q14, + q15, + q16, + q17, + q18, + q19, + q20, + q21, + q22, + q23, + q24, + q25, + q26, + q27, + q28, + q29, + q30, + q31, + q32, + q33, + q34, + q35, + q36, + q37, + q38, + q39, + q40, + q41, + q42, + q43, + q44, + q45, + q46, + q47, + q48, + q49, + q50, + q51, + q52, + q53, + q54, + q55, + q56, + q57, + q58, + q59, + q60, + q61, + q62, + q63, + q64, + ) + } + } + + @Test + fun test65() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + Assertions.assertEquals(expected, defaultMapper.readValue(src)) + } + + // It cannot be a data class because the generated method would exceed the argument size limit. + class DstMax( + val p000: TwoUnitPrimitive, + val p001: TwoUnitPrimitive, + val p002: TwoUnitPrimitive, + val p003: TwoUnitPrimitive, + val p004: TwoUnitPrimitive, + val p005: TwoUnitPrimitive, + val p006: TwoUnitPrimitive, + val p007: TwoUnitPrimitive, + val p008: TwoUnitPrimitive, + val p009: TwoUnitPrimitive, + val p010: TwoUnitPrimitive, + val p011: TwoUnitPrimitive, + val p012: TwoUnitPrimitive, + val p013: TwoUnitPrimitive, + val p014: TwoUnitPrimitive, + val p015: TwoUnitPrimitive, + val p016: TwoUnitPrimitive, + val p017: TwoUnitPrimitive, + val p018: TwoUnitPrimitive, + val p019: TwoUnitPrimitive, + val p020: TwoUnitPrimitive, + val p021: TwoUnitPrimitive, + val p022: TwoUnitPrimitive, + val p023: TwoUnitPrimitive, + val p024: TwoUnitPrimitive, + val p025: TwoUnitPrimitive, + val p026: TwoUnitPrimitive, + val p027: TwoUnitPrimitive, + val p028: TwoUnitPrimitive, + val p029: TwoUnitPrimitive, + val p030: TwoUnitPrimitive, + val p031: TwoUnitPrimitive, + val p032: TwoUnitPrimitive, + val p033: TwoUnitPrimitive, + val p034: TwoUnitPrimitive, + val p035: TwoUnitPrimitive, + val p036: TwoUnitPrimitive, + val p037: TwoUnitPrimitive, + val p038: TwoUnitPrimitive, + val p039: TwoUnitPrimitive, + val p040: TwoUnitPrimitive, + val p041: TwoUnitPrimitive, + val p042: TwoUnitPrimitive, + val p043: TwoUnitPrimitive, + val p044: TwoUnitPrimitive, + val p045: TwoUnitPrimitive, + val p046: TwoUnitPrimitive, + val p047: TwoUnitPrimitive, + val p048: TwoUnitPrimitive, + val p049: TwoUnitPrimitive, + val p050: TwoUnitPrimitive, + val p051: TwoUnitPrimitive, + val p052: TwoUnitPrimitive, + val p053: TwoUnitPrimitive, + val p054: TwoUnitPrimitive, + val p055: TwoUnitPrimitive, + val p056: TwoUnitPrimitive, + val p057: TwoUnitPrimitive, + val p058: TwoUnitPrimitive, + val p059: TwoUnitPrimitive, + val p060: TwoUnitPrimitive, + val p061: TwoUnitPrimitive, + val p062: TwoUnitPrimitive, + val p063: TwoUnitPrimitive, + val p064: TwoUnitPrimitive, + val p065: TwoUnitPrimitive, + val p066: TwoUnitPrimitive, + val p067: TwoUnitPrimitive, + val p068: TwoUnitPrimitive, + val p069: TwoUnitPrimitive, + val p070: TwoUnitPrimitive, + val p071: TwoUnitPrimitive, + val p072: TwoUnitPrimitive, + val p073: TwoUnitPrimitive, + val p074: TwoUnitPrimitive, + val p075: TwoUnitPrimitive, + val p076: TwoUnitPrimitive, + val p077: TwoUnitPrimitive, + val p078: TwoUnitPrimitive, + val p079: TwoUnitPrimitive, + val p080: TwoUnitPrimitive, + val p081: TwoUnitPrimitive, + val p082: TwoUnitPrimitive, + val p083: TwoUnitPrimitive, + val p084: TwoUnitPrimitive, + val p085: TwoUnitPrimitive, + val p086: TwoUnitPrimitive, + val p087: TwoUnitPrimitive, + val p088: TwoUnitPrimitive, + val p089: TwoUnitPrimitive, + val p090: TwoUnitPrimitive, + val p091: TwoUnitPrimitive, + val p092: TwoUnitPrimitive, + val p093: TwoUnitPrimitive, + val p094: TwoUnitPrimitive, + val p095: TwoUnitPrimitive, + val p096: TwoUnitPrimitive, + val p097: TwoUnitPrimitive, + val p098: TwoUnitPrimitive, + val p099: TwoUnitPrimitive, + val p100: TwoUnitPrimitive, + val p101: TwoUnitPrimitive, + val p102: TwoUnitPrimitive, + val p103: TwoUnitPrimitive, + val p104: TwoUnitPrimitive, + val p105: TwoUnitPrimitive, + val p106: TwoUnitPrimitive, + val p107: TwoUnitPrimitive, + val p108: TwoUnitPrimitive, + val p109: TwoUnitPrimitive, + val p110: TwoUnitPrimitive, + val p111: TwoUnitPrimitive, + val p112: TwoUnitPrimitive, + val p113: TwoUnitPrimitive, + val p114: TwoUnitPrimitive, + val p115: TwoUnitPrimitive, + val p116: TwoUnitPrimitive, + val p117: TwoUnitPrimitive, + val p118: TwoUnitPrimitive, + val p119: TwoUnitPrimitive, + val p120: TwoUnitPrimitive, + val p121: TwoUnitPrimitive, + val p122: TwoUnitPrimitive, + val p123: TwoUnitPrimitive, + val p124: TwoUnitPrimitive, + val p125: TwoUnitPrimitive, + ) { + companion object { + @JvmStatic + @JsonCreator + fun creator( + q000: TwoUnitPrimitive, + q001: TwoUnitPrimitive, + q002: TwoUnitPrimitive, + q003: TwoUnitPrimitive, + q004: TwoUnitPrimitive, + q005: TwoUnitPrimitive, + q006: TwoUnitPrimitive, + q007: TwoUnitPrimitive, + q008: TwoUnitPrimitive, + q009: TwoUnitPrimitive, + q010: TwoUnitPrimitive, + q011: TwoUnitPrimitive, + q012: TwoUnitPrimitive, + q013: TwoUnitPrimitive, + q014: TwoUnitPrimitive, + q015: TwoUnitPrimitive, + q016: TwoUnitPrimitive, + q017: TwoUnitPrimitive, + q018: TwoUnitPrimitive, + q019: TwoUnitPrimitive, + q020: TwoUnitPrimitive, + q021: TwoUnitPrimitive, + q022: TwoUnitPrimitive, + q023: TwoUnitPrimitive, + q024: TwoUnitPrimitive, + q025: TwoUnitPrimitive, + q026: TwoUnitPrimitive, + q027: TwoUnitPrimitive, + q028: TwoUnitPrimitive, + q029: TwoUnitPrimitive, + q030: TwoUnitPrimitive, + q031: TwoUnitPrimitive, + q032: TwoUnitPrimitive, + q033: TwoUnitPrimitive, + q034: TwoUnitPrimitive, + q035: TwoUnitPrimitive, + q036: TwoUnitPrimitive, + q037: TwoUnitPrimitive, + q038: TwoUnitPrimitive, + q039: TwoUnitPrimitive, + q040: TwoUnitPrimitive, + q041: TwoUnitPrimitive, + q042: TwoUnitPrimitive, + q043: TwoUnitPrimitive, + q044: TwoUnitPrimitive, + q045: TwoUnitPrimitive, + q046: TwoUnitPrimitive, + q047: TwoUnitPrimitive, + q048: TwoUnitPrimitive, + q049: TwoUnitPrimitive, + q050: TwoUnitPrimitive, + q051: TwoUnitPrimitive, + q052: TwoUnitPrimitive, + q053: TwoUnitPrimitive, + q054: TwoUnitPrimitive, + q055: TwoUnitPrimitive, + q056: TwoUnitPrimitive, + q057: TwoUnitPrimitive, + q058: TwoUnitPrimitive, + q059: TwoUnitPrimitive, + q060: TwoUnitPrimitive, + q061: TwoUnitPrimitive, + q062: TwoUnitPrimitive, + q063: TwoUnitPrimitive, + q064: TwoUnitPrimitive, + q065: TwoUnitPrimitive, + q066: TwoUnitPrimitive, + q067: TwoUnitPrimitive, + q068: TwoUnitPrimitive, + q069: TwoUnitPrimitive, + q070: TwoUnitPrimitive, + q071: TwoUnitPrimitive, + q072: TwoUnitPrimitive, + q073: TwoUnitPrimitive, + q074: TwoUnitPrimitive, + q075: TwoUnitPrimitive, + q076: TwoUnitPrimitive, + q077: TwoUnitPrimitive, + q078: TwoUnitPrimitive, + q079: TwoUnitPrimitive, + q080: TwoUnitPrimitive, + q081: TwoUnitPrimitive, + q082: TwoUnitPrimitive, + q083: TwoUnitPrimitive, + q084: TwoUnitPrimitive, + q085: TwoUnitPrimitive, + q086: TwoUnitPrimitive, + q087: TwoUnitPrimitive, + q088: TwoUnitPrimitive, + q089: TwoUnitPrimitive, + q090: TwoUnitPrimitive, + q091: TwoUnitPrimitive, + q092: TwoUnitPrimitive, + q093: TwoUnitPrimitive, + q094: TwoUnitPrimitive, + q095: TwoUnitPrimitive, + q096: TwoUnitPrimitive, + q097: TwoUnitPrimitive, + q098: TwoUnitPrimitive, + q099: TwoUnitPrimitive, + q100: TwoUnitPrimitive, + q101: TwoUnitPrimitive, + q102: TwoUnitPrimitive, + q103: TwoUnitPrimitive, + q104: TwoUnitPrimitive, + q105: TwoUnitPrimitive, + q106: TwoUnitPrimitive, + q107: TwoUnitPrimitive, + q108: TwoUnitPrimitive, + q109: TwoUnitPrimitive, + q110: TwoUnitPrimitive, + q111: TwoUnitPrimitive, + q112: TwoUnitPrimitive, + q113: TwoUnitPrimitive, + q114: TwoUnitPrimitive, + q115: TwoUnitPrimitive, + q116: TwoUnitPrimitive, + q117: TwoUnitPrimitive, + q118: TwoUnitPrimitive, + q119: TwoUnitPrimitive, + q120: TwoUnitPrimitive, + q121: TwoUnitPrimitive, + q122: TwoUnitPrimitive, + q123: TwoUnitPrimitive, + q124: TwoUnitPrimitive, + q125: TwoUnitPrimitive, + ) = DstMax( + q000, + q001, + q002, + q003, + q004, + q005, + q006, + q007, + q008, + q009, + q010, + q011, + q012, + q013, + q014, + q015, + q016, + q017, + q018, + q019, + q020, + q021, + q022, + q023, + q024, + q025, + q026, + q027, + q028, + q029, + q030, + q031, + q032, + q033, + q034, + q035, + q036, + q037, + q038, + q039, + q040, + q041, + q042, + q043, + q044, + q045, + q046, + q047, + q048, + q049, + q050, + q051, + q052, + q053, + q054, + q055, + q056, + q057, + q058, + q059, + q060, + q061, + q062, + q063, + q064, + q065, + q066, + q067, + q068, + q069, + q070, + q071, + q072, + q073, + q074, + q075, + q076, + q077, + q078, + q079, + q080, + q081, + q082, + q083, + q084, + q085, + q086, + q087, + q088, + q089, + q090, + q091, + q092, + q093, + q094, + q095, + q096, + q097, + q098, + q099, + q100, + q101, + q102, + q103, + q104, + q105, + q106, + q107, + q108, + q109, + q110, + q111, + q112, + q113, + q114, + q115, + q116, + q117, + q118, + q119, + q120, + q121, + q122, + q123, + q124, + q125, + ) + } + } + + @Test + fun testMax() { + val expected = callPrimaryConstructor { TwoUnitPrimitive(it.index.toLong()) } + val src = replacePQ(defaultMapper.writeValueAsString(expected)) + assertReflectEquals(expected, defaultMapper.readValue(src)) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/HasRequiredMarkerTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/HasRequiredMarkerTest.kt index c1de4b21..64c8b286 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/HasRequiredMarkerTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/HasRequiredMarkerTest.kt @@ -5,7 +5,7 @@ import com.fasterxml.jackson.databind.BeanDescription import com.fasterxml.jackson.databind.ObjectMapper import io.github.projectmapk.jackson.module.kogera.KotlinFeature import io.github.projectmapk.jackson.module.kogera.KotlinModule -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertFalse import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test @@ -18,8 +18,6 @@ class HasRequiredMarkerTest { .find { it.name == propertyName } ?.isRequired == true - val mapper = jacksonObjectMapper() - class GetterTarget { val nullableProp: String? get() = null @@ -34,7 +32,7 @@ class HasRequiredMarkerTest { @Test fun getterTest() { - val desc = mapper.introspectSer() + val desc = defaultMapper.introspectSer() assertFalse(desc.isRequired("nullableProp")) assertFalse(desc.isRequired("nullableField")) @@ -53,7 +51,7 @@ class HasRequiredMarkerTest { @Test fun overrideByAnnotationTest() { - val desc = mapper.introspectSer() + val desc = defaultMapper.introspectSer() assertTrue(desc.isRequired("nullableProp")) assertTrue(desc.isRequired("nullableField")) @@ -73,7 +71,7 @@ class HasRequiredMarkerTest { KotlinModule.Builder() .enable(KotlinFeature.NullToEmptyCollection) .enable(KotlinFeature.NullToEmptyMap) - .build() + .build(), ) val desc = nullToDefaultMapper.introspectSer() diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/JvmFieldTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/JvmFieldTest.kt index 09144160..99925262 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/JvmFieldTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/JvmFieldTest.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.ser -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -9,13 +9,12 @@ class JvmFieldTest { @JvmField val `foo-foo`: String, @JvmField - val `-bar`: String + val `-bar`: String, ) @Test fun test() { - val mapper = jacksonObjectMapper() - val r = mapper.writeValueAsString(Src("foo", "bar")) + val r = defaultMapper.writeValueAsString(Src("foo", "bar")) assertEquals("{\"foo-foo\":\"foo\",\"-bar\":\"bar\"}", r) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/PropertySerializeTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/PropertySerializeTest.kt index b8bf2f81..e82c2af9 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/PropertySerializeTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/PropertySerializeTest.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.ser -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -14,15 +14,15 @@ class PropertySerializeTest { // https://github.com/FasterXML/jackson-module-kotlin/pull/451 @Suppress("PropertyName") val `baz-baz`: String, // https://github.com/FasterXML/jackson-module-kotlin/issues/503 - val nQux: Int + val nQux: Int, ) @Test fun test() { assertEquals( """{"fooFoo":0,"isBar":true,"bar":"bar","baz-baz":"baz-baz","nQux":1}""", - jacksonObjectMapper() - .writeValueAsString(Src(0, true, "bar", "baz-baz", 1)) + defaultMapper + .writeValueAsString(Src(0, true, "bar", "baz-baz", 1)), ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/JsonKeyTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/JsonKeyTest.kt index 45463703..1163be4b 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/JsonKeyTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/JsonKeyTest.kt @@ -37,7 +37,7 @@ class JsonKeyTest { val src = mapOf( JsonKeyGetter(0) to 0, JsonKeyGetterImplementation(1) to 1, - JsonKeyGetterImplementationDisabled(2) to 2 + JsonKeyGetterImplementationDisabled(2) to 2, ) assertEquals( @@ -48,7 +48,7 @@ class JsonKeyTest { "2" : 2 } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/JsonIncludeCustomTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/JsonIncludeCustomTest.kt index b1c802b8..3d11271e 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/JsonIncludeCustomTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/JsonIncludeCustomTest.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.jsonInclude import com.fasterxml.jackson.annotation.JsonInclude -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -12,18 +12,19 @@ class JsonIncludeCustomTest { @JsonInclude( value = JsonInclude.Include.CUSTOM, - valueFilter = NullFilter::class + valueFilter = NullFilter::class, ) data class NullFilterDto( val pN: Primitive? = null, val nnoN: NonNullObject? = null, - val noN1: NullableObject? = null + val noN1: NullableObject? = null, + val npN: NullablePrimitive? = null, + val tupN: TwoUnitPrimitive? = null, ) @Test fun nullFilterTest() { - val mapper = jacksonObjectMapper() val dto = NullFilterDto() - assertEquals("{}", mapper.writeValueAsString(dto)) + assertEquals("{}", defaultMapper.writeValueAsString(dto)) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/JsonIncludeNonNullTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/JsonIncludeNonNullTest.kt index f6207eb3..573cd6ef 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/JsonIncludeNonNullTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/JsonIncludeNonNullTest.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.jsonInclude import com.fasterxml.jackson.annotation.JsonInclude -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertNotEquals import org.junit.jupiter.api.Test @@ -11,14 +11,15 @@ class JsonIncludeNonNullTest { data class Dto( val pN: Primitive? = null, val nnoN: NonNullObject? = null, - val noN1: NullableObject? = null + val noN1: NullableObject? = null, + val npN: NullablePrimitive? = null, + val tupN: TwoUnitPrimitive? = null, ) @Test fun success() { - val mapper = jacksonObjectMapper() val dto = Dto() - assertEquals("{}", mapper.writeValueAsString(dto)) + assertEquals("{}", defaultMapper.writeValueAsString(dto)) } // It is under consideration whether it should be serialized because it is non-null in Kotlin, @@ -27,15 +28,19 @@ class JsonIncludeNonNullTest { data class DtoFails( val noNn: NullableObject = NullableObject(null), val noN2: NullableObject? = NullableObject(null), - val map: Map = mapOf("noNn" to NullableObject(null)) + val npNn: NullablePrimitive = NullablePrimitive(null), + val npN2: NullablePrimitive? = NullablePrimitive(null), + val map: Map = mapOf( + "noNn" to NullableObject(null), + "npNn" to NullablePrimitive(null), + ), ) @Test fun fails() { - val mapper = jacksonObjectMapper() val dto = DtoFails() - val result = mapper.writeValueAsString(dto) + val result = defaultMapper.writeValueAsString(dto) assertNotEquals("""{"map":{}}""", result) - assertEquals("""{"noNn":null,"noN2":null,"map":{"noNn":null}}""", result) + assertEquals("""{"noNn":null,"noN2":null,"npNn":null,"npN2":null,"map":{"noNn":null,"npNn":null}}""", result) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/ValueClasses.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/ValueClasses.kt index e09eef4e..496a2336 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/ValueClasses.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonInclude/ValueClasses.kt @@ -8,3 +8,9 @@ value class NonNullObject(val v: String) @JvmInline value class NullableObject(val v: String?) + +@JvmInline +value class NullablePrimitive(val v: Int?) + +@JvmInline +value class TwoUnitPrimitive(val v: Long) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonKUnbox/ForClass.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonKUnbox/ForClass.kt index b0d60219..9b94e9e7 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonKUnbox/ForClass.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonKUnbox/ForClass.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.jsonKUnbox import io.github.projectmapk.jackson.module.kogera.annotation.JsonKUnbox -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -18,6 +18,14 @@ class ForClass { @JsonKUnbox value class NullableObject(val v: String?) + @JvmInline + @JsonKUnbox + value class NullablePrimitive(val v: Int?) + + @JsonKUnbox + @JvmInline + value class TwoUnitPrimitive(val v: Long) + data class Dto( val p0: Primitive = Primitive(0), val p1: Primitive? = Primitive(1), @@ -28,14 +36,22 @@ class ForClass { val no0: NullableObject = NullableObject("0"), val no1: NullableObject = NullableObject(null), val no2: NullableObject? = NullableObject("2"), - val no3: NullableObject? = null + val no3: NullableObject? = null, + val np0: NullablePrimitive = NullablePrimitive(0), + val np1: NullablePrimitive = NullablePrimitive(null), + val np2: NullablePrimitive? = NullablePrimitive(2), + val np3: NullablePrimitive? = null, + val tup0: TwoUnitPrimitive = TwoUnitPrimitive(0), + val tup1: TwoUnitPrimitive? = TwoUnitPrimitive(1), + val tup2: TwoUnitPrimitive? = null, ) @Test fun test() { - val expected = - """{"p0":0,"p1":1,"p2":null,"nno0":"0","nno1":"1","nno2":null,"no0":"0","no1":null,"no2":"2","no3":null}""" - val actual = jacksonObjectMapper().writeValueAsString(Dto()) + val expected = """ + {"p0":0,"p1":1,"p2":null,"nno0":"0","nno1":"1","nno2":null,"no0":"0","no1":null,"no2":"2","no3":null,"np0":0,"np1":null,"np2":2,"np3":null,"tup0":0,"tup1":1,"tup2":null} + """.trimIndent() + val actual = defaultMapper.writeValueAsString(Dto()) assertEquals(expected, actual) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonKUnbox/ForProperty.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonKUnbox/ForProperty.kt index 7bb85f71..0516fa37 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonKUnbox/ForProperty.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/jsonKUnbox/ForProperty.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.jsonKUnbox import io.github.projectmapk.jackson.module.kogera.annotation.JsonKUnbox -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -15,6 +15,12 @@ class ForProperty { @JvmInline value class NullableObject(val v: String?) + @JvmInline + value class NullablePrimitive(val v: Int?) + + @JvmInline + value class TwoUnitPrimitive(val v: Long) + data class Dto( @get:JsonKUnbox val p0: Primitive = Primitive(0), @@ -35,14 +41,29 @@ class ForProperty { @get:JsonKUnbox val no2: NullableObject? = NullableObject("2"), @get:JsonKUnbox - val no3: NullableObject? = null + val no3: NullableObject? = null, + @get:JsonKUnbox + val np0: NullablePrimitive = NullablePrimitive(0), + @get:JsonKUnbox + val np1: NullablePrimitive = NullablePrimitive(null), + @get:JsonKUnbox + val np2: NullablePrimitive? = NullablePrimitive(2), + @get:JsonKUnbox + val np3: NullablePrimitive? = null, + @get:JsonKUnbox + val tup0: TwoUnitPrimitive = TwoUnitPrimitive(0), + @get:JsonKUnbox + val tup1: TwoUnitPrimitive? = TwoUnitPrimitive(1), + @get:JsonKUnbox + val tup2: TwoUnitPrimitive? = null, ) @Test fun test() { - val expected = - """{"p0":0,"p1":1,"p2":null,"nno0":"0","nno1":"1","nno2":null,"no0":"0","no1":null,"no2":"2","no3":null}""" - val actual = jacksonObjectMapper().writeValueAsString(Dto()) + val expected = """ + {"p0":0,"p1":1,"p2":null,"nno0":"0","nno1":"1","nno2":null,"no0":"0","no1":null,"no2":"2","no3":null,"np0":0,"np1":null,"np2":2,"np3":null,"tup0":0,"tup1":1,"tup2":null} + """.trimIndent() + val actual = defaultMapper.writeValueAsString(Dto()) assertEquals(expected, actual) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/ValueClasses.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/ValueClasses.kt index 1ca1d171..b9162cde 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/ValueClasses.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/ValueClasses.kt @@ -30,3 +30,21 @@ value class NullableObject(val v: String?) { } } } + +@JvmInline +value class NullablePrimitive(val v: Int?) { + class Serializer : StdSerializer(NullablePrimitive::class.java) { + override fun serialize(value: NullablePrimitive, gen: JsonGenerator, provider: SerializerProvider) { + value.v?.let { gen.writeNumber(it + 100) } ?: gen.writeString("NULL") + } + } +} + +@JvmInline +value class TwoUnitPrimitive(val v: Long) { + class Serializer : StdSerializer(TwoUnitPrimitive::class.java) { + override fun serialize(value: TwoUnitPrimitive, gen: JsonGenerator, provider: SerializerProvider) { + gen.writeNumber(value.v + 100) + } + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nonNullObject/ByAnnotationTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nonNullObject/ByAnnotationTest.kt index b5b10dd8..769909fa 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nonNullObject/ByAnnotationTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nonNullObject/ByAnnotationTest.kt @@ -16,7 +16,7 @@ class ByAnnotationTest { @get:JsonSerialize(using = NonNullObject.Serializer::class) val getterAnn: NonNullObject, @field:JsonSerialize(using = NonNullObject.Serializer::class) - val fieldAnn: NonNullObject + val fieldAnn: NonNullObject, ) @Test @@ -30,7 +30,7 @@ class ByAnnotationTest { "fieldAnn" : "bar-ser" } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } @@ -38,7 +38,7 @@ class ByAnnotationTest { @get:JsonSerialize(using = NonNullObject.Serializer::class) val getterAnn: NonNullObject?, @field:JsonSerialize(using = NonNullObject.Serializer::class) - val fieldAnn: NonNullObject? + val fieldAnn: NonNullObject?, ) @Test @@ -52,7 +52,7 @@ class ByAnnotationTest { "fieldAnn" : "bar-ser" } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } @@ -67,7 +67,7 @@ class ByAnnotationTest { "fieldAnn" : null } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullableObject/byAnnotation/NonNullValueTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullableObject/byAnnotation/NonNullValueTest.kt index ae9b66f2..269b6c35 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullableObject/byAnnotation/NonNullValueTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullableObject/byAnnotation/NonNullValueTest.kt @@ -16,7 +16,7 @@ class NonNullValueTest { @get:JsonSerialize(using = NullableObject.Serializer::class) val getterAnn: NullableObject, @field:JsonSerialize(using = NullableObject.Serializer::class) - val fieldAnn: NullableObject + val fieldAnn: NullableObject, ) @Test @@ -30,7 +30,7 @@ class NonNullValueTest { "fieldAnn" : "bar-ser" } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } @@ -38,7 +38,7 @@ class NonNullValueTest { @get:JsonSerialize(using = NullableObject.Serializer::class) val getterAnn: NullableObject?, @field:JsonSerialize(using = NullableObject.Serializer::class) - val fieldAnn: NullableObject? + val fieldAnn: NullableObject?, ) @Test @@ -52,7 +52,7 @@ class NonNullValueTest { "fieldAnn" : "bar-ser" } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } @@ -67,7 +67,7 @@ class NonNullValueTest { "fieldAnn" : null } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullableObject/byAnnotation/NullValueTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullableObject/byAnnotation/NullValueTest.kt index eab70e05..a7ac6a75 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullableObject/byAnnotation/NullValueTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullableObject/byAnnotation/NullValueTest.kt @@ -16,7 +16,7 @@ class NullValueTest { @get:JsonSerialize(using = NullableObject.Serializer::class) val getterAnn: NullableObject, @field:JsonSerialize(using = NullableObject.Serializer::class) - val fieldAnn: NullableObject + val fieldAnn: NullableObject, ) @Test @@ -30,7 +30,7 @@ class NullValueTest { "fieldAnn" : "NULL" } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } @@ -38,7 +38,7 @@ class NullValueTest { @get:JsonSerialize(using = NullableObject.Serializer::class) val getterAnn: NullableObject?, @field:JsonSerialize(using = NullableObject.Serializer::class) - val fieldAnn: NullableObject? + val fieldAnn: NullableObject?, ) @Test @@ -52,7 +52,7 @@ class NullValueTest { "fieldAnn" : "NULL" } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } @@ -67,7 +67,7 @@ class NullValueTest { "fieldAnn" : null } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullablePrimitive/byAnnotation/NonNullValueTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullablePrimitive/byAnnotation/NonNullValueTest.kt new file mode 100644 index 00000000..d6ff8a05 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullablePrimitive/byAnnotation/NonNullValueTest.kt @@ -0,0 +1,73 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.serializer.byAnnotation.nullablePrimitive.byAnnotation + +import com.fasterxml.jackson.databind.annotation.JsonSerialize +import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.testPrettyWriter +import io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.serializer.NullablePrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +class NonNullValueTest { + companion object { + val writer = jacksonObjectMapper().testPrettyWriter() + } + + data class NonNullSrc( + @get:JsonSerialize(using = NullablePrimitive.Serializer::class) + val getterAnn: NullablePrimitive, + @field:JsonSerialize(using = NullablePrimitive.Serializer::class) + val fieldAnn: NullablePrimitive, + ) + + @Test + fun nonNull() { + val src = NonNullSrc(NullablePrimitive(42), NullablePrimitive(99)) + + Assertions.assertEquals( + """ + { + "getterAnn" : 142, + "fieldAnn" : 199 + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } + + data class NullableSrc( + @get:JsonSerialize(using = NullablePrimitive.Serializer::class) + val getterAnn: NullablePrimitive?, + @field:JsonSerialize(using = NullablePrimitive.Serializer::class) + val fieldAnn: NullablePrimitive?, + ) + + @Test + fun nullableWithoutNull() { + val src = NullableSrc(NullablePrimitive(42), NullablePrimitive(99)) + + Assertions.assertEquals( + """ + { + "getterAnn" : 142, + "fieldAnn" : 199 + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } + + @Test + fun nullableWithNull() { + val src = NullableSrc(null, null) + + Assertions.assertEquals( + """ + { + "getterAnn" : null, + "fieldAnn" : null + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullablePrimitive/byAnnotation/NullValueTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullablePrimitive/byAnnotation/NullValueTest.kt new file mode 100644 index 00000000..5edc4f32 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/nullablePrimitive/byAnnotation/NullValueTest.kt @@ -0,0 +1,73 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.serializer.byAnnotation.nullablePrimitive.byAnnotation + +import com.fasterxml.jackson.databind.annotation.JsonSerialize +import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.testPrettyWriter +import io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.serializer.NullablePrimitive +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test + +class NullValueTest { + companion object { + val writer = jacksonObjectMapper().testPrettyWriter() + } + + data class NonNullSrc( + @get:JsonSerialize(using = NullablePrimitive.Serializer::class) + val getterAnn: NullablePrimitive, + @field:JsonSerialize(using = NullablePrimitive.Serializer::class) + val fieldAnn: NullablePrimitive, + ) + + @Test + fun failing() { + val src = NonNullSrc(NullablePrimitive(null), NullablePrimitive(null)) + + Assertions.assertNotEquals( + """ + { + "getterAnn" : "NULL", + "fieldAnn" : "NULL" + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } + + data class NullableSrc( + @get:JsonSerialize(using = NullablePrimitive.Serializer::class) + val getterAnn: NullablePrimitive?, + @field:JsonSerialize(using = NullablePrimitive.Serializer::class) + val fieldAnn: NullablePrimitive?, + ) + + @Test + fun nullableWithoutNull() { + val src = NullableSrc(NullablePrimitive(null), NullablePrimitive(null)) + + Assertions.assertEquals( + """ + { + "getterAnn" : "NULL", + "fieldAnn" : "NULL" + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } + + @Test + fun nullableWithNull() { + val src = NullableSrc(null, null) + + Assertions.assertEquals( + """ + { + "getterAnn" : null, + "fieldAnn" : null + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/primitive/ByAnnotationTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/primitive/ByAnnotationTest.kt index 7450affe..d6049d8f 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/primitive/ByAnnotationTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/primitive/ByAnnotationTest.kt @@ -24,7 +24,7 @@ class ByAnnotationTest { @get:JsonSerialize(using = Primitive.Serializer::class) val getterAnn: Primitive, @field:JsonSerialize(using = Primitive.Serializer::class) - val fieldAnn: Primitive + val fieldAnn: Primitive, ) @Test @@ -39,7 +39,7 @@ class ByAnnotationTest { "fieldAnn" : 102 } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } @@ -49,7 +49,7 @@ class ByAnnotationTest { @get:JsonSerialize(using = Primitive.Serializer::class) val getterAnn: Primitive?, @field:JsonSerialize(using = Primitive.Serializer::class) - val fieldAnn: Primitive? + val fieldAnn: Primitive?, ) @Test @@ -64,7 +64,7 @@ class ByAnnotationTest { "fieldAnn" : 102 } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } @@ -80,7 +80,7 @@ class ByAnnotationTest { "fieldAnn" : null } """.trimIndent(), - writer.writeValueAsString(src) + writer.writeValueAsString(src), ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/twoUnitPrimitive/ByAnnotationTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/twoUnitPrimitive/ByAnnotationTest.kt new file mode 100644 index 00000000..52086192 --- /dev/null +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zIntegration/ser/valueClass/serializer/byAnnotation/twoUnitPrimitive/ByAnnotationTest.kt @@ -0,0 +1,86 @@ +package io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.serializer.byAnnotation.twoUnitPrimitive + +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.databind.annotation.JsonSerialize +import io.github.projectmapk.jackson.module.kogera.KotlinFeature +import io.github.projectmapk.jackson.module.kogera.KotlinModule +import io.github.projectmapk.jackson.module.kogera.testPrettyWriter +import io.github.projectmapk.jackson.module.kogera.zIntegration.ser.valueClass.serializer.TwoUnitPrimitive +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Test + +class ByAnnotationTest { + companion object { + val writer = KotlinModule.Builder() + .enable(KotlinFeature.CopySyntheticConstructorParameterAnnotations) + .build() + .let { ObjectMapper().registerModule(it) } + .testPrettyWriter() + } + + data class NonNullSrc( + @JsonSerialize(using = TwoUnitPrimitive.Serializer::class) + val paramAnn: TwoUnitPrimitive, + @get:JsonSerialize(using = TwoUnitPrimitive.Serializer::class) + val getterAnn: TwoUnitPrimitive, + @field:JsonSerialize(using = TwoUnitPrimitive.Serializer::class) + val fieldAnn: TwoUnitPrimitive, + ) + + @Test + fun nonNull() { + val src = NonNullSrc(TwoUnitPrimitive(0), TwoUnitPrimitive(1), TwoUnitPrimitive(2)) + + assertEquals( + """ + { + "paramAnn" : 100, + "getterAnn" : 101, + "fieldAnn" : 102 + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } + + data class NullableSrc( + @JsonSerialize(using = TwoUnitPrimitive.Serializer::class) + val paramAnn: TwoUnitPrimitive?, + @get:JsonSerialize(using = TwoUnitPrimitive.Serializer::class) + val getterAnn: TwoUnitPrimitive?, + @field:JsonSerialize(using = TwoUnitPrimitive.Serializer::class) + val fieldAnn: TwoUnitPrimitive?, + ) + + @Test + fun nullableWithoutNull() { + val src = NullableSrc(TwoUnitPrimitive(0), TwoUnitPrimitive(1), TwoUnitPrimitive(2)) + + assertEquals( + """ + { + "paramAnn" : 100, + "getterAnn" : 101, + "fieldAnn" : 102 + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } + + @Test + fun nullableWithNull() { + val src = NullableSrc(null, null, null) + + assertEquals( + """ + { + "paramAnn" : null, + "getterAnn" : null, + "fieldAnn" : null + } + """.trimIndent(), + writer.writeValueAsString(src), + ) + } +} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/KotlinInstantiatorsTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/KotlinInstantiatorsTest.kt index 1316444d..2dd49557 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/KotlinInstantiatorsTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/KotlinInstantiatorsTest.kt @@ -2,17 +2,16 @@ package io.github.projectmapk.jackson.module.kogera.zPorted import com.fasterxml.jackson.databind.deser.std.StdValueInstantiator import io.github.projectmapk.jackson.module.kogera.ReflectionCache +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.deser.valueInstantiator.KotlinInstantiators import io.github.projectmapk.jackson.module.kogera.deser.valueInstantiator.KotlinValueInstantiator -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows class KotlinInstantiatorsTest { - private val mapper = jacksonObjectMapper() - private val deserConfig = mapper.deserializationConfig + private val deserConfig = defaultMapper.deserializationConfig private val kotlinInstantiators = KotlinInstantiators( ReflectionCache(10, 10), @@ -23,7 +22,7 @@ class KotlinInstantiatorsTest { @Test fun `Provides default instantiator for Java class`() { - val javaType = mapper.constructType(String::class.java) + val javaType = defaultMapper.constructType(String::class.java) val defaultInstantiator = StdValueInstantiator(deserConfig, javaType) val instantiator = kotlinInstantiators.findValueInstantiator( deserConfig, @@ -38,7 +37,7 @@ class KotlinInstantiatorsTest { fun `Provides KotlinValueInstantiator for Kotlin class`() { class TestClass - val javaType = mapper.constructType(TestClass::class.java) + val javaType = defaultMapper.constructType(TestClass::class.java) val instantiator = kotlinInstantiators.findValueInstantiator( deserConfig, deserConfig.introspect(javaType), @@ -56,13 +55,13 @@ class KotlinInstantiatorsTest { val subClassInstantiator = object : StdValueInstantiator( deserConfig, - mapper.constructType(DefaultClass::class.java) + defaultMapper.constructType(DefaultClass::class.java) ) {} assertThrows { kotlinInstantiators.findValueInstantiator( deserConfig, - deserConfig.introspect(mapper.constructType(TestClass::class.java)), + deserConfig.introspect(defaultMapper.constructType(TestClass::class.java)), subClassInstantiator ) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/ReadValueTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/ReadValueTest.kt index d8ed9a79..2b01e65a 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/ReadValueTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/ReadValueTest.kt @@ -2,12 +2,12 @@ package io.github.projectmapk.jackson.module.kogera.zPorted import com.fasterxml.jackson.databind.RuntimeJsonMappingException import com.fasterxml.jackson.databind.node.NullNode +import io.github.projectmapk.jackson.module.kogera.convertValue import io.github.projectmapk.jackson.module.kogera.createTempJson import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.readValueTyped import io.github.projectmapk.jackson.module.kogera.treeToValue -import io.github.projectmapk.jackson.module.kogera.convertValue import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/ReadValuesTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/ReadValuesTest.kt index a1b85f1c..ef1ec496 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/ReadValuesTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/ReadValuesTest.kt @@ -8,7 +8,6 @@ import com.fasterxml.jackson.databind.module.SimpleModule import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.readValues import io.github.projectmapk.jackson.module.kogera.readValuesTyped -import org.junit.jupiter.api.Assertions.assertDoesNotThrow import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/SealedClassTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/SealedClassTest.kt index e41cef1c..77d75bca 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/SealedClassTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/SealedClassTest.kt @@ -5,15 +5,13 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo import com.fasterxml.jackson.annotation.JsonValue import com.fasterxml.jackson.core.type.TypeReference import com.fasterxml.jackson.databind.exc.MismatchedInputException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.zPorted.test.SealedClassTest.SuperClass.B import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test class SealedClassTest { - private val mapper = jacksonObjectMapper() - /** * Json of a Serialized B-Object. */ @@ -24,13 +22,13 @@ class SealedClassTest { */ @Test fun sealedClassWithoutSubTypes() { - val result = mapper.readValue(jsonB, SuperClass::class.java) + val result = defaultMapper.readValue(jsonB, SuperClass::class.java) assertTrue { result is B } } @Test fun sealedClassWithoutSubTypesList() { - val result = mapper.readValue( + val result = defaultMapper.readValue( """[$jsonB, $jsonB]""", object : TypeReference>() {} ) @@ -49,7 +47,7 @@ class SealedClassTest { @Test fun sealedClassWithoutTypeDiscriminator() { val serializedSingle = """{"request":"single"}""" - val single = mapper.readValue(serializedSingle, SealedRequest::class.java) + val single = defaultMapper.readValue(serializedSingle, SealedRequest::class.java) assertEquals("single", (single as? SealedRequest.SingleRequest)?.request) } @@ -60,7 +58,7 @@ class SealedClassTest { fun sealedClassWithoutTypeDiscriminatorList() { val serializedBatch = """[{"request":"first"},{"request":"second"}]""" expectFailure("Deserializing a list using deduction is fixed!") { - val batch = mapper.readValue(serializedBatch, SealedRequest::class.java) as SealedRequest.BatchRequest + val batch = defaultMapper.readValue(serializedBatch, SealedRequest::class.java) as SealedRequest.BatchRequest assertEquals(2, batch.requests.size) assertEquals("first", batch.requests[0].request) assertEquals("second", batch.requests[1].request) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/SequenceSerdesTests.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/SequenceSerdesTests.kt index a5bdba17..189da196 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/SequenceSerdesTests.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/SequenceSerdesTests.kt @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonGenerator import com.fasterxml.jackson.databind.SerializerProvider import com.fasterxml.jackson.databind.annotation.JsonSerialize import com.fasterxml.jackson.databind.ser.std.StdSerializer -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -15,16 +15,14 @@ class TestSequenceDeserializer { @Test fun deserializeSequence() { val list = listOf("Test", "Test1") - val objectMapper = jacksonObjectMapper() - val result = objectMapper.readValue("{\"value\":[\"Test\",\"Test1\"]}") + val result = defaultMapper.readValue("{\"value\":[\"Test\",\"Test1\"]}") assertEquals(list, result.value.toList()) } @Test fun deserializeEmptySequence() { val list = listOf() - val objectMapper = jacksonObjectMapper() - val result = objectMapper.readValue("{\"value\":[]}") + val result = defaultMapper.readValue("{\"value\":[]}") assertEquals(list, result.value.toList()) } @@ -32,8 +30,7 @@ class TestSequenceDeserializer { fun testSerializeSequence() { val sequence = listOf("item1", "item2").asSequence() val data = Data(sequence) - val objectMapper = jacksonObjectMapper() - val result = objectMapper.writeValueAsString(data) + val result = defaultMapper.writeValueAsString(data) assertEquals("{\"value\":[\"item1\",\"item2\"]}", result) } @@ -41,8 +38,7 @@ class TestSequenceDeserializer { fun testSerializeEmptySequence() { val sequence = listOf().asSequence() val data = Data(sequence) - val objectMapper = jacksonObjectMapper() - val result = objectMapper.writeValueAsString(data) + val result = defaultMapper.writeValueAsString(data) assertEquals("{\"value\":[]}", result) } @@ -63,10 +59,8 @@ class TestSequenceDeserializer { @Test fun contentUsingTest() { - val mapper = jacksonObjectMapper() - - val listResult = mapper.writeValueAsString(ListWrapper(listOf("foo"))) - val sequenceResult = mapper.writeValueAsString(SequenceWrapper(sequenceOf("foo"))) + val listResult = defaultMapper.writeValueAsString(ListWrapper(listOf("foo"))) + val sequenceResult = defaultMapper.writeValueAsString(SequenceWrapper(sequenceOf("foo"))) assertEquals("""{"value":["foo-ser"]}""", sequenceResult) assertEquals(listResult, sequenceResult) @@ -75,8 +69,7 @@ class TestSequenceDeserializer { // @see #674 @Test fun sequenceOfTest() { - val mapper = jacksonObjectMapper() - val result = mapper.writeValueAsString(sequenceOf("foo")) + val result = defaultMapper.writeValueAsString(sequenceOf("foo")) assertEquals("""["foo"]""", result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/UnsignedNumbersOnKeyTest.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/UnsignedNumbersOnKeyTest.kt index 1d6ca3fb..0c587134 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/UnsignedNumbersOnKeyTest.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/UnsignedNumbersOnKeyTest.kt @@ -1,110 +1,111 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test import com.fasterxml.jackson.core.exc.InputCoercionException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows import java.math.BigInteger internal class UnsignedNumbersOnKeyTest { - companion object { - val MAPPER = jacksonObjectMapper() - } - - class ForUByte { - private fun makeSrc(v: Int): String = MAPPER.writeValueAsString(mapOf(v to 0)) + @Nested + inner class ForUByte { + private fun makeSrc(v: Int): String = defaultMapper.writeValueAsString(mapOf(v to 0)) @Test fun test() { - val actual = MAPPER.readValue>(makeSrc(UByte.MAX_VALUE.toInt())) + val actual = defaultMapper.readValue>(makeSrc(UByte.MAX_VALUE.toInt())) assertEquals(mapOf(UByte.MAX_VALUE to 0.toUByte()), actual) } @Test fun overflow() { assertThrows { - MAPPER.readValue>(makeSrc(UByte.MAX_VALUE.toInt() + 1)) + defaultMapper.readValue>(makeSrc(UByte.MAX_VALUE.toInt() + 1)) } } @Test fun underflow() { assertThrows { - MAPPER.readValue>(makeSrc(-1)) + defaultMapper.readValue>(makeSrc(-1)) } } } - class ForUShort { - private fun makeSrc(v: Int): String = MAPPER.writeValueAsString(mapOf(v to 0)) + @Nested + inner class ForUShort { + private fun makeSrc(v: Int): String = defaultMapper.writeValueAsString(mapOf(v to 0)) @Test fun test() { - val actual = MAPPER.readValue>(makeSrc(UShort.MAX_VALUE.toInt())) + val actual = defaultMapper.readValue>(makeSrc(UShort.MAX_VALUE.toInt())) assertEquals(mapOf(UShort.MAX_VALUE to 0.toUShort()), actual) } @Test fun overflow() { assertThrows { - MAPPER.readValue>(makeSrc(UShort.MAX_VALUE.toInt() + 1)) + defaultMapper.readValue>(makeSrc(UShort.MAX_VALUE.toInt() + 1)) } } @Test fun underflow() { assertThrows { - MAPPER.readValue>(makeSrc(-1)) + defaultMapper.readValue>(makeSrc(-1)) } } } - class ForUInt { - private fun makeSrc(v: Long): String = MAPPER.writeValueAsString(mapOf(v to 0)) + @Nested + inner class ForUInt { + private fun makeSrc(v: Long): String = defaultMapper.writeValueAsString(mapOf(v to 0)) @Test fun test() { - val actual = MAPPER.readValue>(makeSrc(UInt.MAX_VALUE.toLong())) + val actual = defaultMapper.readValue>(makeSrc(UInt.MAX_VALUE.toLong())) assertEquals(mapOf(UInt.MAX_VALUE to 0.toUInt()), actual) } @Test fun overflow() { assertThrows { - MAPPER.readValue>(makeSrc(UInt.MAX_VALUE.toLong() + 1L)) + defaultMapper.readValue>(makeSrc(UInt.MAX_VALUE.toLong() + 1L)) } } @Test fun underflow() { assertThrows { - MAPPER.readValue>(makeSrc(-1L)) + defaultMapper.readValue>(makeSrc(-1L)) } } } - class ForULong { - private fun makeSrc(v: BigInteger): String = MAPPER.writeValueAsString(mapOf(v to 0)) + @Nested + inner class ForULong { + private fun makeSrc(v: BigInteger): String = defaultMapper.writeValueAsString(mapOf(v to 0)) @Test fun test() { - val actual = MAPPER.readValue>(makeSrc(BigInteger(ULong.MAX_VALUE.toString()))) + val actual = defaultMapper.readValue>(makeSrc(BigInteger(ULong.MAX_VALUE.toString()))) assertEquals(mapOf(ULong.MAX_VALUE to 0.toULong()), actual) } @Test fun overflow() { assertThrows { - MAPPER.readValue>(makeSrc(BigInteger(ULong.MAX_VALUE.toString()) + BigInteger.ONE)) + defaultMapper.readValue>(makeSrc(BigInteger(ULong.MAX_VALUE.toString()) + BigInteger.ONE)) } } @Test fun underflow() { assertThrows { - MAPPER.readValue>(makeSrc(BigInteger.valueOf(-1L))) + defaultMapper.readValue>(makeSrc(BigInteger.valueOf(-1L))) } } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/UnsignedNumbersTests.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/UnsignedNumbersTests.kt index f19032a7..74beb7f2 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/UnsignedNumbersTests.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/UnsignedNumbersTests.kt @@ -1,8 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test import com.fasterxml.jackson.core.exc.InputCoercionException -import com.fasterxml.jackson.databind.ObjectMapper -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -10,83 +9,80 @@ import org.junit.jupiter.api.assertThrows import java.math.BigInteger internal class UnsignedNumbersTests { - - val mapper: ObjectMapper = jacksonObjectMapper() - @Test fun `test UByte`() { - val json = mapper.writeValueAsString(UByte.MAX_VALUE) - val deserialized = mapper.readValue(json) + val json = defaultMapper.writeValueAsString(UByte.MAX_VALUE) + val deserialized = defaultMapper.readValue(json) assertEquals(UByte.MAX_VALUE, deserialized) } @Test fun `test UByte overflow`() { - val json = mapper.writeValueAsString(UByte.MAX_VALUE + 1u) - assertThrows { mapper.readValue(json) } + val json = defaultMapper.writeValueAsString(UByte.MAX_VALUE + 1u) + assertThrows { defaultMapper.readValue(json) } } @Test fun `test UByte underflow`() { - val json = mapper.writeValueAsString(-1) - assertThrows { mapper.readValue(json) } + val json = defaultMapper.writeValueAsString(-1) + assertThrows { defaultMapper.readValue(json) } } @Test fun `test UShort`() { - val json = mapper.writeValueAsString(UShort.MAX_VALUE) - val deserialized = mapper.readValue(json) + val json = defaultMapper.writeValueAsString(UShort.MAX_VALUE) + val deserialized = defaultMapper.readValue(json) assertEquals(UShort.MAX_VALUE, deserialized) } @Test fun `test UShort overflow`() { - val json = mapper.writeValueAsString(UShort.MAX_VALUE + 1u) - assertThrows { mapper.readValue(json) } + val json = defaultMapper.writeValueAsString(UShort.MAX_VALUE + 1u) + assertThrows { defaultMapper.readValue(json) } } @Test fun `test UShort underflow`() { - val json = mapper.writeValueAsString(-1) - assertThrows { mapper.readValue(json) } + val json = defaultMapper.writeValueAsString(-1) + assertThrows { defaultMapper.readValue(json) } } @Test fun `test UInt`() { - val json = mapper.writeValueAsString(UInt.MAX_VALUE) - val deserialized = mapper.readValue(json) + val json = defaultMapper.writeValueAsString(UInt.MAX_VALUE) + val deserialized = defaultMapper.readValue(json) assertEquals(UInt.MAX_VALUE, deserialized) } @Test fun `test UInt overflow`() { - val json = mapper.writeValueAsString(UInt.MAX_VALUE.toULong() + 1u) - assertThrows { mapper.readValue(json) } + val json = defaultMapper.writeValueAsString(UInt.MAX_VALUE.toULong() + 1u) + assertThrows { defaultMapper.readValue(json) } } @Test fun `test UInt underflow`() { - val json = mapper.writeValueAsString(-1) - assertThrows { mapper.readValue(json) } + val json = defaultMapper.writeValueAsString(-1) + assertThrows { defaultMapper.readValue(json) } } @Test fun `test ULong`() { - val json = mapper.writeValueAsString(ULong.MAX_VALUE) - val deserialized = mapper.readValue(json) + val json = defaultMapper.writeValueAsString(ULong.MAX_VALUE) + val deserialized = defaultMapper.readValue(json) assertEquals(ULong.MAX_VALUE, deserialized) } @Test fun `test ULong overflow`() { val value = BigInteger(ULong.MAX_VALUE.toString()) + BigInteger.ONE - val json = mapper.writeValueAsString(value) - assertThrows { mapper.readValue(json) } + val json = defaultMapper.writeValueAsString(value) + assertThrows { defaultMapper.readValue(json) } } @Test fun `test ULong underflow`() { - val json = mapper.writeValueAsString(-1) - assertThrows { mapper.readValue(json) } + val json = defaultMapper.writeValueAsString(-1) + assertThrows { defaultMapper.readValue(json) } } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub618.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub618.kt index 5aad570a..e79385b1 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub618.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub618.kt @@ -4,7 +4,7 @@ import com.fasterxml.jackson.core.JsonGenerator import com.fasterxml.jackson.databind.SerializerProvider import com.fasterxml.jackson.databind.annotation.JsonSerialize import com.fasterxml.jackson.databind.ser.std.StdSerializer -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -23,8 +23,7 @@ class GitHub618 { @Test fun test() { - val mapper = jacksonObjectMapper() // expected: {"v":null}, but NullPointerException thrown - assertEquals("""{"v":null}""", mapper.writeValueAsString(D(null))) + assertEquals("""{"v":null}""", defaultMapper.writeValueAsString(D(null))) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub625.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub625.kt index 18438770..f9cb06f6 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub625.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub625.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonInclude -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertNotEquals import org.junit.jupiter.api.Test @@ -29,9 +29,8 @@ class GitHub625 { @Test fun test() { - val mapper = jacksonObjectMapper() val dto = Dto() - assertEquals("{}", mapper.writeValueAsString(dto)) + assertEquals("{}", defaultMapper.writeValueAsString(dto)) } @JsonInclude(value = JsonInclude.Include.NON_EMPTY, content = JsonInclude.Include.NON_NULL) @@ -47,8 +46,7 @@ class GitHub625 { @Test fun failing() { - val writer = jacksonObjectMapper() - val json = writer.writeValueAsString(FailingDto()) + val json = defaultMapper.writeValueAsString(FailingDto()) assertNotEquals("{}", json) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub844.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub844.kt index 3ac6609f..40b5fca9 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub844.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub844.kt @@ -1,9 +1,8 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonTypeInfo -import com.fasterxml.jackson.databind.ObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue -import io.github.projectmapk.jackson.module.kogera.registerKotlinModule import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -22,8 +21,7 @@ class GitHub844 { } """ - val jacksonObjectMapper = ObjectMapper().registerKotlinModule() - val message = jacksonObjectMapper.readValue(json) + val message = defaultMapper.readValue(json) assertEquals(ChildClass("Test"), message) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub873.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub873.kt index 69d2b238..154371c2 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub873.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub873.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.defaultMapper +import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Test class GitHub873 { diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub876.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub876.kt index 1b40a400..77e8707c 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub876.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GitHub876.kt @@ -3,6 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonSetter import com.fasterxml.jackson.annotation.Nulls import io.github.projectmapk.jackson.module.kogera.configOverride +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals @@ -21,14 +22,12 @@ class GitHub876 { @Nested inner class WithAnnotationWithoutDefaultTest { - val mapper = jacksonObjectMapper() - @Test fun nullInput() { val input = """{"list": null, "map": null, "string": null}""" val expected = WithAnnotationWithoutDefault(emptyList(), emptyMap(), "") - val actual = mapper.readValue(input) + val actual = defaultMapper.readValue(input) assertEquals(expected, actual) } @@ -38,7 +37,7 @@ class GitHub876 { val input = """{}""" val expected = WithAnnotationWithoutDefault(emptyList(), emptyMap(), "") - val actual = mapper.readValue(input) + val actual = defaultMapper.readValue(input) assertEquals(expected, actual) } @@ -55,15 +54,13 @@ class GitHub876 { @Nested inner class WithAnnotationWithDefaultTest { - val mapper = jacksonObjectMapper() - @Test fun nullInput() { // If null is explicitly specified, the default value is not used val input = """{"list": null, "map": null, "string": null}""" val expected = WithAnnotationWithDefault(emptyList(), emptyMap(), "") - val actual = mapper.readValue(input) + val actual = defaultMapper.readValue(input) assertEquals(expected, actual) } @@ -74,7 +71,7 @@ class GitHub876 { val input = """{}""" val expected = WithAnnotationWithDefault() - val actual = mapper.readValue(input) + val actual = defaultMapper.readValue(input) assertEquals(expected, actual) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github101.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github101.kt index 857aa28a..7057b5a3 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github101.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github101.kt @@ -10,13 +10,13 @@ import java.util.UUID class TestGithub101_JacksonInjectTest { @Test fun `JacksonInject-annotated parameters are populated when constructing Kotlin data classes`() { - val mapper = jacksonObjectMapper() val contextualValue = UUID.randomUUID() + val reader = jacksonObjectMapper() + .readerFor(SomeDatum::class.java) + .with(InjectableValues.Std(mapOf("context" to contextualValue))) assertEquals( SomeDatum("test", contextualValue), - mapper.readerFor(SomeDatum::class.java) - .with(InjectableValues.Std(mapOf("context" to contextualValue))) - .readValue("""{ "value": "test" }""") + reader.readValue("""{ "value": "test" }""") ) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github104.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github104.kt index 6ed25067..1c7401c2 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github104.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github104.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Test @@ -12,10 +12,8 @@ class TestGithub104 { @Test fun testIt() { - val objectMapper = jacksonObjectMapper() - val jsonValue = """{"name":"TestName"}""" - objectMapper.readValue(jsonValue) + defaultMapper.readValue(jsonValue) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github114.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github114.kt index 3bd6e19d..557ed9e4 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github114.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github114.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -23,20 +23,17 @@ class TestGithub114 { @Test fun testCompanionObjectCreatorWithDefaultParameters() { - val mapper = jacksonObjectMapper() - - val foo = mapper.readValue("""{"baz": "bazValue"}""") + val foo = defaultMapper.readValue("""{"baz": "bazValue"}""") println(foo) - val fooWithStaticCreator = mapper.readValue("""{"baz": "bazValue"}""") + val fooWithStaticCreator = defaultMapper.readValue("""{"baz": "bazValue"}""") println(fooWithStaticCreator) // Expect FooWithStaticCreator(bar=default, baz=bazValue), result == InvalidNullException: Missing required creator property 'bar' (index 0) assertEquals(FooWithStaticCreator(FooWithStaticCreator.someValue, "bazValue"), fooWithStaticCreator) } @Test fun otherTestVariation() { - val mapper = jacksonObjectMapper() - val testObj = mapper.readValue("""{"id":1}""") + val testObj = defaultMapper.readValue("""{"id":1}""") assertEquals("yes", testObj.prop) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github120.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github120.kt index 27df18a1..f9d1aa61 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github120.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github120.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonValue -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -20,13 +20,12 @@ class TestGithub120 { @Test fun testNestedJsonValue() { - val om = jacksonObjectMapper() val foo = Foo(4711L) val bar = Bar(foo) - val asString = om.writeValueAsString(bar) + val asString = defaultMapper.writeValueAsString(bar) assertEquals("{\"foo\":4711}", asString) - val fromString = om.readValue(asString, Bar::class.java) + val fromString = defaultMapper.readValue(asString, Bar::class.java) assertEquals(bar, fromString) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github124.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github124.kt index d6cbf787..1b5a4f50 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github124.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github124.kt @@ -3,7 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Test @@ -11,17 +11,15 @@ class TestGithub124 { // test for [module-kotlin#124]: broken in 2.9.3, fixed in 2.9.6 @Test fun test() { - val objMapper = jacksonObjectMapper() - // with 2.9.3 prints // Foo(name=foo, query=NonSerializable, rawQuery=bar) // but with 2.9.4 throws: // io.github.projectmapk.jackson.module.kogera.MissingKotlinParameterException: Instantiation of [simple type, class DeserializationTest$Foo] value failed for JSON property query due to missing (therefore NULL) value for creator parameter rawQuery which is a non-nullable type // at [Source: (String)"{"name": "foo", "query": "bar"}"; line: 1, column: 31] (through reference chain: DeserializationTest$Foo["query"]) - val deserialized: Foo = objMapper.readValue("{\"name\": \"foo\", \"query\": \"bar\"}") + val deserialized: Foo = defaultMapper.readValue("{\"name\": \"foo\", \"query\": \"bar\"}") println(deserialized) - val serialized = objMapper.writeValueAsString(deserialized) + val serialized = defaultMapper.writeValueAsString(deserialized) // with 2.9.3 prints // {"name":"foo","query":"bar"} diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github131.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github131.kt index 7aacdb77..a57aa132 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github131.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github131.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -12,8 +12,7 @@ class TestGithub131 { @Test fun testFailureCase() { - val mapper = jacksonObjectMapper() - val x = mapper.readValue("""{"name":"abc"}""") + val x = defaultMapper.readValue("""{"name":"abc"}""") assertEquals(DerivedClass("abc").name, x.name) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github145.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github145.kt index 55f620b7..28d30bd1 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github145.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github145.kt @@ -3,14 +3,12 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Test @Suppress("UNUSED_VARIABLE") class TestGithub145 { - private val objectMapper = jacksonObjectMapper() - @Test fun workingTestWithoutKotlinModule() { class Person1( @@ -42,8 +40,8 @@ class TestGithub145 { ) } - val person1String = objectMapper.readValue(""""TestPreName,TestLastname"""") - val person1Json = objectMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") + val person1String = defaultMapper.readValue(""""TestPreName,TestLastname"""") + val person1Json = defaultMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") } @Test @@ -56,8 +54,8 @@ class TestGithub145 { ) } - val person2String = objectMapper.readValue(""""TestPreName,TestLastname"""") - val person2Json = objectMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") + val person2String = defaultMapper.readValue(""""TestPreName,TestLastname"""") + val person2Json = defaultMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") } @Test @@ -72,7 +70,7 @@ class TestGithub145 { } } - val person4String = objectMapper.readValue(""""TestPreName,TestLastname"""") + val person4String = defaultMapper.readValue(""""TestPreName,TestLastname"""") // person4 does not have parameter bound constructor, only string } @@ -87,8 +85,8 @@ class TestGithub145 { this(preNameAndLastName.substringBefore(","), preNameAndLastName.substringAfter(",")) } - val person5String = objectMapper.readValue(""""TestPreName,TestLastname"""") - val person5Json = objectMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") + val person5String = defaultMapper.readValue(""""TestPreName,TestLastname"""") + val person5Json = defaultMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") } // Cannot have companion object in class declared within function @@ -115,8 +113,8 @@ class TestGithub145 { @Test fun testPerson6() { - val person6String = objectMapper.readValue(""""TestPreName,TestLastname"""") - val person6Json = objectMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") + val person6String = defaultMapper.readValue(""""TestPreName,TestLastname"""") + val person6Json = defaultMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") } // Cannot have companion object in class declared within function @@ -137,7 +135,7 @@ class TestGithub145 { @Test fun testPerson7() { - val person7String = objectMapper.readValue(""""TestPreName,TestLastname"""") - val person7Json = objectMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") + val person7String = defaultMapper.readValue(""""TestPreName,TestLastname"""") + val person7Json = defaultMapper.readValue("""{"preName":"TestPreName","lastName":"TestLastname"}""") } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github148.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github148.kt index 396b6532..66194f51 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github148.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github148.kt @@ -1,7 +1,8 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Test class TestGithub148 { @@ -32,17 +33,16 @@ class TestGithub148 { val type: IncorrectType ) - class DemoApplicationTests { - val objectMapper = jacksonObjectMapper() - + @Nested + inner class DemoApplicationTests { @Test fun correntBean() { - assertEquals("{\"name\":\"corrent\",\"type\":\"TYPEA\"}", objectMapper.writeValueAsString(CorrentBean("corrent", CorrectType.TYPEA))) + assertEquals("{\"name\":\"corrent\",\"type\":\"TYPEA\"}", defaultMapper.writeValueAsString(CorrentBean("corrent", CorrectType.TYPEA))) } @Test fun incorrentBean() { - assertEquals("{\"name\":\"incorrent\",\"type\":\"TYPEA\"}", objectMapper.writeValueAsString(IncorrentBean("incorrent", IncorrectType.TYPEA))) + assertEquals("{\"name\":\"incorrent\",\"type\":\"TYPEA\"}", defaultMapper.writeValueAsString(IncorrentBean("incorrent", IncorrectType.TYPEA))) } } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github149.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github149.kt index 1508ba4c..23297087 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github149.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github149.kt @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect import com.fasterxml.jackson.annotation.JsonBackReference import com.fasterxml.jackson.annotation.JsonManagedReference import com.fasterxml.jackson.annotation.JsonProperty +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import org.junit.jupiter.api.Test @@ -77,12 +78,11 @@ class TestGithub149 { @Test fun testGithub129() { - val mapper = jacksonObjectMapper() val c = Car(id = 100) val color = Color(id = 100, code = "#FFFFF").apply { car = c } c.colors.add(color) - val s = mapper.writeValueAsString(c) - val value = mapper.readValue(s, Car::class.java) + val s = defaultMapper.writeValueAsString(c) + val value = defaultMapper.readValue(s, Car::class.java) // print(value) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github15.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github15.kt index 375a5916..dc8b5082 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github15.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github15.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -8,25 +8,21 @@ import org.junit.jupiter.api.Test class TestGithub15 { @Test fun testEnumConstructorWithParm() { - val one = jacksonObjectMapper() - .readValue("\"ONE\"", TestEnum::class.java) + val one = defaultMapper.readValue("\"ONE\"", TestEnum::class.java) assertEquals(TestEnum.ONE, one) - val two = jacksonObjectMapper() - .readValue("\"TWO\"", TestEnum::class.java) + val two = defaultMapper.readValue("\"TWO\"", TestEnum::class.java) assertEquals(TestEnum.TWO, two) } @Test fun testNormEnumWithoutParam() { - val one = jacksonObjectMapper() - .readValue("\"ONE\"", TestOther::class.java) + val one = defaultMapper.readValue("\"ONE\"", TestOther::class.java) assertEquals(TestOther.ONE, one) - val two = jacksonObjectMapper() - .readValue("\"TWO\"", TestOther::class.java) + val two = defaultMapper.readValue("\"TWO\"", TestOther::class.java) assertEquals(TestOther.TWO, two) } @Test fun testClassWithEnumsNeedingConstruction() { - val obj: UsingEnum = jacksonObjectMapper().readValue("""{"x":"ONE","y":"TWO"}""") + val obj: UsingEnum = defaultMapper.readValue("""{"x":"ONE","y":"TWO"}""") assertEquals(TestEnum.ONE, obj.x) assertEquals(TestOther.TWO, obj.y) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github155.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github155.kt index 38191e0b..c823c623 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github155.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github155.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Test @@ -15,7 +15,7 @@ class TestGithub155 { @Test fun testGithub155() { - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ {"name":"fred","age":12,"country":"Libertad","city":"Northville"} """.trimIndent() diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github158.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github158.kt index ba935d75..dc636b7b 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github158.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github158.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -20,13 +20,11 @@ class TestGithub158 { @Test fun testEnumSerDeser() { - val mapper = jacksonObjectMapper() - val original = SampleContainer(SampleImpl.One) - val json = mapper.writeValueAsString(original) + val json = defaultMapper.writeValueAsString(original) // println(json) - val obj = mapper.readValue(json) + val obj = defaultMapper.readValue(json) assertEquals(original, obj) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github165.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github165.kt index 292d76c9..d83b337e 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github165.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github165.kt @@ -2,6 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonProperty +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertFalse @@ -32,7 +33,7 @@ class TestGithub165 { @Test fun testJsonSetterCalledKotlin() { - val obj = io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper().readValue("""{"name":"Fred","year":"1942"}""") + val obj = defaultMapper.readValue("""{"name":"Fred","year":"1942"}""") assertEquals("1942", obj.showYear) assertEquals("Fred", obj.showName) assertTrue(obj.yearSetterCalled) @@ -41,8 +42,8 @@ class TestGithub165 { @Test fun testJsonSetterCalledJava() { - val obj = io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper() - .readValue("""{"name":"Fred","year":"1942"}""") + val obj = defaultMapper + .readValue("""{"name":"Fred","year":"1942"}""") assertEquals("1942", obj.showYear) assertEquals("Fred", obj.showName) assertTrue(obj.yearSetterCalled) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github167.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github167.kt index 1ed5847c..bcef3be5 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github167.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github167.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.databind.ObjectMapper -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Test import java.util.function.IntSupplier @@ -13,12 +13,12 @@ class TestGithub167 { @Test fun withKotlinExtension() { - jacksonObjectMapper().writeValueAsString(samObject) + defaultMapper.writeValueAsString(samObject) } @Test fun withKotlinExtension_Synthetic() { - jacksonObjectMapper().writeValueAsString(samObjectSynthetic) + defaultMapper.writeValueAsString(samObjectSynthetic) } @Test diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github168.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github168.kt index 48db0253..a19b4d0d 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github168.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github168.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.exc.InvalidNullException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -13,21 +13,21 @@ class TestGithub168 { class TestClass(@JsonProperty(value = "foo", required = true) foo: String?, val baz: String) @Test - fun testIfRequiredIsReallyRequiredWhenNullused() { - val obj = jacksonObjectMapper().readValue("""{"foo":null,"baz":"whatever"}""") + fun testIfRequiredIsReallyRequiredWhenNullUsed() { + val obj = defaultMapper.readValue("""{"foo":null,"baz":"whatever"}""") assertEquals("whatever", obj.baz) } @Test fun testIfRequiredIsReallyRequiredWhenAbsent() { assertThrows { - jacksonObjectMapper().readValue("""{"baz":"whatever"}""") + defaultMapper.readValue("""{"baz":"whatever"}""") } } @Test - fun testIfRequiredIsReallyRequiredWhenVauePresent() { - val obj = jacksonObjectMapper().readValue("""{"foo":"yay!","baz":"whatever"}""") + fun testIfRequiredIsReallyRequiredWhenValuePresent() { + val obj = defaultMapper.readValue("""{"foo":"yay!","baz":"whatever"}""") assertEquals("whatever", obj.baz) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github179.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github179.kt index 249261a0..dcca960a 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github179.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github179.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -10,17 +10,15 @@ import org.junit.jupiter.api.Test // verifying work around for this issue, no bug present class TestGithub179 { - val objectMapper = jacksonObjectMapper() - @Test fun listOfStrings() { - val strings = objectMapper.readValue("""[ "first", "second" ]""") + val strings = defaultMapper.readValue("""[ "first", "second" ]""") assertEquals(strings.values, listOf("first", "second")) } @Test fun embeddedListOfStrings() { - val stringsContainer = objectMapper.readValue( + val stringsContainer = defaultMapper.readValue( """{ "strings" : [ "first", "second" ] }""" ) assertEquals(stringsContainer.strings.values, listOf("first", "second")) @@ -28,7 +26,7 @@ class TestGithub179 { @Test fun embeddedListOfEnums() { - val myEnumsContainer = objectMapper.readValue( + val myEnumsContainer = defaultMapper.readValue( """{ "myEnums" : [ "first", "second" ] }""" ) assertEquals(myEnumsContainer.myEnums.values, listOf(MyEnum.FIRST, MyEnum.SECOND)) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github180.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github180.kt index f1112d40..9ddac318 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github180.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github180.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertNull import org.junit.jupiter.api.Test @@ -23,7 +23,7 @@ class TestGithub180 { @Test fun testMissingProperty() { - val obj = jacksonObjectMapper().readValue("""{}""") + val obj = defaultMapper.readValue("""{}""") assertNull(obj.instantName) assertNull(obj.someInt) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github181.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github181.kt index 68365a2d..4b70dfbf 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github181.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github181.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -23,9 +23,9 @@ class TestGithub181 { @Test fun testReflectionExceptionOnDelegatedMap() { val testInstance = HealthStatusMap(mapOf("failed" to HealthStatus.FAILED, "okey dokey" to HealthStatus.OK)) - val json = jacksonObjectMapper().writeValueAsString(testInstance) + val json = defaultMapper.writeValueAsString(testInstance) assertEquals("{\"failed\":\"FAILED\",\"okey dokey\":\"OK\"}", json) - val newInstance = jacksonObjectMapper().readValue(json) + val newInstance = defaultMapper.readValue(json) assertEquals(testInstance, newInstance) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github194.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github194.kt index 852ef1e1..4e031b5b 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github194.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github194.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonIdentityInfo import com.fasterxml.jackson.annotation.ObjectIdGenerators -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import java.util.UUID @@ -13,8 +13,7 @@ class TestGithub194 { @Test fun testIdentityInfo() { - val mapper = jacksonObjectMapper() - val value = mapper.readValue(json, WithIdentity::class.java) + val value = defaultMapper.readValue(json, WithIdentity::class.java) assertEquals(id, value.id) assertEquals(id.toString(), value.idString) assertEquals("Foo", value.name) @@ -33,8 +32,7 @@ class TestGithub194 { @Test fun testIdentityInfo_WithDefaultId() { - val mapper = jacksonObjectMapper() - val value = mapper.readValue(json, WithIdentityAndDefaultId::class.java) + val value = defaultMapper.readValue(json, WithIdentityAndDefaultId::class.java) assertEquals(id, value.id) assertEquals(id.toString(), value.idString) assertEquals("Foo", value.name) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github196.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github196.kt index 69d9b4cd..26fecf2f 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github196.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github196.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertSame import org.junit.jupiter.api.Test @@ -11,6 +11,6 @@ import org.junit.jupiter.api.Test class TestGithub196 { @Test fun testUnitSingletonDeserialization() { - assertSame(jacksonObjectMapper().readValue("{}"), Unit) + assertSame(defaultMapper.readValue("{}"), Unit) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github210.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github210.kt index 76123530..dc343d9f 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github210.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github210.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Test @@ -11,21 +11,19 @@ class TestGithub210 { class ExampleNoFail(val regexItem: RegexLike, val stringItem: String) class RegexLike(val pattern: String, val options: List) - val mapper = jacksonObjectMapper() - @Test fun testSerDesOfRegex() { val happyJson = """{"stringItem":"hello","regexItem":{"options":[],"pattern":"test"}}""" val troubleJson = """{"regexItem":{"options":[],"pattern":"test"},"stringItem":"hello"}""" - mapper.readValue(happyJson) - mapper.readValue(troubleJson) + defaultMapper.readValue(happyJson) + defaultMapper.readValue(troubleJson) - mapper.readValue(happyJson) - mapper.readValue(happyJson) + defaultMapper.readValue(happyJson) + defaultMapper.readValue(happyJson) // the following used to fail on stringItem being missing, the KotlinValueInstantiator is confused - mapper.readValue(troubleJson) // fail {"regexItem":{"pattern":"test","options":[]},"stringItem":"hello"} - mapper.readValue(troubleJson) // fail {"regexItem":{"pattern":"test","options":[]},"stringItem":"hello"} + defaultMapper.readValue(troubleJson) // fail {"regexItem":{"pattern":"test","options":[]},"stringItem":"hello"} + defaultMapper.readValue(troubleJson) // fail {"regexItem":{"pattern":"test","options":[]},"stringItem":"hello"} } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github22.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github22.kt index 753a666b..e0c2629e 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github22.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github22.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonValue -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -23,10 +23,10 @@ class TestGithub22 { val expectedJson = "\"test\"" val expectedObj = StringValue("test") - val actualJson = jacksonObjectMapper().writeValueAsString(expectedObj) + val actualJson = defaultMapper.writeValueAsString(expectedObj) assertEquals(expectedJson, actualJson) - val actualObj = jacksonObjectMapper().readValue("\"test\"") + val actualObj = defaultMapper.readValue("\"test\"") assertEquals(expectedObj.other, actualObj.other) } @@ -34,10 +34,10 @@ class TestGithub22 { val expectedJson = "\"test\"" val expectedObj = StringValue2("test") - val actualJson = jacksonObjectMapper().writeValueAsString(expectedObj) + val actualJson = defaultMapper.writeValueAsString(expectedObj) assertEquals(expectedJson, actualJson) - val actualObj = jacksonObjectMapper().readValue("\"test\"") + val actualObj = defaultMapper.readValue("\"test\"") assertEquals(expectedObj, actualObj) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github25.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github25.kt index bd5fcf12..41ec423e 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github25.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github25.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonPropertyOrder -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -31,7 +31,7 @@ class TestGithub25 { @Test fun testSerWithDelegates() { - val json = jacksonObjectMapper().writeValueAsString( + val json = defaultMapper.writeValueAsString( SomethingWithDelegates(linkedMapOf("otherData1" to "1", "otherData2" to "2", "otherData3" to "3")) .withOtherData("exists") ) @@ -40,7 +40,7 @@ class TestGithub25 { @Test fun testDeserWithDelegates() { val json = """{"changeable":"new value","data":{"otherData1":"1","otherData2":"2","otherData3":"3"},"somethingNotNull":"exists"}""" - val obj: SomethingWithDelegates = jacksonObjectMapper() + val obj: SomethingWithDelegates = defaultMapper .readValue(json) assertEquals("fred", obj.name) // not set by the Json, isn't in the constructor and is read only delegate assertEquals("ignored", obj.ignoreMe) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github26.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github26.kt index a8147519..80915b2d 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github26.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github26.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -10,17 +10,17 @@ data class ClassWithPrimitivesWithDefaults(val i: Int = 5, val x: Int) class TestGithub26 { @Test fun testConstructorWithPrimitiveTypesDefaultedExplicitlyAndImplicitly() { - val check1: ClassWithPrimitivesWithDefaults = jacksonObjectMapper() + val check1: ClassWithPrimitivesWithDefaults = defaultMapper .readValue("""{"i":3,"x":2}""") assertEquals(3, check1.i) assertEquals(2, check1.x) - val check2: ClassWithPrimitivesWithDefaults = jacksonObjectMapper() + val check2: ClassWithPrimitivesWithDefaults = defaultMapper .readValue("""{}""") assertEquals(5, check2.i) assertEquals(0, check2.x) - val check3: ClassWithPrimitivesWithDefaults = jacksonObjectMapper() + val check3: ClassWithPrimitivesWithDefaults = defaultMapper .readValue("""{"i": 2}""") assertEquals(2, check3.i) assertEquals(0, check3.x) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github269.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github269.kt index d2ec0a19..172e716f 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github269.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github269.kt @@ -3,7 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.databind.annotation.JsonSerialize import com.fasterxml.jackson.databind.ser.std.ToStringSerializer -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -29,50 +29,42 @@ class TestGithub269 { @Test fun testGithub269WithFoo() { - val mapper = jacksonObjectMapper() - val testObject = Foo(Regex("test")) - val testJson = mapper.writeValueAsString(testObject) - val resultObject = mapper.readValue(testJson) + val testJson = defaultMapper.writeValueAsString(testObject) + val resultObject = defaultMapper.readValue(testJson) assertEquals(testObject.pattern.pattern, resultObject.pattern.pattern) assertEquals(testObject.pattern.options, resultObject.pattern.options) - mapper.readValue("""{"pattern":"test"}""") + defaultMapper.readValue("""{"pattern":"test"}""") } @Test fun testGithub269WithBar() { - val mapper = jacksonObjectMapper() - val testObject = Bar(Regex("test")) - val testJson = mapper.writeValueAsString(testObject) - val resultObject = mapper.readValue(testJson) + val testJson = defaultMapper.writeValueAsString(testObject) + val resultObject = defaultMapper.readValue(testJson) assertEquals(testObject.thing.pattern, resultObject.thing.pattern) assertEquals(testObject.thing.options, resultObject.thing.options) - mapper.readValue("""{"thing":"test"}""") + defaultMapper.readValue("""{"thing":"test"}""") } @Test fun testGithub269WithGoo() { - val mapper = jacksonObjectMapper() - val testObject = Goo(Regex("test_pattern_1")) - val testJson = mapper.writeValueAsString(testObject) - val resultObject = mapper.readValue(testJson) + val testJson = defaultMapper.writeValueAsString(testObject) + val resultObject = defaultMapper.readValue(testJson) assertEquals(testObject.myPattern.pattern, resultObject.myPattern.pattern) } @Test fun testGithub269WithZoo() { - val mapper = jacksonObjectMapper() - val testObject = Zoo(Regex("test_pattern_1")) - val testJson = mapper.writeValueAsString(testObject) - val resultObject = mapper.readValue(testJson) + val testJson = defaultMapper.writeValueAsString(testObject) + val resultObject = defaultMapper.readValue(testJson) assertEquals(testObject.myPattern.pattern, resultObject.myPattern.pattern) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github270.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github270.kt index 408e76c9..7cc69014 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github270.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github270.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -13,7 +13,7 @@ class TestGithub270 { @Test fun testPublicFieldOverlappingFunction() { - val json = jacksonObjectMapper().writeValueAsString(Wrapper("Hello")) + val json = defaultMapper.writeValueAsString(Wrapper("Hello")) assertEquals("""{"upper":"HELLO"}""", json) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github29.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github29.kt index 27909cc4..41cd0abe 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github29.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github29.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -10,12 +10,12 @@ class TestGithub29 { @Test fun testDefaultValuesInDeser() { - val check1: Github29TestObj = jacksonObjectMapper() + val check1: Github29TestObj = defaultMapper .readValue("""{"name": "bla"}""") assertEquals("bla", check1.name) assertEquals("test", check1.other) - val check2: Github29TestObj = jacksonObjectMapper() + val check2: Github29TestObj = defaultMapper .readValue("""{"name": "bla", "other": "fish"}""") assertEquals("bla", check2.name) assertEquals("fish", check2.other) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github308.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github308.kt index 44238e7c..cc6655d6 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github308.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github308.kt @@ -3,7 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertNotNull @@ -26,7 +26,7 @@ class TestGithub308 { @Test fun createTestDto() { - val dto: TestDto = jacksonObjectMapper().readValue("""{"id":12345}""") + val dto: TestDto = defaultMapper.readValue("""{"id":12345}""") assertNotNull(dto) assertNull(dto.id) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github32.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github32.kt index 155c28cd..3cbb47b9 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github32.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github32.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.databind.JsonMappingException import com.fasterxml.jackson.databind.exc.InvalidNullException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -11,7 +11,7 @@ import org.junit.jupiter.api.assertThrows private class TestGithub32 { @Test fun `valid mandatory data class constructor param`() { - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ { "firstName": "James", @@ -25,7 +25,7 @@ private class TestGithub32 { val thrown = assertThrows( "MissingKotlinParameterException with missing `firstName` parameter" ) { - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ { "lastName": "Bond" @@ -41,7 +41,7 @@ private class TestGithub32 { @Test fun `null mandatory data class constructor param`() { val thrown = assertThrows { - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ { "firstName": null, @@ -58,7 +58,7 @@ private class TestGithub32 { @Test fun `missing mandatory constructor param - nested in class with default constructor`() { val thrown = assertThrows { - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ { "person": { @@ -76,7 +76,7 @@ private class TestGithub32 { @Test fun `missing mandatory constructor param - nested in class with single arg constructor`() { val thrown = assertThrows { - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ { "person": { @@ -94,7 +94,7 @@ private class TestGithub32 { @Test fun `missing mandatory constructor param - nested in class with List arg constructor`() { val thrown = assertThrows { - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ { "people": [ diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github335.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github335.kt index 63532891..ad76bda8 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github335.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github335.kt @@ -5,14 +5,12 @@ import com.fasterxml.jackson.annotation.JsonSubTypes.Type import com.fasterxml.jackson.annotation.JsonTypeInfo import com.fasterxml.jackson.annotation.JsonTypeInfo.As import com.fasterxml.jackson.annotation.JsonTypeInfo.Id -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test class Github335Test { - val mapper = jacksonObjectMapper() - interface Payload data class UniquePayload(val data: String) : Payload @@ -26,8 +24,8 @@ class Github335Test { @Test fun serializeAndDeserializeTypeable() { val oldEntity = MyEntity(null, null) - val json = mapper.writeValueAsString(oldEntity) - val newEntity = mapper.readValue(json) + val json = defaultMapper.writeValueAsString(oldEntity) + val newEntity = defaultMapper.readValue(json) assertEquals(oldEntity, newEntity) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github356.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github356.kt index 8d3a49c9..960a012d 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github356.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github356.kt @@ -1,19 +1,17 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test class TestGithub356 { - private val mapper = jacksonObjectMapper() - @Test fun deserializeValueClass() { assertEquals( ClassWithValueMember(ValueClass("bar")), - mapper.readValue("""{"valueClassProperty":"bar"}""") + defaultMapper.readValue("""{"valueClassProperty":"bar"}""") ) } @@ -21,7 +19,7 @@ class TestGithub356 { fun serializeValueClass() { assertEquals( """{"valueClassProperty":"bar"}""", - mapper.writeValueAsString(ClassWithValueMember(ValueClass("bar"))) + defaultMapper.writeValueAsString(ClassWithValueMember(ValueClass("bar"))) ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github46.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github46.kt index 4e44cc11..623073c4 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github46.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github46.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -10,15 +10,14 @@ class TestGithub46 { fun `map 32 properties`() { // given val json = """{"prop1":true,"prop2":true,"prop3":true,"prop4":true,"prop5":true,"prop6":true,"prop7":true,"prop8":true,"prop9":true,"prop10":true,"prop11":true,"prop12":true,"prop13":true,"prop14":true,"prop15":true,"prop16":true,"prop17":true,"prop18":true,"prop19":true,"prop20":true,"prop21":true,"prop22":true,"prop23":true,"prop24":true,"prop25":true,"prop26":true,"prop27":true,"prop28":true,"prop29":true,"prop30":true,"prop31":true,"prop32":true}""" - val mapper = jacksonObjectMapper() // when - val data: TestData = mapper.readValue(json) + val data: TestData = defaultMapper.readValue(json) assertEquals( TestData(true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true), data ) - val rejson = mapper.writeValueAsString(data) + val rejson = defaultMapper.writeValueAsString(data) // then assertEquals(json, rejson) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github490.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github490.kt index 43e6c911..5fddcbc1 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github490.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github490.kt @@ -2,15 +2,14 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.databind.JsonNode import com.fasterxml.jackson.databind.node.NullNode -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertNull import org.junit.jupiter.api.Test class TestGithub490 { - val mapper = jacksonObjectMapper() - val value: DataClassWithAllNullableParams = mapper.readValue( + val value: DataClassWithAllNullableParams = defaultMapper.readValue( "{" + "\"jsonNodeValueWithNullAsDefaultProvidedNull\":null, " + "\"jsonNodeValueProvidedNull\":null}" diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github52.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github52.kt index d399de7e..c5ed6a4e 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github52.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github52.kt @@ -2,13 +2,11 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test class TestGithub52 { - private val mapper = jacksonObjectMapper() - @Test fun testBooleanPropertyInConstructor() { data class BooleanPropertyInConstructor( @@ -16,7 +14,7 @@ class TestGithub52 { val bar: Boolean = true ) - assertEquals("""{"is_bar":true}""", mapper.writeValueAsString(BooleanPropertyInConstructor())) + assertEquals("""{"is_bar":true}""", defaultMapper.writeValueAsString(BooleanPropertyInConstructor())) } @Test @@ -26,7 +24,7 @@ class TestGithub52 { val isBar2: Boolean = true ) - assertEquals("""{"is_bar2":true}""", mapper.writeValueAsString(IsPrefixedBooleanPropertyInConstructor())) + assertEquals("""{"is_bar2":true}""", defaultMapper.writeValueAsString(IsPrefixedBooleanPropertyInConstructor())) } @Test @@ -36,7 +34,7 @@ class TestGithub52 { val lol: String = "sdf" ) - assertEquals("""{"is_lol":"sdf"}""", mapper.writeValueAsString(IsPrefixedStringPropertyInConstructor())) + assertEquals("""{"is_lol":"sdf"}""", defaultMapper.writeValueAsString(IsPrefixedStringPropertyInConstructor())) } @Test @@ -48,7 +46,7 @@ class TestGithub52 { val foo: Boolean = true } - assertEquals("""{"is_foo":true}""", mapper.writeValueAsString(BooleanPropertyInBody())) + assertEquals("""{"is_foo":true}""", defaultMapper.writeValueAsString(BooleanPropertyInBody())) } @Test @@ -60,6 +58,6 @@ class TestGithub52 { val isFoo2: Boolean = true } - assertEquals("""{"is_foo2":true}""", mapper.writeValueAsString(IsPrefixedBooleanPropertyInBody())) + assertEquals("""{"is_foo2":true}""", defaultMapper.writeValueAsString(IsPrefixedBooleanPropertyInBody())) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github56.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github56.kt index b07bbf21..992b6460 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github56.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github56.kt @@ -2,13 +2,10 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonInclude import com.fasterxml.jackson.annotation.JsonUnwrapped -import com.fasterxml.jackson.databind.ObjectMapper -import com.fasterxml.jackson.databind.exc.InvalidDefinitionException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows private class TestGithub56 { @@ -39,8 +36,6 @@ private class TestGithub56 { val crops: Map? = null ) - val mapper: ObjectMapper = jacksonObjectMapper() - private val gallery = TestGallery( id = "id", headline = "headline", @@ -57,19 +52,19 @@ private class TestGithub56 { @Test fun serializes() { - val result = mapper.writeValueAsString(TestGalleryWidget_BAD("widgetReferenceId", gallery)) + val result = defaultMapper.writeValueAsString(TestGalleryWidget_BAD("widgetReferenceId", gallery)) assertEquals(validJson, result) } @Test fun deserializesSuccessful() { - val obj = mapper.readValue(validJson) + val obj = defaultMapper.readValue(validJson) assertEquals("widgetReferenceId", obj.widgetReferenceId) assertEquals(gallery, obj.gallery) } @Test fun deserializesCorrectly() { - mapper.readValue(validJson) + defaultMapper.readValue(validJson) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github62.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github62.kt index 288b221e..664f7ae8 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github62.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github62.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -9,7 +9,7 @@ class TestGithub62 { fun testAnonymousClassSerialization() { val externalValue = "ggg" - val result = jacksonObjectMapper().writeValueAsString(object { + val result = defaultMapper.writeValueAsString(object { val value = externalValue }) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github630.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github630.kt index 9ae99b60..6532acb3 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github630.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github630.kt @@ -1,13 +1,11 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test class Github630 { - private val mapper = jacksonObjectMapper() - data class Dto( // from #570, #603 val FOO: Int = 0, @@ -31,7 +29,7 @@ class Github630 { assertEquals( """{"FOO":0,"bAr":0,"b":0,"q":0,"quux":0,"corge-corge":0,"grault":0}""", - mapper.writeValueAsString(dto) + defaultMapper.writeValueAsString(dto) ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github710.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github710.kt index da8dfb61..df42270a 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github710.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github710.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -14,8 +14,7 @@ class Github710 { @Test fun test() { - val mapper = jacksonObjectMapper() - val result = mapper.writeValueAsString(C(1)) + val result = defaultMapper.writeValueAsString(C(1)) assertEquals("""{"foo":1,"bAr":1}""", result) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github722.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github722.kt index 77783e53..d2c740fa 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github722.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github722.kt @@ -37,10 +37,10 @@ private class Github722 { @Test fun failing() { // The kotlin mapper uses the Kotlin default value instead of the Inject value. - val kotlinMapper = jacksonObjectMapper() - val result = kotlinMapper.readerFor(FailingDto::class.java) + val reader = jacksonObjectMapper() + .readerFor(FailingDto::class.java) .with(InjectableValues.Std(injectValues)) - .readValue("{}") + val result = reader.readValue("{}") // fixed // assertNotEquals(result, expected, "GitHubXXX fixed.") @@ -56,10 +56,10 @@ private class Github722 { @Test fun withoutDefaultValue() { - val kotlinMapper = jacksonObjectMapper() - val result = kotlinMapper.readerFor(WithoutDefaultValue::class.java) + val reader = jacksonObjectMapper() + .readerFor(WithoutDefaultValue::class.java) .with(InjectableValues.Std(injectValues)) - .readValue("{}") + val result = reader.readValue("{}") // If there is no default value, the problem does not occur. assertEquals(WithoutDefaultValue(1, 2), result) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github80.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github80.kt index 30fe6641..7f635a57 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github80.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github80.kt @@ -1,32 +1,28 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test class TestGithub80 { @Test fun testIsBool() { - val mapper = jacksonObjectMapper() - val example = IsBoolExample(true) - val json = mapper.writeValueAsString(example) + val json = defaultMapper.writeValueAsString(example) assertEquals("{\"isTrueOrFalse\":true}", json) - val deserialized = mapper.readValue(json, IsBoolExample::class.java) + val deserialized = defaultMapper.readValue(json, IsBoolExample::class.java) assertEquals(example.isTrueOrFalse, deserialized.isTrueOrFalse) } @Test fun testAnnotatedIsBool() { - val mapper = jacksonObjectMapper() - val example = IsBoolAnnotatedExample(true) - val json = mapper.writeValueAsString(example) + val json = defaultMapper.writeValueAsString(example) assertEquals("{\"isTrueOrFalse\":true}", json) - val deserialized = mapper.readValue(json, IsBoolAnnotatedExample::class.java) + val deserialized = defaultMapper.readValue(json, IsBoolAnnotatedExample::class.java) assertEquals(example.isTrue, deserialized.isTrue) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github88.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github88.kt index c9632e28..3be8d5b6 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github88.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github88.kt @@ -1,7 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper -import io.github.projectmapk.jackson.module.kogera.test.github.zPported.CloneableJavaObj +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -10,14 +9,14 @@ class TestGithub88 { @Test fun shouldDeserializeSuccessfullyKotlinCloneableObject() { - val result = jacksonObjectMapper().writeValueAsString(CloneableKotlinObj("123")) + val result = defaultMapper.writeValueAsString(CloneableKotlinObj("123")) assertEquals("{\"id\":\"123\"}", result) } @Test fun shouldDeserializeSuccessfullyJavaCloneableObject() { - val result = jacksonObjectMapper().writeValueAsString( + val result = defaultMapper.writeValueAsString( CloneableJavaObj( "123" ) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github91.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github91.kt index 705fe17c..86a26a2f 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github91.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/Github91.kt @@ -2,7 +2,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonValue -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -23,9 +23,8 @@ class TestGithub91 { @Test fun testJsonParsing() { - val mapper = jacksonObjectMapper() - val dataClass1 = mapper.readValue(jsonData) + val dataClass1 = defaultMapper.readValue(jsonData) assertEquals(DataClass1("my name", DataClass2("some value")), dataClass1) - assertEquals("{\"name\":\"my name\",\"content\":\"some value\"}", mapper.writeValueAsString(dataClass1)) + assertEquals("{\"name\":\"my name\",\"content\":\"some value\"}", defaultMapper.writeValueAsString(dataClass1)) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GithubDatabind1328.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GithubDatabind1328.kt index ddb919bb..1b764356 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GithubDatabind1328.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/GithubDatabind1328.kt @@ -3,7 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonSubTypes import com.fasterxml.jackson.annotation.JsonTypeInfo import com.fasterxml.jackson.annotation.JsonTypeName -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -11,8 +11,7 @@ import org.junit.jupiter.api.Test class TestGithubDatabind1328 { @Test fun testPolymorphicWithEnum() { - val mapper = jacksonObjectMapper() - val invite = mapper.readValue( + val invite = defaultMapper.readValue( """|{ | "kind": "CONTACT", | "to": { diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/TestCasesFromSlack.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/TestCasesFromSlack.kt index 7fe4c495..952d7c96 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/TestCasesFromSlack.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/TestCasesFromSlack.kt @@ -3,7 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.databind.ObjectMapper -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import org.junit.jupiter.api.Test @@ -53,7 +53,7 @@ class TestCasesFromSlack1 { """ ) - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ {"host":{"id":"host123","name":"A Czar"},"activity":"Kotlin Programming","invited":[{"id":"Guest1","name":"Mr Kotlin","rsvp": "Going"}]} """ @@ -84,7 +84,7 @@ class TestCasesFromSlack2 { } @Test fun testCzarSpringThing2() { - jacksonObjectMapper().readValue( + defaultMapper.readValue( """ {"host":{"id":"host123","name":"A Czar"},"activity":"Kotlin Programming","invited":[{"id":"Guest1","name":"Mr Kotlin","rsvp": "Going"}]} """ diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/GitHub451.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/GitHub451.kt index 9879d5b3..46ee40a2 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/GitHub451.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/GitHub451.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import org.junit.jupiter.api.assertThrows @@ -18,14 +18,12 @@ class GitHub451 { fun getGraultGraply(): String = bazQux } - val mapper = jacksonObjectMapper() - @Test fun serializeTest() { val expected = """{"foo-bar":"a","baz-qux":"b","quux-corge":"a","grault-graply":"b"}""" val src = Target("a", "b") - val json = mapper.writeValueAsString(src) + val json = defaultMapper.writeValueAsString(src) assertThrows("GitHub #451 has been fixed!") { assertEquals(expected, json) diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github160DisableAnnotations.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github160DisableAnnotations.kt index 1067342c..550c890b 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github160DisableAnnotations.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github160DisableAnnotations.kt @@ -1,7 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing import com.fasterxml.jackson.databind.MapperFeature -import com.fasterxml.jackson.databind.exc.InvalidNullException import com.fasterxml.jackson.databind.exc.MismatchedInputException import io.github.projectmapk.jackson.module.kogera.jacksonMapperBuilder import io.github.projectmapk.jackson.module.kogera.readValue diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github271AlphaSortProperties.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github271AlphaSortProperties.kt index 930e0849..61f19e73 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github271AlphaSortProperties.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github271AlphaSortProperties.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing import com.fasterxml.jackson.annotation.JsonPropertyOrder -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.zPorted.test.expectFailure import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -14,9 +14,7 @@ class TestGithub271 { @Test fun testAlphabeticFields() { - val mapper = jacksonObjectMapper() - - val json = mapper.writeValueAsString(Foo("a", "c")) + val json = defaultMapper.writeValueAsString(Foo("a", "c")) expectFailure("GitHub #271 has been fixed!") { assertEquals("""{"a":"a","b":"b","c":"c"}""", json) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github474.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github474.kt index a462147c..eb64fb81 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github474.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github474.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing import com.fasterxml.jackson.annotation.JsonProperty -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.zPorted.test.expectFailure import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -15,7 +15,7 @@ class TestGithub474 { expectFailure("GitHub #474 has been fixed!") { assertEquals( """{"child-prop":"foo","parent-prop":"foo"}""", - jacksonObjectMapper().writeValueAsString(Child("foo")) + defaultMapper.writeValueAsString(Child("foo")) ) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github50.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github50.kt index 765a445e..0c7d7177 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github50.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github50.kt @@ -1,10 +1,8 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing import com.fasterxml.jackson.annotation.JsonUnwrapped -import com.fasterxml.jackson.databind.exc.InvalidDefinitionException -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue -import io.github.projectmapk.jackson.module.kogera.zPorted.test.expectFailure import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -19,7 +17,7 @@ class TestGithub50 { @Test fun testGithub50UnwrappedError() { val json = """{"firstName":"John","lastName":"Smith","position":"Manager"}""" - val obj: Employee = jacksonObjectMapper().readValue(json) + val obj: Employee = defaultMapper.readValue(json) assertEquals(Name("John", "Smith"), obj.name) assertEquals("Manager", obj.position) } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github518.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github518.kt index f10ecfbb..1e2b6a93 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github518.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github518.kt @@ -1,7 +1,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing -import io.github.projectmapk.jackson.module.kogera.KotlinFeature import io.github.projectmapk.jackson.module.kogera.KotlinFeature.SingletonSupport +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper import io.github.projectmapk.jackson.module.kogera.jsonMapper import io.github.projectmapk.jackson.module.kogera.kotlinModule @@ -21,7 +21,7 @@ class TestGithub518 { */ @Test fun deserializeEmptyObjectToSingletonUnit() { - assertSame(jacksonObjectMapper().readValue("{}"), Unit) + assertSame(defaultMapper.readValue("{}"), Unit) } /** diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github54.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github54.kt index a53ca055..a27edbe1 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github54.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github54.kt @@ -3,7 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing import com.fasterxml.jackson.annotation.JsonIdentityInfo import com.fasterxml.jackson.annotation.ObjectIdGenerators import com.fasterxml.jackson.databind.deser.UnresolvedForwardReference -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zPorted.test.expectFailure import org.junit.jupiter.api.Test @@ -11,8 +11,6 @@ import org.junit.jupiter.api.Test class TestGithub54 { @Test fun testDeserWithIdentityInfo() { - val mapper = jacksonObjectMapper() - val entity1 = Entity1("test_entity1") val entity2 = Entity2("test_entity2", entity1 = entity1) val rootEntity1 = Entity1("root_entity1", entity2 = entity2) @@ -20,9 +18,9 @@ class TestGithub54 { entity1.parent = rootEntity1 entity1.entity2 = entity2 - val json = mapper.writeValueAsString(entity1) + val json = defaultMapper.writeValueAsString(entity1) expectFailure("GitHub #54 has been fixed!") { - mapper.readValue(json) + defaultMapper.readValue(json) } } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github71.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github71.kt index ab6b3f39..17a4ec69 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github71.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/Github71.kt @@ -1,6 +1,6 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zPorted.test.expectFailure import org.junit.jupiter.api.Assertions.assertEquals @@ -13,11 +13,11 @@ class TestGithub71 { @Test fun testInternalPropertySerliazation() { - val json = jacksonObjectMapper().writeValueAsString(Identifiable()) + val json = defaultMapper.writeValueAsString(Identifiable()) expectFailure("GitHub #71 has been fixed!") { assertEquals("{\"identity\":null}", json) // fails: {"identity$jackson_module_kotlin":null} - val newInstance = jacksonObjectMapper().readValue(json) + val newInstance = defaultMapper.readValue(json) assertEquals(Identifiable(), newInstance) } } diff --git a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/GithubDatabind1329.kt b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/GithubDatabind1329.kt index f4486346..16a8b381 100644 --- a/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/GithubDatabind1329.kt +++ b/src/test/kotlin/io/github/projectmapk/jackson/module/kogera/zPorted/test/github/failing/GithubDatabind1329.kt @@ -3,7 +3,7 @@ package io.github.projectmapk.jackson.module.kogera.zPorted.test.github.failing import com.fasterxml.jackson.annotation.JsonSubTypes import com.fasterxml.jackson.annotation.JsonTypeInfo import com.fasterxml.jackson.annotation.JsonTypeName -import io.github.projectmapk.jackson.module.kogera.jacksonObjectMapper +import io.github.projectmapk.jackson.module.kogera.defaultMapper import io.github.projectmapk.jackson.module.kogera.readValue import io.github.projectmapk.jackson.module.kogera.zPorted.test.expectFailure import org.junit.jupiter.api.Assertions.assertEquals @@ -16,8 +16,7 @@ import org.junit.jupiter.api.Test class GithubDatabind1329 { @Test fun testPolymorphicWithEnum() { - val mapper = jacksonObjectMapper() - val invite = mapper.readValue( + val invite = defaultMapper.readValue( """|{ | "kind": "CONTACT", | "kindForMapper": "CONTACT",