aboutsummaryrefslogtreecommitdiffstats
path: root/test/Unit.hs
diff options
context:
space:
mode:
Diffstat (limited to 'test/Unit.hs')
-rw-r--r--test/Unit.hs134
1 files changed, 71 insertions, 63 deletions
diff --git a/test/Unit.hs b/test/Unit.hs
index f761c68..9cc75fb 100644
--- a/test/Unit.hs
+++ b/test/Unit.hs
@@ -1,101 +1,109 @@
module Unit
- ( unitTests
- )
+ ( unitTests,
+ )
where
-import Control.Lens
-import Data.List.NonEmpty (NonEmpty (..))
-import Parser (parseUnitTests)
-import Reduce (reduceUnitTests)
-import Test.Tasty
-import Test.Tasty.HUnit
-import Verismith
+import Control.Lens
+import Data.List.NonEmpty (NonEmpty (..))
+import Parser (parseUnitTests)
+import Reduce (reduceUnitTests)
+import Test.Tasty
+import Test.Tasty.HUnit
+import Verismith
unitTests :: TestTree
-unitTests = testGroup
+unitTests =
+ testGroup
"Unit tests"
- [ testCase "Transformation of AST" $ assertEqual
- "Successful transformation"
- transformExpectedResult
- (transform trans transformTestData)
- , parseUnitTests
- , reduceUnitTests
+ [ testCase "Transformation of AST" $
+ assertEqual
+ "Successful transformation"
+ transformExpectedResult
+ (transform trans transformTestData),
+ parseUnitTests,
+ reduceUnitTests
]
transformTestData :: Expr
-transformTestData = BinOp
- (BinOp (BinOp (Id "id1") BinAnd (Id "id2"))
- BinAnd
- (BinOp (Id "id1") BinAnd (Id "id2"))
+transformTestData =
+ BinOp
+ ( BinOp
+ (BinOp (Id "id1") BinAnd (Id "id2"))
+ BinAnd
+ (BinOp (Id "id1") BinAnd (Id "id2"))
)
BinAnd
- (BinOp
- (BinOp
+ ( BinOp
+ ( BinOp
(BinOp (Id "id1") BinAnd (Id "id2"))
BinAnd
- (BinOp
+ ( BinOp
(Id "id1")
BinAnd
- (BinOp (BinOp (Id "id1") BinAnd (Id "id2"))
- BinAnd
- (BinOp (Id "id1") BinAnd (Id "id2"))
+ ( BinOp
+ (BinOp (Id "id1") BinAnd (Id "id2"))
+ BinAnd
+ (BinOp (Id "id1") BinAnd (Id "id2"))
)
)
)
BinOr
- ( Concat
- $ ( Concat
- $ (Concat $ (Id "id1") :| [Id "id2", Id "id2"])
- :| [ Id "id2"
- , Id "id2"
- , ( Concat
- $ (Id "id2")
- :| [Id "id2", (Concat $ Id "id1" :| [Id "id2"])]
- )
- , Id "id2"
- ]
- )
- :| [Id "id1", Id "id2"]
+ ( Concat $
+ ( Concat $
+ (Concat $ (Id "id1") :| [Id "id2", Id "id2"])
+ :| [ Id "id2",
+ Id "id2",
+ ( Concat $
+ (Id "id2")
+ :| [Id "id2", (Concat $ Id "id1" :| [Id "id2"])]
+ ),
+ Id "id2"
+ ]
+ )
+ :| [Id "id1", Id "id2"]
)
)
transformExpectedResult :: Expr
-transformExpectedResult = BinOp
- (BinOp (BinOp (Id "id1") BinAnd (Id "Replaced"))
- BinAnd
- (BinOp (Id "id1") BinAnd (Id "Replaced"))
+transformExpectedResult =
+ BinOp
+ ( BinOp
+ (BinOp (Id "id1") BinAnd (Id "Replaced"))
+ BinAnd
+ (BinOp (Id "id1") BinAnd (Id "Replaced"))
)
BinAnd
- (BinOp
- (BinOp
+ ( BinOp
+ ( BinOp
(BinOp (Id "id1") BinAnd (Id "Replaced"))
BinAnd
- (BinOp
+ ( BinOp
(Id "id1")
BinAnd
- (BinOp (BinOp (Id "id1") BinAnd (Id "Replaced"))
- BinAnd
- (BinOp (Id "id1") BinAnd (Id "Replaced"))
+ ( BinOp
+ (BinOp (Id "id1") BinAnd (Id "Replaced"))
+ BinAnd
+ (BinOp (Id "id1") BinAnd (Id "Replaced"))
)
)
)
BinOr
- ( Concat
- $ ( Concat
- $ (Concat $ (Id "id1") :| [Id "Replaced", Id "Replaced"])
- :| [ Id "Replaced"
- , Id "Replaced"
- , Concat
- $ Id "Replaced"
- :| [Id "Replaced", Concat $ Id "id1" :| [Id "Replaced"]]
- , Id "Replaced"
- ]
- )
- :| [Id "id1", Id "Replaced"]
+ ( Concat $
+ ( Concat $
+ (Concat $ (Id "id1") :| [Id "Replaced", Id "Replaced"])
+ :| [ Id "Replaced",
+ Id "Replaced",
+ Concat $
+ Id "Replaced"
+ :| [Id "Replaced", Concat $ Id "id1" :| [Id "Replaced"]],
+ Id "Replaced"
+ ]
+ )
+ :| [Id "id1", Id "Replaced"]
)
)
trans :: Expr -> Expr
trans e = case e of
- Id i -> if i == Identifier "id2" then Id $ Identifier "Replaced" else Id i
- _ -> e
+ Id i -> if i == Identifier "id2" then Id $ Identifier "Replaced" else Id i
+ _ -> e