Package-level declarations

Contains arb and ordered and corresponding extension methods such as intFromUntil etc.

Types

Link copied to clipboard
interface ArbArgsGenerator<out T> : ArgsGenerator<T>

Represents an ArgsGenerator which provides generate which generates Ts an infinite number of times in a random or not defined order.

Link copied to clipboard

Extension point for factories which generate ArbArgsGenerator.

Link copied to clipboard

Represents a generator which generates Ts.

Link copied to clipboard

Represents an interface each ArbArgsGenerator should implement and providing additional core functionality which is relevant for users which create own ArbArgsGenerators or combiner functions.

Link copied to clipboard

Base class for extension points.

Link copied to clipboard

Represents an ArgsGenerator which provides the method generate which generates Ts always in the same order and a finite number (size) before repeating.

Link copied to clipboard

Extension point for factories which generate OrderedArgsGenerator.

Link copied to clipboard

Represents an ArgsGenerator which provides the method generate where some part of T is always in the same order and a finite number before repeating and another part of T is undefined (could be ordered and finite, could be ordered and infinite, could be random).

Link copied to clipboard

Extension point for factories which generate SemiOrderedArgsGenerator.

Link copied to clipboard
class UnicodeRange(val start: Int, val endInclusive: Int) : ClosedRange<Int>

A range defined via a start code point and an endInclusive code point, either staying in the Basic Multilingual Plane (BMP) domain (0x0000 - 0xFFFF) or being completely outside of it.

Link copied to clipboard

Predefined UnicodeRange collections -- don't depend on enum order, we might break it.

Properties

Link copied to clipboard
Link copied to clipboard

Access to ArbArgsGenerator-factory methods like arb.of.

Link copied to clipboard
Link copied to clipboard

Access to OrderedArgsGenerator-factory methods like ordered.of.

Link copied to clipboard

Functions

Link copied to clipboard

Returns an ArbArgsGenerator which generates BigInts ranging from (inclusive) to toInclusive.

Returns an OrderedArgsGenerator which generates BigInts ranging from (inclusive) to toInclusive.

Link copied to clipboard

Returns an ArbArgsGenerator which generates BigInts ranging from (inclusive) until toExclusive.

Returns an OrderedArgsGenerator which generates BigInts ranging from (inclusive) until toExclusive.

Link copied to clipboard
Link copied to clipboard
@JvmName(name = "cartesianToTuple2")
fun <A1, A2> OrderedArgsGenerator<A1>.cartesian(other: OrderedArgsGenerator<A2>): OrderedArgsGenerator<Tuple2<A1, A2>>

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple2.

@JvmName(name = "cartesianToTuple5")
fun <A1, A2, A3, A4, A5> OrderedArgsGenerator<Tuple4<A1, A2, A3, A4>>.cartesian(other: OrderedArgsGenerator<A5>): OrderedArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple5.

@JvmName(name = "cartesianToTuple6")
fun <A1, A2, A3, A4, A5, A6> OrderedArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>.cartesian(other: OrderedArgsGenerator<A6>): OrderedArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple6.

@JvmName(name = "cartesianToTuple7")
fun <A1, A2, A3, A4, A5, A6, A7> OrderedArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>.cartesian(other: OrderedArgsGenerator<A7>): OrderedArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple7.

@JvmName(name = "cartesianToTuple8")
fun <A1, A2, A3, A4, A5, A6, A7, A8> OrderedArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>.cartesian(other: OrderedArgsGenerator<A8>): OrderedArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple8.

@JvmName(name = "cartesianToTuple9")
fun <A1, A2, A3, A4, A5, A6, A7, A8, A9> OrderedArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>.cartesian(other: OrderedArgsGenerator<A9>): OrderedArgsGenerator<Tuple9<A1, A2, A3, A4, A5, A6, A7, A8, A9>>

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple9.

@JvmName(name = "cartesianToTuple3")
fun <A1, A2, A3> OrderedArgsGenerator<Tuple2<A1, A2>>.cartesian(other: OrderedArgsGenerator<A3>): OrderedArgsGenerator<Tuple3<A1, A2, A3>>

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple3.

@JvmName(name = "cartesianToTuple4")
fun <A1, A2, A3, A4> OrderedArgsGenerator<Tuple3<A1, A2, A3>>.cartesian(other: OrderedArgsGenerator<A4>): OrderedArgsGenerator<Tuple4<A1, A2, A3, A4>>

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple4.

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple2.

