module Test.If where import Test.Hspec import Test.Helpers testIf = do shouldBe (testStatement "if (1) x = 1") "Right (SIf (LP (LN \"1\")) (SExp (Assignment \"=\" (LI \"x\") (LN \"1\"))) Nothing)" shouldBe (testStatement "if (1)\nx = 1") "Right (SIf (LP (LN \"1\")) (SExp (Assignment \"=\" (LI \"x\") (LN \"1\"))) Nothing)" shouldBe (testStatement "if (1) {x = 1}") "Right (SIf (LP (LN \"1\")) (SBlock [SExp (Assignment \"=\" (LI \"x\") (LN \"1\"))]) Nothing)" shouldBe (testStatement "if (1) {x = 1} else x = 2") "Right (SIf (LP (LN \"1\")) (SBlock [SExp (Assignment \"=\" (LI \"x\") (LN \"1\"))]) (Just (SExp (Assignment \"=\" (LI \"x\") (LN \"2\")))))" shouldBe (testStatement "if (a in [1, 2]) {}") "Right (SIf (LP (Operation \"in\" (LI \"a\") (LA [LN \"1\",LN \"2\"]))) (SBlock []) Nothing)"