ktonon/elm-test-extra/1.3.0

NOTE: this package is not compatible with Elm 0.19.1

Fuzz.Extra

Extends Fuzz with more Fuzzers

eitherOr : Fuzzer a -> Fuzzer a -> Fuzzer a

Combine two fuzzers.

fuzzMaybeInt : Fuzzer (Maybe Int)
fuzzMaybeInt =
    Fuzz.Extra.eitherOr
        (Fuzz.constant Nothing)
        (Fuzz.int |> Fuzz.map Just)
union : List a -> a -> Shrinker a -> Fuzzer a

Create a fuzzer for a union type.

type Age
    = Baby
    | Teen
    | Adult




shrinkAge : Shrinker Age
shrinkAge a =
    case a of
        Baby ->
            Teen ::: Adult ::: empty


        Teen ->
            Adult ::: empty


        Adult ->
            empty




fuzzAge : Fuzzer Age
fuzzAge =
    Fuzz.Extra.union [ Baby, Teen, Adult ] Baby shrinkAge