@JvmName(name = "cartesianToTuple5")
fun <A1, A2, A3, A4, A5> SemiOrderedArgsGenerator<Tuple4<A1, A2, A3, A4>>.cartesian(other: SemiOrderedArgsGenerator<A5>): SemiOrderedArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple5.

@JvmName(name = "cartesianToTuple6")
fun <A1, A2, A3, A4, A5, A6> SemiOrderedArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>.cartesian(other: SemiOrderedArgsGenerator<A6>): SemiOrderedArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple6.

@JvmName(name = "cartesianToTuple7")
fun <A1, A2, A3, A4, A5, A6, A7> SemiOrderedArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>.cartesian(other: SemiOrderedArgsGenerator<A7>): SemiOrderedArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple7.

@JvmName(name = "cartesianToTuple8")
fun <A1, A2, A3, A4, A5, A6, A7, A8> SemiOrderedArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>.cartesian(other: SemiOrderedArgsGenerator<A8>): SemiOrderedArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple8.

@JvmName(name = "cartesianToTuple9")
fun <A1, A2, A3, A4, A5, A6, A7, A8, A9> SemiOrderedArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>.cartesian(other: SemiOrderedArgsGenerator<A9>): SemiOrderedArgsGenerator<Tuple9<A1, A2, A3, A4, A5, A6, A7, A8, A9>>

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple9.

@JvmName(name = "cartesianToTuple3")
fun <A1, A2, A3> SemiOrderedArgsGenerator<Tuple2<A1, A2>>.cartesian(other: SemiOrderedArgsGenerator<A3>): SemiOrderedArgsGenerator<Tuple3<A1, A2, A3>>

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple3.

@JvmName(name = "cartesianToTuple4")
fun <A1, A2, A3, A4> SemiOrderedArgsGenerator<Tuple3<A1, A2, A3>>.cartesian(other: SemiOrderedArgsGenerator<A4>): SemiOrderedArgsGenerator<Tuple4<A1, A2, A3, A4>>

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cartesian product where the values are transformed into a Tuple4.

Combines this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in their cartesian product where the values are transformed into values of type R.

Combines this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in their cross product where the values are transformed into values of type R.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Chars ranging from Char.MIN_VALUE (inclusive) to Char.MAX_VALUE (inclusive).

Link copied to clipboard
fun ArbExtensionPoint.charBounds(minInclusive: Char = Char.MIN_VALUE, maxInclusive: Char = Char.MAX_VALUE, minSize: Int = 1, maxSize: Int? = null): ArbArgsGenerator<Tuple2<Char, Char>>

Returns an ArbArgsGenerator which generates Tuple2 representing a lower and upper bound where the bounds range from minInclusive to maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard
fun <T> ArbExtensionPoint.charBoundsBased(minInclusive: Char = Char.MIN_VALUE, maxInclusive: Char = Char.MAX_VALUE, minSize: Int, maxSize: Int? = null, factory: (lowerBound: Char, upperBound: Char) -> T): ArbArgsGenerator<T>

Returns an ArbArgsGenerator which generates a T based on generated lower and upper bounds and the given factory where the bounds range from minInclusive to maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Chars ranging from (inclusive) to toInclusive.

Link copied to clipboard
fun ArbExtensionPoint.charRange(minInclusive: Char = Char.MIN_VALUE, maxInclusive: Char = Char.MAX_VALUE, minSize: Int = 0, maxSize: Int? = null): ArbArgsGenerator<CharRange>

Returns an ArbArgsGenerator which generates IntRanges ranging from a lower bound minInclusive to an upper bound maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard

Instead of emitting the generated values directly, it takes chunks of size, puts them into a List and returns it.

fun <T, R> ArbArgsGenerator<T>.chunked(size: Int, transform: (List<T>) -> R): ArbArgsGenerator<R>

Instead of emitting the generated values directly, it takes chunks of size, puts them into a List and lets it transform into R.

Link copied to clipboard

Combines this SemiOrderedArgsGenerator with the given other ArgsGenerator and transforms the generated values pairwise, returning a SemiOrderedArgsGenerator which generates values of type R.

Link copied to clipboard

