elm-explorations / test

Write unit and fuzz tests for Elm code.
https://package.elm-lang.org/packages/elm-explorations/test/latest
BSD 3-Clause "New" or "Revised" License
236 stars 40 forks source link

Tag another release? #195

Closed nmhancock closed 1 year ago

nmhancock commented 1 year ago

Hi all, thanks for the project!

I have a use case where I'd like to use something like listOfLength in one of my projects, and got part way through implementing it before I realized you all had already done so.

Then I tried importing the function and noticed it wasn't being exported, and that the last tagged release was 3 years ago.

Are there any particular reasons there hasn't been a release, or items that need addressing? Maybe this issue could serve as a staging point for inhibitors.

Janiczek commented 1 year ago

Hey there @nmhancock! I'm planning to make a 2.0.0 release sometime this or next month.

There still are a few things to finish:

After those are merged, we'll coordinate with the runner maintainers to release at the same time.

Thanks for the issue - it serves as motivation to get this release out of the door sooner :)


In the meantime if you want to create something that behaves like listOfLength, you can do eg.:

listOfLength : Int -> Fuzzer a -> Fuzzer (List a)
listOfLength n itemFuzzer =
  List.repeat n itemFuzzer
    |> sequence

sequence : List (Fuzzer a) -> Fuzzer (List a)
sequence fuzzers =
    List.foldl
        (\fuzzer listFuzzer ->
            Fuzz.constant (::)
                |> Fuzz.andMap fuzzer
                |> Fuzz.andMap listFuzzer
        )
        (Fuzz.constant [])
        fuzzers
Janiczek commented 1 year ago

This is now done, 2.0.0 is released :)