
I have a series of unit tests like this,
test_volume1 :: Assertion test_volume1 = assertEqual "volume is correct" True (vol ~= (-1/3)) where p0 = (0, -0.5, 0) p1 = (0, 0.5, 0) p2 = (2, 0, 0) p3 = (1, 0, 1) ...
test_volume2 :: Assertion test_volume2 = assertEqual "volume is correct" True (vol ~= (1/3)) where p0 = (0, -0.5, 0) p1 = (2, 0, 0) p2 = (0, 0.5, 0) p3 = (1, 0, 1) ...
I would like to de-duplicate some of the values in the 'where' clause. Furthermore, I don't want to declare e.g. p0 and p3 at the top level, since later tests may need different values of p0,p3. What I would really like is something like the following. Is it possible?
let p0 = (0, -0.5, 0) p3 = (1, 0, 1) in test_volume1 :: Assertion test_volume1 = assertEqual "volume is correct" True (vol ~= (-1/3)) where p1 = (0, 0.5, 0) p2 = (2, 0, 0) ...
test_volume2 :: Assertion test_volume2 = assertEqual "volume is correct" True (vol ~= (1/3)) where p1 = (2, 0, 0) p2 = (0, 0.5, 0) ...