Zips the component1 with all other ArbArgsGenerator from left to right resulting in a ArbArgsGenerator which generates Tuple4.

Combines the component1 with all other OrderedArgsGenerator from left to right resulting in a OrderedArgsGenerator which generates Tuple4.

Combines the component1 with all other ArgsGenerator from left to right resulting in a SemiOrderedArgsGenerator which generates Tuple4.

Zips the component1 with all other ArbArgsGenerator from left to right resulting in a ArbArgsGenerator which generates Tuple5.

Combines the component1 with all other OrderedArgsGenerator from left to right resulting in a OrderedArgsGenerator which generates Tuple5.

Combines the component1 with all other ArgsGenerator from left to right resulting in a SemiOrderedArgsGenerator which generates Tuple5.

Zips the component1 with all other ArbArgsGenerator from left to right resulting in a ArbArgsGenerator which generates Tuple6.

Combines the component1 with all other OrderedArgsGenerator from left to right resulting in a OrderedArgsGenerator which generates Tuple6.

Combines the component1 with all other ArgsGenerator from left to right resulting in a SemiOrderedArgsGenerator which generates Tuple6.

Zips the component1 with all other ArbArgsGenerator from left to right resulting in a ArbArgsGenerator which generates Tuple7.

Combines the component1 with all other OrderedArgsGenerator from left to right resulting in a OrderedArgsGenerator which generates Tuple7.

Combines the component1 with all other ArgsGenerator from left to right resulting in a SemiOrderedArgsGenerator which generates Tuple7.

Zips the component1 with all other ArbArgsGenerator from left to right resulting in a ArbArgsGenerator which generates Tuple8.

Combines the component1 with all other OrderedArgsGenerator from left to right resulting in a OrderedArgsGenerator which generates Tuple8.

Combines the component1 with all other ArgsGenerator from left to right resulting in a SemiOrderedArgsGenerator which generates Tuple8.

Zips the component1 with all other ArbArgsGenerator from left to right resulting in a ArbArgsGenerator which generates Tuple9.

Combines the component1 with all other OrderedArgsGenerator from left to right resulting in a OrderedArgsGenerator which generates Tuple9.

Combines the component1 with all other ArgsGenerator from left to right resulting in a SemiOrderedArgsGenerator which generates Tuple9.

Zips the component1 with the component2 resulting in a ArbArgsGenerator which generates Tuple2.

Combines the component1 with the component2 resulting in a OrderedArgsGenerator which generates Tuple2.

Combines the component1 with the component2 resulting in a SemiOrderedArgsGenerator which generates Tuple2.

Zips the component1 with all other ArbArgsGenerator from left to right resulting in a ArbArgsGenerator which generates Tuple3.

Combines the component1 with all other OrderedArgsGenerator from left to right resulting in a OrderedArgsGenerator which generates Tuple3.

Combines the component1 with all other ArgsGenerator from left to right resulting in a SemiOrderedArgsGenerator which generates Tuple3.

Link copied to clipboard

Concatenates all given OrderedArgsGenerator resulting in an OrderedArgsGenerator which yields the values of the first OrderedArgsGenerator, then the second generator ... up to the values of the last generator and then starting over.

Concatenates all given SemiOrderedArgsGenerator resulting in an SemiOrderedArgsGenerator which yields the values of the first SemiOrderedArgsGenerator, then the second generator ... up to the values of the last generator and then starting over.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from Double.MIN_VALUE (inclusive) to Double.MAX_VALUE (inclusive).

Link copied to clipboard

Returns an ArbArgsGenerator which generates Doubles ranging from (inclusive) until toExclusive.

Link copied to clipboard
fun <T> ArbArgsGenerator<T>.filter(predicate: (T) -> Boolean): ArbArgsGenerator<T>

Filters the Sequence of values this ArbArgsGenerator will generate which match the given predicate - should not filter out all values otherwise it will break the ArgsGenerator contract.

Link copied to clipboard

Generates size values, filters the resulting Sequence so that only elements matching the given predicate remain and creates a new OrderedArgsGenerator based on it.

Link copied to clipboard

Filters the Sequence of values this ArbArgsGenerator will generate which do not match the given predicate - should not filter out all values otherwise it will break the ArgsGenerator contract.

Link copied to clipboard

Generates size values, filters the resulting Sequence so that only elements matching not the given predicate remain and creates a new OrderedArgsGenerator based on it.

Link copied to clipboard

