module Main where
import Puppet.DSL.Parser
import Puppet.DSL.Types
import Text.Parsec
testcases =
[ ("5 + 3 * 2", PlusOperation (Value $ Integer 5) (MultiplyOperation (Value $ Integer 3) (Value $ Integer 2)) )
, ("5+2 == 7", EqualOperation ( PlusOperation (Value $ Integer 5) (Value $ Integer 2) ) (Value $ Integer 7) )
]
main :: IO ()
main = do
let testres = map (\(t,v) -> (runParser exprparser () "test" t, v)) testcases
badstuff = filter (\(Right r,t) -> r /= t) testres
if (null badstuff)
then return ()
else do
print badstuff
error "fail"