michaelt / streaming

An optimized general monad transformer for streaming applications, with a simple prelude of functions
BSD 3-Clause "New" or "Revised" License
104 stars 11 forks source link

Add tests #33

Open treeowl opened 7 years ago

treeowl commented 7 years ago

There doesn't seem to be a test suite. I would recommend adding, at least:

  1. Modules implementing the entire non-internal streaming API using FreeT instead of Stream. I think these might as well be exposed, so users can play with them.

  2. Tests verifying that Stream operations behave the same as their FreeT equivalents. See my old SO question How can I test functions polymorphic over applicatives for some ideas about being arbitrary. In this case, I suspect we want to use functors built from algebraic bits (Sum, Product, Compose, Identity, Const) for f parameters, and free monads over such functors for m parameters.

andrewthad commented 7 years ago

This is no longer the official repo for streaming. Please continue discussion of this issue here.