Creates for each generated value of type A1 by this ArbArgsGenerator another ArbArgsGenerator with the help of the given otherFactory, generates the given amount of values, and zips them together with the value of this ArbArgsGenerator.

Creates for each generated value of type A1 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory, generates the given amount of values, and zips them together with the value of this ArbArgsGenerator to type Tuple2<A1, A2>.

fun <A1, A2, R> ArbArgsGenerator<A1>.flatZipDependent(amount: Int, otherFactory: ArbExtensionPoint.(A1) -> ArbArgsGenerator<A2>, transform: (A1, A2) -> R): ArbArgsGenerator<R>

Creates for each generated value of type A1 by this ArbArgsGenerator another ArbArgsGenerator with the help of the given otherFactory, generates the given amount of values, and transforms them together with the value of this ArbArgsGenerator to type R.

Creates for each generated value of type A1 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory, generates the given amount of values, and transforms them together with the value of this ArbArgsGenerator to type R.

Link copied to clipboard

Generates size values, creates another OrderedArgsGenerator per value with the help of the given otherFactory, materialises this other generator as well and combines its values with the corresponding value of this generator into a Tuple2.

Generates size values, creates another OrderedArgsGenerator per value with the help of the given otherFactory, materialises this other generator as well and combines its values with the corresponding value of this generator with the help of the given transform function to type R.

Link copied to clipboard

Returns a SemiOrderedArgsGenerator based on the given ArbArgsGenerators where the fixed part of it is the number of generators, the values as such are arbitrary in respect to the given generators.

Link copied to clipboard

Returns an ArbArgsGenerator based on the given args.

Returns an OrderedArgsGenerator based on the given args.

Link copied to clipboard

Returns an OrderedArgsGenerator for the given Enum of type E.

Link copied to clipboard
@JvmName(name = "fromValueList")
fun <T> ArbExtensionPoint.fromList(args: List<T>): ArbArgsGenerator<T>

Returns an ArbArgsGenerator based on the given args.

Returns an OrderedArgsGenerator based on the given args.

Link copied to clipboard

Returns an ArbArgsGenerator generating Chars based on the given progression.

Returns an ArbArgsGenerator generating Ints based on the given progression.

Returns an ArbArgsGenerator generating Longs based on the given progression.

Returns an OrderedArgsGenerator generating Chars based on the given progression.

Returns an OrderedArgsGenerator generating Ints based on the given progression.

Returns an OrderedArgsGenerator generating Longs based on the given progression.

Link copied to clipboard

Returns a finite Sequence of values of size take.

Returns a finite Sequence of values based on the given argsRange.

Link copied to clipboard

Returns a finite Sequence of values based on the ArgsRange that the configured ArgsRangeDecider will chose. decide on.

Returns a finite Sequence of values based on the ArgsRange that the configured ArgsRangeDecider will chose.

Link copied to clipboard

Returns one value based on the ArgsRange.offset that the configured ArgsRangeDecider will chose.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from Int.MIN_VALUE (inclusive) to Int.MAX_VALUE (inclusive).

Link copied to clipboard
fun ArbExtensionPoint.intBounds(minInclusive: Int = Int.MIN_VALUE, maxInclusive: Int = Int.MAX_VALUE, minSize: Int = 1, maxSize: Int? = null): ArbArgsGenerator<Tuple2<Int, Int>>

Returns an ArbArgsGenerator which generates Tuple2 representing a lower and upper bound where the bounds range from minInclusive to maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard
fun <T> ArbExtensionPoint.intBoundsBased(minInclusive: Int = Int.MIN_VALUE, maxInclusive: Int = Int.MAX_VALUE, minSize: Int, maxSize: Int? = null, factory: (lowerBound: Int, upperBound: Int) -> T): ArbArgsGenerator<T>

Returns an ArbArgsGenerator which generates a T based on generated lower and upper bounds and the given factory where the bounds range from minInclusive to maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from (inclusive) to toInclusive.

Returns an OrderedArgsGenerator which generates Ints ranging from (inclusive) to toInclusive.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from (inclusive) until toExclusive.

Returns an OrderedArgsGenerator which generates Ints ranging from (inclusive) until toExclusive.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from Int.MIN_VALUE (inclusive) to 0 (exclusive).

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from Int.MIN_VALUE (inclusive) to 0 (inclusive).

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from 1 (inclusive) to Int.MAX_VALUE (inclusive).

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from 0 (inclusive) to Int.MAX_VALUE (inclusive) -- i.e. positive numbers and 0.

