Introduction to property based testing

Giulio Canti on March 17, 2019

In the last posts about Eq, Ord, Semigroup and Monoid we saw that instances must comply with some laws. So how can we ensure that our instances ar... [Read Full]
markdown guide

I was playing a bit with this and wondering if/how it would make sense to test a monoid for tasks. Any ideas? Particularly on generating a setoid for those types?


I think you have a typo in your Monoid instance. The string should not be empty for the test to fail


concat(x, empty) is equal to x + ' ' + empty by definition of concat. If x = '' then x + ' ' + empty is equal to '' + ' ' + '' which is equal to ' ' so concat(x, empty) !== x


Ah, yeah, I missed the extra space in the Semigroup instance

code of conduct - report abuse