I am playing with Test.Hspec and Test.QuickCheck and I am traying to
implement KMeans algorithm as a training. I use very simple
representation of vectors: type LVector=[Double]
I have no problems to write testcases with some concreate examples
of input and expected output:
it "sum of vectors is computed field by field" $ do
(sumVect [[1.0, 2.0], [3.0, 4.0], [4, 5]])
`shouldBe` [8.0, 11.0]
or simple properties based tests:
it "zeroVector contains just zeroes" $
property (\(Positive d) -> [] == filter (/= 0.0)
(zeroVector d) )
but I get sticked, when I try to create QuickCheck test, for example
for the first case (sumVect). How can I generate list of
lists, where all the included lists are of the same length?
Link for some tutorial *) can be, I believe, enough but I would be
glad for any help.
Thanks
Ondra @satai Nekola
ondra@nekola.cz
*) Maybe I have not trained my google good enough yet, but lack of
tutorials describing more than the most basic usecase is probably
the most problematic point in re-learning Haskell so far.