Link copied to clipboard
fun ArbExtensionPoint.intRange(minInclusive: Int = Int.MIN_VALUE, maxInclusive: Int = Int.MAX_VALUE, minSize: Int = 0, maxSize: Int? = null): ArbArgsGenerator<IntRange>

Returns an ArbArgsGenerator which generates IntRanges ranging from a lower bound minInclusive to an upper bound maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard
fun ArbExtensionPoint.localDateFromTo(from: LocalDate, toInclusive: LocalDate, temporalUnit: TemporalUnit = ChronoUnit.DAYS): ArbArgsGenerator<LocalDate>

Returns an ArbArgsGenerator which generates LocalDates ranging from (inclusive) to toInclusive where temporalUnit defines the steps.

Link copied to clipboard
fun ArbExtensionPoint.localDateFromUntil(from: LocalDate, toExclusive: LocalDate, temporalUnit: TemporalUnit = ChronoUnit.DAYS): ArbArgsGenerator<LocalDate>

Returns an ArbArgsGenerator which generates LocalDates ranging from (inclusive) to toExclusive where temporalUnit defines the steps.

Link copied to clipboard

Returns an ArbArgsGenerator which generates LocalDateTimes ranging from (inclusive) to toInclusive where temporalUnit defines the steps.

Link copied to clipboard

Returns an ArbArgsGenerator which generates LocalDateTimes ranging from (inclusive) to toExclusive where temporalUnit defines the steps.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from Long.MIN_VALUE (inclusive) to Long.MAX_VALUE (inclusive).

Link copied to clipboard
fun ArbExtensionPoint.longBounds(minInclusive: Long = Long.MIN_VALUE, maxInclusive: Long = Long.MAX_VALUE, minSize: Long = 1, maxSize: Long? = null): ArbArgsGenerator<Tuple2<Long, Long>>

Returns an ArbArgsGenerator which generates Tuple2 representing a lower and upper bound where the bounds range from minInclusive to maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard
fun <T> ArbExtensionPoint.longBoundsBased(minInclusive: Long = Long.MIN_VALUE, maxInclusive: Long = Long.MAX_VALUE, minSize: Long, maxSize: Long? = null, factory: (lowerBound: Long, upperBound: Long) -> T): ArbArgsGenerator<T>

Returns an ArbArgsGenerator which generates a T based on generated lower and upper bounds and the given factory where the bounds range from minInclusive to maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Longs ranging from (inclusive) to toInclusive.

Returns an OrderedArgsGenerator which generates Longs ranging from (inclusive) to toInclusive.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Longs ranging from (inclusive) until toExclusive.

Returns an OrderedArgsGeneratorwhich generates Longs ranging from (inclusive) until toExclusive.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Ints ranging from Long.MIN_VALUE (inclusive) to 0 (exclusive).

Link copied to clipboard

Returns an ArbArgsGenerator which generates Longs ranging from Long.MIN_VALUE (inclusive) to 0 (inclusive) -- i.e. negative numbers and 0.

Link copied to clipboard

Returns an ArbArgsGenerator which generates Longs ranging from 1 (inclusive) to Long.MAX_VALUE (inclusive).

Link copied to clipboard

Returns an ArbArgsGenerator which generates Longs ranging from 0 (inclusive) to Long.MAX_VALUE (inclusive) -- i.e. positive numbers and 0.

Link copied to clipboard
fun ArbExtensionPoint.longRange(minInclusive: Long = Long.MIN_VALUE, maxInclusive: Long = Long.MAX_VALUE, minSize: Long = 0, maxSize: Long? = null): ArbArgsGenerator<LongRange>

Returns an ArbArgsGenerator which generates LongRanges ranging from a lower bound minInclusive to an upper bound maxInclusive respecting the given minSize as well as maxSize if defined.

Link copied to clipboard
fun <T, R> ArbArgsGenerator<T>.map(transform: (T) -> R): ArbArgsGenerator<R>

Maps the values this ArbArgsGenerator generates to type R with the help of the given transform function.

fun <T, R> OrderedArgsGenerator<T>.map(transform: (T) -> R): OrderedArgsGenerator<R>

Maps the values this OrderedArgsGenerator generates to type R with the help of the given transform function.

