[Haskell-cafe] testing for exceptions

Roelof Wobben r.wobben at home.nl
Sat Oct 31 10:16:06 UTC 2015


Hello,

I have made this exercise which can be found at the Craft of Functional 
Programming  book.

-- exercise 32

-- Suppose we have to raise 2 to the power n. If n is even, 2*m say, then
-- 2n = 22*m = (2m)2
-- If n is odd, 2*m+l say, then
-- 2n = 22*m+l = (2n)2*2
-- Give a recursive function to compute 2n which uses these insights.

f2 :: Integer -> Integer
f2 n
   | n < 0   = error "This will only run for positive numbers"
   | n == 0  = 1
   | even n = f2 ( n `div` 2) ^ 2
   | odd n  = (f2 ( n `div` 2) ^ 2) * 2


Now I have to make Hunit tests for it,

But is there a way I can test if the error message is shown when a 
negative number is being used ?

Roelof



More information about the Haskell-Cafe mailing list