TAP version 14
# Subtest: random iterator returns all items
    ok 1 - Iterator returned valid item: 3
    ok 2 - Iterator returned valid item: 2
    ok 3 - Iterator returned valid item: 6
    ok 4 - Iterator returned valid item: 1
    ok 5 - Iterator returned valid item: 4
    ok 6 - Iterator returned valid item: 5
    ok 7 - All items are iterated
    1..7
ok 1 - random iterator returns all items # time=4.768ms

# Subtest: can shuffle in place
    ok 1 - Shuffled array still contains 4
    ok 2 - Shuffled array still contains 6
    ok 3 - Shuffled array still contains 1
    ok 4 - Shuffled array still contains 2
    ok 5 - Shuffled array still contains 3
    ok 6 - Shuffled array still contains 5
    ok 7 - Array length remains unchanged after shuffle
    1..7
ok 2 - can shuffle in place # time=1.377ms

# Subtest: throws when random API is wrong
    ok 1 - Throws if custom random generator is invalid
    1..1
ok 3 - throws when random API is wrong # time=2.217ms

# Subtest: empty array iterator does not call callback
    1..0
ok 4 - empty array iterator does not call callback # time=0.162ms

# Subtest: Same seed gives same values
    ok 1 - Same seed produces same value
    1..1
ok 5 - Same seed gives same values # time=2.606ms

# Subtest: it can generate gaussian
    ok 1 - Gaussian returns a number
    1..1
ok 6 - it can generate gaussian # time=0.542ms

# Subtest: it can generate levy
    ok 1 - Levy returns a number
    1..1
ok 7 - it can generate levy # time=0.328ms

# Subtest: can use function syntax
    ok 1 - Function syntax produces consistent generators
    1..1
ok 8 - can use function syntax # time=0.225ms

1..8