Maps the values this SemiOrderedArgsGenerator generates to type R with the help of the given transform function.

Link copied to clipboard

Merges first with the given second and optionally others resulting in a ArbArgsGenerator which picks the next generator to contribute a value according to the defined weights.

Link copied to clipboard
fun <T> ArbExtensionPoint.of(vararg args: T): ArbArgsGenerator<T>

Returns an ArbArgsGenerator based on the given args.

Returns an OrderedArgsGenerator based on the given args.

Link copied to clipboard

Returns an ArbArgsGenerator which generates OffsetDateTimes ranging from (inclusive) to toInclusive where temporalUnit defines the steps.

Link copied to clipboard

Returns an ArbArgsGenerator which generates OffsetDateTimes ranging from (inclusive) to toExclusive where temporalUnit defines the steps.

Link copied to clipboard

Concatenates this OrderedArgsGenerator with the given other OrderedArgsGenerator resulting in an OrderedArgsGenerator which yields the values of this OrderedArgsGenerator, then of the other and then starting over.

Merges this SemiOrderedArgsGenerator with the given other SemiOrderedArgsGenerator resulting in an SemiOrderedArgsGenerator which yields the values of this SemiOrderedArgsGenerator and then of the other before repeating.

Link copied to clipboard
fun ArbExtensionPoint.string(maxLength: Int, minLength: Int = 0, allowedRanges: Array<out UnicodeRange> = UnicodeRanges.UTF_8_PRINTABLE.ranges): ArbArgsGenerator<String>

Returns an ArbArgsGenerator which generates Strings with minLength and maxLength (inclusive) using the given allowed UnicodeRanges.

Link copied to clipboard

Generates size values and puts them into a List.

Link copied to clipboard

Generates size values and puts them into a Set.

Link copied to clipboard
fun <T, R> ArbArgsGenerator<T>.transform(transform: (Sequence<T>, seedOffset: Int) -> Sequence<R>): ArbArgsGenerator<R>

Transforms the Sequence will generate into a Sequence of type R and thus creating a ArbArgsGenerator of type R.

Link copied to clipboard

Generates size values, transforms and materialises them and creates a new OrderedArgsGenerator based on it.

Link copied to clipboard
@JvmName(name = "zipToTuple2")
fun <A1, A2> ArbArgsGenerator<A1>.zip(other: ArbArgsGenerator<A2>): ArbArgsGenerator<Tuple2<A1, A2>>
@JvmName(name = "zipToTuple5")
fun <A1, A2, A3, A4, A5> ArbArgsGenerator<Tuple4<A1, A2, A3, A4>>.zip(other: ArbArgsGenerator<A5>): ArbArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>
@JvmName(name = "zipToTuple6")
fun <A1, A2, A3, A4, A5, A6> ArbArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>.zip(other: ArbArgsGenerator<A6>): ArbArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>
@JvmName(name = "zipToTuple7")
fun <A1, A2, A3, A4, A5, A6, A7> ArbArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>.zip(other: ArbArgsGenerator<A7>): ArbArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>
@JvmName(name = "zipToTuple8")
fun <A1, A2, A3, A4, A5, A6, A7, A8> ArbArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>.zip(other: ArbArgsGenerator<A8>): ArbArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>
@JvmName(name = "zipToTuple9")
fun <A1, A2, A3, A4, A5, A6, A7, A8, A9> ArbArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>.zip(other: ArbArgsGenerator<A9>): ArbArgsGenerator<Tuple9<A1, A2, A3, A4, A5, A6, A7, A8, A9>>
@JvmName(name = "zipToTuple3")
fun <A1, A2, A3> ArbArgsGenerator<Tuple2<A1, A2>>.zip(other: ArbArgsGenerator<A3>): ArbArgsGenerator<Tuple3<A1, A2, A3>>
@JvmName(name = "zipToTuple4")
fun <A1, A2, A3, A4> ArbArgsGenerator<Tuple3<A1, A2, A3>>.zip(other: ArbArgsGenerator<A4>): ArbArgsGenerator<Tuple4<A1, A2, A3, A4>>

Zips this ArbArgsGenerator with the given other ArbArgsGenerator.

