v1.0.x
v1.0.29
Bug Fixes
- Fix generating empty String with
@Sizeannotation
v1.0.28
Features
- Add support for
hashCode,equals,toStringin anonymous object - Add
enableLoggingFailoption to dismiss the failed logging inFixtureMonkeyBuilder - Add supporting for the
isprefix boolean withinjavaGetter
v1.0.27
Features
- Add
enableLoggingFailoption as a constructor argument inFailoverIntrospector
v1.0.26
Features
- Add
PriorityConstructorArbitraryIntrospector - Add
koreanmethod inMonkeyStringArbitrary
v1.0.25
Bug Fixes
- Fix concurrency issue with string generation
- Fix seed setting as annotated
v1.0.24
Features
- Add new APIs that generates the unique value by
Values.unique(Supplier)orCombinableArbitrary.unique() - Add
@Seedto reproduce the randomly populated object infixture-monkey-junit-jupitermodule
.set("$[*]", Values.unique(() -> Arbitraries.integers().between(0, 3).sample()))
.<List<Integer>>customizeProperty(typedRoot(), CombinableArbitrary::unique)
Deprecations
- Deprecate
ElementJsonSubTypesObjectPropertyGenerator,PropertyJsonSubTypesObjectPropertyGeneratorinfixture-monkey-jacksonmodule. Please use theElementJsonSubTypesConcreteTypeResolver,PropertyJsonSubTypesConcreteTypeResolverinstead
v1.0.23
Features
- Add the flexible option for complex usage in
InterfacePlugin
Bug Fixes
- Fix for generating Kotlin self-reference with default arguments
v1.0.22
Features
- Add compatibility with
ObjectPropertyGeneratorandCandidateConcretePropertyResolver - Add regenerate when container is filtered
Deprecations
- Deprecate the
pushExactTypePropertyCandidateResolveroption. UseInterfacePlugininstead
v1.0.21
Bug Fixes
- Fix set
ZoneIdin Kotlin JDK21 - Fix collection generation not throw exception
- Fix decompose Java Kotlin functional interface
Deprecations
- Deprecate the
ObjectPropertyGeneratorthat modify child properties (e.g.,InterfaceObjectPropertyGenerator,SealedTypeObjectPropertyGenerator,SingleValueObjectPropertyGenerator). UseConcreteTypeCandidateConcretePropertyResolver,SealedTypeCandidateConcretePropertyResolverinstead
v1.0.20
Features
- Add support for multi-level inheritance of sealed class and sealed interface
Bug Fixes
- Fix generation of enum implementations as a sealed class in JDK17
- Fix
JdkVariantOptionshaving higher priority than custom options
v1.0.19
Bug Fixes
- Fix a
SimpleValuePlugin"out of byte range" error when generateByte
v1.0.18
Bug Fixes
- Fix
SimpleValueJqwikPluginmismatching order with constructor and field
v1.0.17
Features
- Add supporting
Suppliertype - Add a new Plugin
SimpleValueJqwikPluginfor beginners, it provides a readable String, limited scope of Number and Date. It can customize them as well
Bug Fixes
- Fix
sealedInterfaceset not working afterthenApply
Improvements
- Modify the way a value class is used to output arbitrary value
v1.0.16
Features
- Add resolve the candidate concrete type of container type
Bug Fixes
- Fix register working on assignable type
v1.0.15
Features
- Add
ConcreteTypeDefinitioninArbitraryProperty - Add
KotlinDurationIntrospectorsupporting generating aDurationtype in Kotlin - Add a new Kotlin Exp expression for referencing root. e.g.,
set(String::root, "expected")
Bug Fixes
- Fix setting a child of a concrete type to an abstract type
Deprecations
- Deprecate
getChildPropertiesByResolvedPropertyandgetChildPropertyListsByCandidateProperty(added in 1.0.14)
v1.0.14
Features
- Add supporting value class with the private constructor
- Add supporting for sealed class and sealed interface
Deprecations
- Deprecate
nullInjectandchildPropertyListsByCandidatePropertyproperties inObjectNode. They would be moved toArbitraryProperty
v1.0.13
Features
- Add
InterfacePluginsupports abstract classes throughabstractClassExtendsoption
Bug Fixes
- Fix
setLazywith value wrapped byJustwould not be manipulated - Fix missing required
PropertyGeneratorwithin introspectors
v1.0.12
Bug Fixes
- Fix generating an object with the value class property
v1.0.11
Bug Fixes
- Fix mutation of a generated object by
FieldReflection,BeanArbitraryIntrospector
v1.0.10
Features
- Add handling when using an
ArbitraryIntrospectorthat does not match the property type. Add a log entry if the property is of a container type, and throw an exception if the property is of a concrete type - Add better support Kotest by modifying
giveMeArbmore Kotlin-like, by addingsetArbAPI
Bug Fixes
- Fix setting object field by any other type
Improvements
- Refactor does not throw exception when it cannot generate, the next
ArbitraryIntrospectorwill be used
v1.0.9
Features
- Add customizing Wildcard type in an option
Bug Fixes
- Fix the
addExceptGenerateClassto be unaffected by the specificArbitraryIntrospectorused
Experimental
- Add
customizePropertyAPI inArbitraryBuilderto customize generated value
v1.0.8
Bug Fixes
- Fix setting child type when generating parent type
Improvements
- Improve the error message with specific details about the failed type when generation fails
v1.0.7
Bug Fixes
- Fix the
fixture-monkey-kotlinmodule to be compatible with JDK 8
v1.0.6
Features
- Fixture Monkey now infers properties when generating a type using a specific
ArbitraryIntrospectorthat requires certain types of properties (Refer to the comment inArbitraryGenerator#getRequiredPropertyGenerator) - Support generating an instance of a Kotlin type with a private constructor
- Introduce
InterfacePluginfeaturing detailed interface options (interfaceImplements,useAnonymousArbitraryIntrospectoroption)
Deprecations
- The
interfaceImplementsoption inFixtureMonkeyBuilderis now deprecated. It will be moved inInterfacePlugin
v1.0.5
Bug Fixes
- Fix
ConstructorPropertiesArbitraryIntrospectorto be able to generate a type that does not use Lombok - Fix
FailoverIntrospectorcatching an exception thrown by declaring aCombinableArbitrary
v1.0.4
Improvements
- Record types are generated using the canonical constructor by default
v1.0.3
Features
- Introduce a new option
pushJavaConstraintGeneratorCustomizerto customize theJavaConstraintGeneratoroption - Parallel execution is now supported with the
jqwikengine
Bug Fixes
- Fix the generation of decimal values, ensuring a minimum of 0, with the kotest-property engine
v1.0.2
Bug Fixes
- Fix generating a record instance with 2 or more constructors
v1.0.1
Features
- Add Exp DSL resolving an array element at a specific index
v1.0.0
Features
- Add
instantiateas stable API - Kotlin object generation with
instantiateByconstructor, now utilizes the provided Kotlin constructor
Experimental
- Add a new property selector
javaGetterreplacing String expression with type-safe method reference