packages feed

derive-topdown-0.1.0.0: test/Template.hs

{-# LANGUAGE TemplateHaskell #-}
module Template where
import           Arity
import           Data.Derive.TopDown.IsInstance
import           Language.Haskell.Syntax
import           Language.Haskell.TH.Syntax
                                         hiding ( Exp )
import           Test.HUnit
import           Types
import           Utils

arityCompany = TestCase
  (assertEqual
    "Company is instance of Arity"
    True
    $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''Company]]))
  )

arityI = TestCase
  (assertEqual "I is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''I]]))
  )

arityB = TestCase
  (assertEqual "B is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''B]]))
  )

arityT = TestCase
  (assertEqual "T is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''T]]))
  )

arityT1 = TestCase
  (assertEqual "T1 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''T1]]))
  )

arityT2 = TestCase
  (assertEqual "T2 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''T2]]))
  )

arityT3 = TestCase
  (assertEqual "T3 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''T3]]))
  )

arityR0 = TestCase
  (assertEqual "T0 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''R0]]))
  )

arityR6 = TestCase
  (assertEqual "R6 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''R6]]))
  )

arityRx0 = TestCase
  (assertEqual "Rx0 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''Rx0]]))
  )

arityRx3 = TestCase
  (assertEqual "Rx6 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''Rx3]]))
  )

arityT4 = TestCase
  (assertEqual "T4 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''T4]]))
  )

arityColonEqColon = TestCase
  (assertEqual ":=: is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''(:=:)]]))
  )

arityT5 = TestCase
  (assertEqual "T5 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''T5]]))
  )

arityExp = TestCase
  (assertEqual "Exp is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''Exp]]))
  )

arityP1 = TestCase
  (assertEqual "P1 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''P1]]))
  )

arityP2 = TestCase
  (assertEqual "P2 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''P2]]))
  )

arityList = TestCase
  (assertEqual "List is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''List]]))
  )

arityStream = TestCase
  (assertEqual
    "Stream is instance of Arity"
    True
    $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''Stream]]))
  )

arityC = TestCase
  (assertEqual "C is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''C]]))
  )

arityD = TestCase
  (assertEqual "D is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''D]]))
  )

arityIO_ = TestCase
  (assertEqual "IO_ is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''IO_]]))
  )

arityF32 = TestCase
  (assertEqual "F32 is instance of Arity"
               True
               $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''F32]]))
  )

arityHsModule = TestCase
  (assertEqual
    "HsModule is instance of Arity"
    True
    $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''HsModule]]))
  )

arityHsDecl = TestCase
  (assertEqual
    "HsDecl is instance of Arity"
    True
    $((qBoolToExp $ isInstance' ''TypeArity [apps [ConT ''HsDecl]]))
  )