@JvmName(name = "zipToTuple2")
fun <A1, A2> SemiOrderedArgsGenerator<A1>.zip(other: ArbArgsGenerator<A2>): SemiOrderedArgsGenerator<Tuple2<A1, A2>>
@JvmName(name = "zipToTuple5")
fun <A1, A2, A3, A4, A5> SemiOrderedArgsGenerator<Tuple4<A1, A2, A3, A4>>.zip(other: ArbArgsGenerator<A5>): SemiOrderedArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>
@JvmName(name = "zipToTuple6")
fun <A1, A2, A3, A4, A5, A6> SemiOrderedArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>.zip(other: ArbArgsGenerator<A6>): SemiOrderedArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>
@JvmName(name = "zipToTuple7")
fun <A1, A2, A3, A4, A5, A6, A7> SemiOrderedArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>.zip(other: ArbArgsGenerator<A7>): SemiOrderedArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>
@JvmName(name = "zipToTuple8")
fun <A1, A2, A3, A4, A5, A6, A7, A8> SemiOrderedArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>.zip(other: ArbArgsGenerator<A8>): SemiOrderedArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>
@JvmName(name = "zipToTuple9")
fun <A1, A2, A3, A4, A5, A6, A7, A8, A9> SemiOrderedArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>.zip(other: ArbArgsGenerator<A9>): SemiOrderedArgsGenerator<Tuple9<A1, A2, A3, A4, A5, A6, A7, A8, A9>>
@JvmName(name = "zipToTuple3")
fun <A1, A2, A3> SemiOrderedArgsGenerator<Tuple2<A1, A2>>.zip(other: ArbArgsGenerator<A3>): SemiOrderedArgsGenerator<Tuple3<A1, A2, A3>>
@JvmName(name = "zipToTuple4")
fun <A1, A2, A3, A4> SemiOrderedArgsGenerator<Tuple3<A1, A2, A3>>.zip(other: ArbArgsGenerator<A4>): SemiOrderedArgsGenerator<Tuple4<A1, A2, A3, A4>>
fun <A1, A2, R> ArbArgsGenerator<A1>.zip(other: ArbArgsGenerator<A2>, transform: (A1, A2) -> R): ArbArgsGenerator<R>

Zips this ArbArgsGenerator with the given other ArbArgsGenerator, transforming the pairwise generated values of type A1 and A2 to type R.

Combines this SemiOrderedArgsGenerator with the given other ArbArgsGenerator and transforms the generated values pairwise, returning a SemiOrderedArgsGenerator which generates values of type R.

Link copied to clipboard
@JvmName(name = "zipDependentToTuple2")
fun <A1, A2> ArbArgsGenerator<A1>.zipDependent(otherFactory: ArbExtensionPoint.(A1) -> ArbArgsGenerator<A2>): ArbArgsGenerator<Tuple2<A1, A2>>

Creates for each generated value of type A1 by this ArbArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple5")
fun <A1, A2, A3, A4, A5> ArbArgsGenerator<Tuple4<A1, A2, A3, A4>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple4<A1, A2, A3, A4>) -> ArbArgsGenerator<A5>): ArbArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>

Creates for each generated value of type Tuple4 by this ArbArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple6")
fun <A1, A2, A3, A4, A5, A6> ArbArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple5<A1, A2, A3, A4, A5>) -> ArbArgsGenerator<A6>): ArbArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>

Creates for each generated value of type Tuple5 by this ArbArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple7")
fun <A1, A2, A3, A4, A5, A6, A7> ArbArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple6<A1, A2, A3, A4, A5, A6>) -> ArbArgsGenerator<A7>): ArbArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>

Creates for each generated value of type Tuple6 by this ArbArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple8")
fun <A1, A2, A3, A4, A5, A6, A7, A8> ArbArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple7<A1, A2, A3, A4, A5, A6, A7>) -> ArbArgsGenerator<A8>): ArbArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>

Creates for each generated value of type Tuple7 by this ArbArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple9")
fun <A1, A2, A3, A4, A5, A6, A7, A8, A9> ArbArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>) -> ArbArgsGenerator<A9>): ArbArgsGenerator<Tuple9<A1, A2, A3, A4, A5, A6, A7, A8, A9>>

Creates for each generated value of type Tuple8 by this ArbArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple3")
fun <A1, A2, A3> ArbArgsGenerator<Tuple2<A1, A2>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple2<A1, A2>) -> ArbArgsGenerator<A3>): ArbArgsGenerator<Tuple3<A1, A2, A3>>

