packages feed

lookup-tables-0.1.0.0: test/Spec.hs

{-# LANGUAGE TemplateHaskell #-}
import Data.LookupTable
import Test.Tasty
import Test.Tasty.HUnit

import Functions

import Data.Word

fMemo :: Word8 -> Word8
fMemo = $$(generateLUT f)

gMemo :: Word16 -> Double
gMemo = $$(generateLUT g)

main :: IO ()
main =
  defaultMain
  (testGroup "Unit tests"
  [ testCase "Word8  -> Word8"  $ map f [minBound .. maxBound] @=? map fMemo [minBound .. maxBound]
  , testCase "Word16 -> Double" $ map g [minBound .. maxBound] @=? map gMemo [minBound .. maxBound]
  ])