-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
Note
If you intend to work on one of the following points:
- use the bulleye icon to create a new issue from a bullet point
- assign yourself to the issue
- keep us posted
Api
Primitives
aiken/fuzz
-
fn int_between(min: Int, max: Int) -> Fuzzer<Int>
#8 -
fn int_at_least(min: Int) -> Fuzzer<Int>
-
fn int_at_most(max: Int) -> Fuzzer<Int>
-
fn bytearray() -> Fuzzer<ByteArray>
-
fn bytearray_between(min: Int, max: Int) -> Fuzzer<ByteArray>
-
fn list_at_least(fuzz_elem: Fuzzer<a>, min: Int) -> Fuzzer<List<a>>
-
fn list_at_most(fuzz_elem: Fuzzer<a>, max: Int) -> Fuzzer<List<a>>
-
fn either(fuzz_left: Fuzzer<a>, fuzz_right: Fuzzer<a>) -> Fuzzer<a>
-
fn both(fuzz_left: Fuzzer<a>, fuzz_right: Fuzzer<b>) -> Fuzzer<(a, b)>
-
fn map6(fuzz_a: Fuzzer<a>, .., fuzz_f: Fuzzer<f>, f: fn(a, ..., f) -> result) -> Fuzzer<result>
#3 -
fn map7(fuzz_a: Fuzzer<a>, .., fuzz_g: Fuzzer<f>, f: fn(a, ..., g) -> result) -> Fuzzer<result>
#4 -
fn map8(fuzz_a: Fuzzer<a>, .., fuzz_h: Fuzzer<f>, f: fn(a, ..., h) -> result) -> Fuzzer<result>
#5 -
fn map9(fuzz_a: Fuzzer<a>, .., fuzz_i: Fuzzer<f>, f: fn(a, ..., i) -> result) -> Fuzzer<result>
#6
Common types
Note
Considering:
type Sample<a> = Fuzzer<List<a>>
aiken/fuzz/dict
-
fn dict(fuzz_key: Fuzzer<k>, fuzz_value: Fuzzer<v>) -> Fuzzer<Dict<k, v>>
-
fn dict_between(fuzz_key: Fuzzer<k>, fuzz_value: Fuzzer<v>, min: Int, max: Int) -> Fuzzer<Dict<k, v>>
-
fn dict_at_least(fuzz_key: Fuzzer<k>, fuzz_value: Fuzzer<v>, min: Int, max: Int) -> Fuzzer<Dict<k, v>>
-
fn dict_at_most(fuzz_key: Fuzzer<k>, fuzz_value: Fuzzer<v>, min: Int, max: Int) -> Fuzzer<Dict<k, v>>
-
fn dict_from(keys: Sample<k>, fuzz_value: Fuzzer<v>) -> Fuzzer<Dict<k, v>>
aiken/fuzz/math/rational
-
fn rational() -> Fuzzer<Rational>
-
fn rational_between(min: Rational, max: Rational) -> Fuzzer<Rational>
-
fn rational_at_least(min: Rational) -> Fuzzer<Rational>
-
fn rational_at_most(max: Rational) -> Fuzzer<Rational>
aiken/fuzz/transaction/value
-
fn lovelace() -> Fuzzer<Int>
(a bespoke int fuzzer for lovelace quantities)
aiken/fuzz/transaction/certificate
-
fn certificate(delegators: Sample<StakeCredential>, pools: Sample<PoolId>) -> Fuzzer<Certificate>
aiken/fuzz/transaction/credential
-
fn address(payment_credentials: Sample<PaymentCredential>, delegation_credentials: Sample<DelegationCredential>) -> Fuzzer<Address>
Documentation
- Rework README and provide a high-level overview of the project.
- Add more inline-doc examples to (at least) primitives
- Write a small tutorial to illustrate the capabilities of the library and showcase some patterns.
Experiments
- Experiment with Scott-Encoded Tuples and analyze performances in comparison with Data-tuples.
adrian052
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
🚀 Released