Creates for each generated value of type Tuple2 by this ArbArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple4")
fun <A1, A2, A3, A4> ArbArgsGenerator<Tuple3<A1, A2, A3>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple3<A1, A2, A3>) -> ArbArgsGenerator<A4>): ArbArgsGenerator<Tuple4<A1, A2, A3, A4>>

Creates for each generated value of type Tuple3 by this ArbArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple2")
fun <A1, A2> SemiOrderedArgsGenerator<A1>.zipDependent(otherFactory: ArbExtensionPoint.(A1) -> ArbArgsGenerator<A2>): SemiOrderedArgsGenerator<Tuple2<A1, A2>>

Creates for each generated value of type A1 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple5")
fun <A1, A2, A3, A4, A5> SemiOrderedArgsGenerator<Tuple4<A1, A2, A3, A4>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple4<A1, A2, A3, A4>) -> ArbArgsGenerator<A5>): SemiOrderedArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>

Creates for each generated value of type Tuple4 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple6")
fun <A1, A2, A3, A4, A5, A6> SemiOrderedArgsGenerator<Tuple5<A1, A2, A3, A4, A5>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple5<A1, A2, A3, A4, A5>) -> ArbArgsGenerator<A6>): SemiOrderedArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>

Creates for each generated value of type Tuple5 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple7")
fun <A1, A2, A3, A4, A5, A6, A7> SemiOrderedArgsGenerator<Tuple6<A1, A2, A3, A4, A5, A6>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple6<A1, A2, A3, A4, A5, A6>) -> ArbArgsGenerator<A7>): SemiOrderedArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>

Creates for each generated value of type Tuple6 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple8")
fun <A1, A2, A3, A4, A5, A6, A7, A8> SemiOrderedArgsGenerator<Tuple7<A1, A2, A3, A4, A5, A6, A7>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple7<A1, A2, A3, A4, A5, A6, A7>) -> ArbArgsGenerator<A8>): SemiOrderedArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>

Creates for each generated value of type Tuple7 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple9")
fun <A1, A2, A3, A4, A5, A6, A7, A8, A9> SemiOrderedArgsGenerator<Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple8<A1, A2, A3, A4, A5, A6, A7, A8>) -> ArbArgsGenerator<A9>): SemiOrderedArgsGenerator<Tuple9<A1, A2, A3, A4, A5, A6, A7, A8, A9>>

Creates for each generated value of type Tuple8 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple3")
fun <A1, A2, A3> SemiOrderedArgsGenerator<Tuple2<A1, A2>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple2<A1, A2>) -> ArbArgsGenerator<A3>): SemiOrderedArgsGenerator<Tuple3<A1, A2, A3>>

Creates for each generated value of type Tuple2 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator.

@JvmName(name = "zipDependentToTuple4")
fun <A1, A2, A3, A4> SemiOrderedArgsGenerator<Tuple3<A1, A2, A3>>.zipDependent(otherFactory: ArbExtensionPoint.(Tuple3<A1, A2, A3>) -> ArbArgsGenerator<A4>): SemiOrderedArgsGenerator<Tuple4<A1, A2, A3, A4>>

Creates for each generated value of type Tuple3 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then zips the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator.

fun <A1, A2, R> ArbArgsGenerator<A1>.zipDependent(otherFactory: ArbExtensionPoint.(A1) -> ArbArgsGenerator<A2>, transform: (A1, A2) -> R): ArbArgsGenerator<R>

Creates for each generated value of type A1 by this ArbArgsGenerator another ArbArgsGenerator with the help of the given otherFactory and then transforms the value of this ArbArgsGenerator with one value of the other ArbArgsGenerator to type R.

Creates for each generated value of type A1 by this SemiOrderedArgsGenerator an ArbArgsGenerator with the help of the given otherFactory and then transforms the value of this SemiOrderedArgsGenerator with one value of the other ArbArgsGenerator to type R.

Link copied to clipboard

Returns an ArbArgsGenerator which generates ZonedDateTimes ranging from (inclusive) to toInclusive where temporalUnit defines the steps.

Link copied to clipboard

Returns an ArbArgsGenerator which generates ZonedDateTimes ranging from (inclusive) to toExclusive where temporalUnit defines the steps.