freestyle icon indicating copy to clipboard operation
freestyle copied to clipboard

Come up with recommended testing strategy for Free Algebras.

Open raulraja opened this issue 7 years ago • 4 comments

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.

raulraja avatar Jul 26 '17 15:07 raulraja

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 avatar Aug 03 '17 10:08 noelmarkham

@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 avatar Nov 25 '17 16:11 miciek

@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 avatar Nov 26 '17 12:11 raulraja

@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.

jserranohidalgo avatar Nov 26 '17 18:11 jserranohidalgo