module Latte.FrontEnd.Spec (main, spec) where

import Test.Hspec

import qualified Latte.FrontEnd.MainFunctionPresenceSpec
import qualified Latte.FrontEnd.FunctionNameDuplicationSpec
import qualified Latte.FrontEnd.TypeCheckSpec
import qualified Latte.FrontEnd.VariableDeclaredSpec

main :: IO ()
main = hspec spec

spec :: Spec
spec = do
    describe "Main function presence" Latte.FrontEnd.MainFunctionPresenceSpec.spec
    describe "Function name duplication" Latte.FrontEnd.FunctionNameDuplicationSpec.spec
    describe "Type check" Latte.FrontEnd.TypeCheckSpec.spec
    describe "Are variables/names declared" Latte.FrontEnd.VariableDeclaredSpec.spec

