freestyle
freestyle copied to clipboard
Come up with recommended testing strategy for Free Algebras.
Today we are able to create algebras and interpreters that can be entirely decoupled and we've seen people testing these mocking interpreters or providing return type abstractions to run tests over Id
but there is not a solid recommended way in terms of patterns to test out algebras.
The scope of this issue is to come up with a way to cover all testing aspects when working with Free algebras and provide a reference example implementation over a few of the existing algebras in freestyle-effects
or the freestyle-examples
repo where the TODO app lives.
I have some code for reviewing at https://github.com/frees-io/freestyle-examples/pull/5 - it's very early days but some input from others would be welcome
@noelmarkham I'd like to contribute here as I feel that this issue really needs standardization.
However, your link is no longer available. Can you post it again somewhere so that I can synchronize with you? Thanks.
@miciek Thanks! You may want to talk also to @jserranohidalgo and javierfs89 both are helping us introduce Puretest. https://github.com/hablapps/puretest.
If you can encode your desire way of testing Free and Tagless / Modules with Puretest it'd be a great Freestyle contribution.
On a side note I'm looking forward to your talk on "Freestyle, Free & Tagless: Separation of Concerns on Steroids" at Scala XChange, I'll be there speaking about Freestyle RPC the day before and also running a workshop with @juanpedromoreno on building RPC services with Freestyle. If you need any help with your talk I'll be happy to assist in any way I can.
@raulraja @miciek I left some comments on some ongoing work here. As I said there, IMO, the way to go is giving another version of the puretest DSL in terms of @free.