Constant
Promote any set of constant values to arbitraries.
constant
Always produce the same value
Signatures:
fc.constant(value)
with:
value
— value that will be produced by the arbitrary
Usages:
fc.constant(1);
// Examples of generated values: 1…
fc.constant({});
// Examples of generated values: {}…
Resources: API reference.
Available since 0.0.1.
constantFrom
One of the values specified as argument.
Randomly chooses among the provided values. It considers the first value as the default value so that in case of failure it will shrink to it. It expects a minimum of one value and throws whether it receives no value as parameters. It can easily be used on arrays with fc.constantFrom(...myArray)
.
Signatures:
fc.constantFrom(...values)
with:
...values
— all the values that could possibly be generated by the arbitrary
Usages:
fc.constantFrom(1, 2, 3);
// Examples of generated values: 1, 3, 2…
fc.constantFrom(1, 'string', {});
// Examples of generated values: 1, "string", {}…
Resources: API reference.
Available since 0.0.12.
mapToConstant
Map indexes to values.
Generate non-contiguous ranges of values by mapping integer values to constant.
Signatures:
fc.mapToConstant(...{ num, build })
with:
...{ num, build }
— describe how to map integer values to their final values. For each entry, the entry definesnum
corresponding to the number of integer values it covers andbuild
, a method that will produce a value given an integer in the range0
(included) tonum - 1
(included)
Usages:
fc.mapToConstant(
{ num: 26, build: (v) => String.fromCharCode(v + 0x61) },
{ num: 10, build: (v) => String.fromCharCode(v + 0x30) },
);
// Examples of generated values: "6", "8", "d", "9", "r"…
Resources: API reference.
Available since 1.14.0.
subarray
Generate values corresponding to any possible sub-array of an original array.
Values of the resulting subarray are ordered the same way they were in the original array.
Signatures:
fc.subarray(originalArray)
fc.subarray(originalArray, {minLength?, maxLength?})
with:
originalArray
— the array from which we want to extract sub-arraysminLength?
— default:0
— minimal length (included)maxLength?
— default:originalArray.length
— maximal length (included)
Usages:
fc.subarray([1, 42, 48, 69, 75, 92]);
// Examples of generated values: [], [1,48,69,75,92], [48], [1,42,75], [1,48,75,92]…
fc.subarray([1, 42, 48, 69, 75, 92], { minLength: 5 });
// Examples of generated values: [1,42,48,69,75], [1,42,48,69,92], [1,42,48,75,92], [42,48,69,75,92], [1,42,69,75,92]…
fc.subarray([1, 42, 48, 69, 75, 92], { maxLength: 5 });
// Examples of generated values: [48,75], [1], [], [48,92], [69,75]…
fc.subarray([1, 42, 48, 69, 75, 92], { minLength: 2, maxLength: 3 });
// Examples of generated values: [48,75], [48,69,92], [42,75], [69,92], [1,42]…
Resources: API reference.
Available since 1.5.0.
shuffledSubarray
Generate values corresponding to any possible sub-array of an original array.
Values of the resulting subarray are ordered randomly.
Signatures:
fc.shuffledSubarray(originalArray)
fc.shuffledSubarray(originalArray, {minLength?, maxLength?})
with:
originalArray
— the array from which we want to extract sub-arraysminLength?
— default:0
— minimal length (included)maxLength?
— default:originalArray.length
— maximal length (included)
Usages:
fc.shuffledSubarray([1, 42, 48, 69, 75, 92]);
// Examples of generated values: [69,92], [92,69,42,75], [48,69,92,75,42,1], [1,42], [75]…
fc.shuffledSubarray([1, 42, 48, 69, 75, 92], { minLength: 5 });
// Examples of generated values: [48,1,92,69,75,42], [42,1,92,75,69], [69,75,92,48,1], [92,42,48,75,69], [1,69,75,92,42]…
fc.shuffledSubarray([1, 42, 48, 69, 75, 92], { maxLength: 5 });
// Examples of generated values: [48,1,92], [], [75,1,69,92], [42], [75,1,69,48,42]…
fc.shuffledSubarray([1, 42, 48, 69, 75, 92], { minLength: 2, maxLength: 3 });
// Examples of generated values: [1,92], [92,75], [1,48], [42,75], [48,69]…
Resources: API reference.
Available since 1.5.0.