{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
module IndList (indListTest) where
import Math.Tensor (IndList(..), fromList)
import Test.Tasty
import Test.Tasty.HUnit
il1 :: Maybe (IndList 5 Int)
il1 = fromList [1,2,3,4,5]
il2 :: Maybe (IndList 7 Int)
il2 = fromList [1,2,3,4,5]
il3 :: Maybe (IndList 1 Int)
il3 = fromList [1,2,3,4,5]
testCase1 = testCase "IndListTest1" $
assertBool
"fromList [1,2,3,4,5] :: Maybe (IndList 5 Int) failed" $
case il1 of
Nothing -> False
Just (1 `Append` (2 `Append` (3 `Append` (4 `Append` (5 `Append` Empty))))) -> True
testCase2 = testCase "IndListTest2" $
assertBool "fromList [1,2,3,4,5] :: Maybe (IndList 5 Int) failed" $
case il2 of
Nothing -> True
_ -> False
testCase3 = testCase "IndListTest3" $
assertBool "fromList [1,2,3,4,5] :: Maybe (IndList 5 Int) failed" $
case il2 of
Nothing -> True
_ -> False
indListTest = testGroup "IndListTest" [testCase1, testCase2, testCase3]