FiktionBuilder

Builder exposed when creating isolated Fiktion instances.

Inheritors

Functions

Link copied to clipboard
inline fun <CollectionType : Collection<*>> configureCollection(noinline convert: (List<Any?>) -> CollectionType)

Configures how generated elements are materialized as collection type CollectionType.

fun configureCollection(type: KType, convert: (List<Any?>) -> Collection<*>)

Configures how generated elements are materialized as collection type type.

Link copied to clipboard
inline fun <MapType : Map<*, *>> configureMap(noinline convert: (List<Pair<Any?, Any?>>) -> MapType)

Configures how generated entries are materialized as map type MapType.

fun configureMap(type: KType, convert: (List<Pair<Any?, Any?>>) -> Map<*, *>)

Configures how generated entries are materialized as map type type.

Link copied to clipboard

Generates value for this nested property path.

Generates this nested property path using Fiktion's automatic generation.

Generates value for this property.

Generates this property using Fiktion's automatic generation.

Generates this collection property by automatically generating each element.

@JvmName(name = "generatesAutoMapProperty")
infix inline fun <Owner, Key, Value, MapType : Map<Key, Value>> KProperty1<Owner, MapType>.generates(auto: Auto): MapGenerationSpec<Key, Value, MapType>
fun <Owner, Key, Value, MapType : Map<Key, Value>> KProperty1<Owner, MapType>.generates(auto: Auto, owner: KType, mapType: KType, keyType: KType, valueType: KType): MapGenerationSpec<Key, Value, MapType>

Generates this map property by automatically generating each key and value.

Link copied to clipboard

Generates this nested property path by invoking generator.

infix inline fun <Owner, Value> KProperty1<Owner, Value>.generatesBy(noinline generator: Generator<Value>): GenerationSpec<Value>

Generates this property by invoking generator.

Link copied to clipboard

Generates each element for this nested collection property path by invoking generator.

Generates each entry for this nested map property path by invoking generator.

Generates each element for this collection property by invoking generator.

fun <Owner, Key, Value, MapType : Map<Key, Value>> KProperty1<Owner, MapType>.generatesEach(generator: Generator<Pair<Key, Value>>, owner: KType, mapType: KType, keyType: KType, valueType: KType): MapEntrySpec<Key, Value, MapType>

Generates each entry for this map property by invoking generator.

Link copied to clipboard

Generates map keys for this nested property path by invoking generator.

infix inline fun <Owner, Key, Value, MapType : Map<Key, Value>> KProperty1<Owner, MapType>.generatesKeys(noinline generator: Generator<Key>): MapKeySpec<Key, Value, MapType>
fun <Owner, Key, Value, MapType : Map<Key, Value>> KProperty1<Owner, MapType>.generatesKeys(generator: Generator<Key>, owner: KType, mapType: KType, keyType: KType, valueType: KType): MapKeySpec<Key, Value, MapType>

Generates map keys for this property by invoking generator.

Link copied to clipboard

Generates map values for this nested property path by invoking generator.

fun <Owner, Key, Value, MapType : Map<Key, Value>> KProperty1<Owner, MapType>.generatesValues(generator: Generator<Value>, owner: KType, mapType: KType, keyType: KType, valueType: KType): MapValueSpec<Key, Value, MapType>

Generates map values for this property by invoking generator.

Link copied to clipboard
abstract fun install(addon: FiktionAddon)

Installs reusable rules from addon.

Link copied to clipboard

Targets generated values whose property name is name, inferring the value type from the generator.

Targets generated values whose property name matches regex, inferring the value type from the generator.

inline fun <Value> name(name: String, typed: Unit = Unit): RuleTarget<Value>

Targets generated values of Value whose property name is name, regardless of owner.

fun name(name: String, value: KType): RuleTarget<*>

Targets generated values of value whose property name is name, regardless of owner.

inline fun <Value> name(regex: Regex, typed: Unit = Unit): RuleTarget<Value>

Targets generated values of Value whose property name matches regex, regardless of owner.

fun name(regex: Regex, value: KType): RuleTarget<*>

Targets generated values of value whose property name matches regex, regardless of owner.

Link copied to clipboard
inline fun <Owner, Value> property(): RuleTarget<Value>

Targets generated values of Value whose owner is Owner, regardless of property name.

Targets values generated for path.

inline fun <Owner, Value> property(name: String): RuleTarget<Value>

Targets generated values of Value whose owner is Owner and property name is name.

inline fun <Owner, Value> property(property: KProperty1<Owner, Value>): RuleTarget<Value>

Targets values generated for property.

inline fun <Owner, Value> property(regex: Regex): RuleTarget<Value>

Targets generated values of Value whose owner is Owner and property name matches regex.

fun property(owner: KType, value: KType): RuleTarget<*>

Targets generated values of value whose owner is owner, regardless of property name.

fun <Owner, Value> property(property: KProperty1<Owner, Value>, owner: KType, value: KType): RuleTarget<Value>

Targets generated values for property whose owner is owner and value type is value.

fun property(owner: KType, name: String, value: KType): RuleTarget<*>

Targets generated values of value whose owner is owner and property name is name.

fun property(owner: KType, regex: Regex, value: KType): RuleTarget<*>

Targets generated values of value whose owner is owner and property name matches regex.

Link copied to clipboard
abstract fun <T> register(metadata: FiktionTypeMetadata<T>)

Registers type construction metadata.

Link copied to clipboard
inline fun <T> type(): RuleTarget<T>

Targets every generated value of T.

fun type(type: KType): RuleTarget<*>

Targets every generated value of type.

Link copied to clipboard

Targets every generated value whose type belongs to T's type family.

Targets every generated value whose type belongs to type's type family.

Link copied to clipboard
abstract infix fun withSeed(seed: Long)

Sets the root seed used by generated values.