Added some tests for checking that constants can't be assigned to in Rain
This commit is contained in:
parent
7830d82c51
commit
b316a7d3f4
|
@ -238,6 +238,11 @@ checkExpressionTest = TestList
|
||||||
,failAssign 3105 "xu8" (Var "x8")
|
,failAssign 3105 "xu8" (Var "x8")
|
||||||
,passAssign 3106 "x" (Cast A.Int64 $ int A.Int8 0) (int A.Int8 0)
|
,passAssign 3106 "x" (Cast A.Int64 $ int A.Int8 0) (int A.Int8 0)
|
||||||
|
|
||||||
|
-- Assignment with constants:
|
||||||
|
,failAssign 3200 "X" (Var "x")
|
||||||
|
,failAssign 3201 "X" (Var "X")
|
||||||
|
,failAssign 3202 "X" (Var "xu8")
|
||||||
|
|
||||||
--Conditionals:
|
--Conditionals:
|
||||||
,passWhileIfSame 4000 $ Var "b"
|
,passWhileIfSame 4000 $ Var "b"
|
||||||
,passWhileIfSame 4001 $ Mon A.MonadicNot $ Var "b"
|
,passWhileIfSame 4001 $ Mon A.MonadicNot $ Var "b"
|
||||||
|
@ -250,6 +255,8 @@ checkExpressionTest = TestList
|
||||||
--Communication:
|
--Communication:
|
||||||
,testAllCheckCommTypes 5000
|
,testAllCheckCommTypes 5000
|
||||||
|
|
||||||
|
-- TODO check not being able to read into a constant variable
|
||||||
|
|
||||||
--Time types:
|
--Time types:
|
||||||
,fail 6000 $ Dy (Var "t") A.Plus (Var "x")
|
,fail 6000 $ Dy (Var "t") A.Plus (Var "x")
|
||||||
,fail 6001 $ Dy (Var "x") A.Minus (Var "t")
|
,fail 6001 $ Dy (Var "x") A.Minus (Var "t")
|
||||||
|
@ -439,6 +446,7 @@ checkExpressionTest = TestList
|
||||||
|
|
||||||
state :: State CompState ()
|
state :: State CompState ()
|
||||||
state = do defVar "x" A.Int64
|
state = do defVar "x" A.Int64
|
||||||
|
defineConst "X" A.Int64 $ intLiteral 3
|
||||||
defVar "b" A.Bool
|
defVar "b" A.Bool
|
||||||
defVar "xu8" A.Byte
|
defVar "xu8" A.Byte
|
||||||
defVar "xu16" A.UInt16
|
defVar "xu16" A.UInt16
|
||||||
|
|
Loading…
Reference in New Issue
Block a user