Beginner at Haskell here.
I have a function, and a bunch of properties to test it with which I've written using quickcheck. The properties work when I run them individually in the interpreter, and the function checks out fine.
However, manually quickchecking with each property in the interpreter by hand (quickCheck prop_this, quickCheck prop_that) is boring, monotonous, and time-consuming. I would like to stick all of this in a program, and have that program run all of the quickchecks. This is where I am stuck.
The basic skeleton of the program is as follows:
imports...
function_which_i_want_to_quickcheck
prop_1
prop_2
etc...
main = do
quickCheck prop_1
quickCheck prop_2
etc...
Everything above main is fine I believe, as it all compiles and works without it. main is what I need help with. I've tried several variations, i.e. not having a do, using a do, assigning results using 'x <- quickCheck y', removing quickCheck from the inside and sticking it on the outside instead, etc. but can't get anything to work.
Can anyone assist with the above?
If I wanted to move everything inside main to another (normal, non-main) function, how would I do it?
EDIT: I appreciate the recommendation for testing frameworks, but what I'm asking for here is trivial to do in any other language, and shouldn't need a testing framework. Why not Haskell?
Also, this works correctly right inside the interpreter. I can't get it to work inside main. Any ideas why?
quickCheck prop_1 >> quickCheck prop_2 >> quickCheck prop_3
Thanks.