aboutsummaryrefslogtreecommitdiff
path: root/bootstrap/unit_test
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/unit_test')
-rw-r--r--bootstrap/unit_test/ModuleSourceConstructionTest.hs17
1 files changed, 14 insertions, 3 deletions
diff --git a/bootstrap/unit_test/ModuleSourceConstructionTest.hs b/bootstrap/unit_test/ModuleSourceConstructionTest.hs
index cc6d079..fae7c89 100644
--- a/bootstrap/unit_test/ModuleSourceConstructionTest.hs
+++ b/bootstrap/unit_test/ModuleSourceConstructionTest.hs
@@ -9,7 +9,9 @@ import BuildModel ( RawSource(..)
)
import Hedge ( Result
, Test
+ , assertEquals
, assertThat
+ , fail'
, givenInput
, then'
, whenTransformed
@@ -20,9 +22,13 @@ test :: IO (Test ())
test = return $ givenInput
"a module"
exampleModule
- [ whenTransformed "processed to a source"
- processRawSource
- [then' "it is a Module" checkIsModule]
+ [ whenTransformed
+ "processed to a source"
+ processRawSource
+ [ then' "it is a Module" checkIsModule
+ , then' "its source file name is the same as the original"
+ checkModuleSourceFileName
+ ]
]
exampleModule :: RawSource
@@ -35,3 +41,8 @@ moduleSourceFileName' = "some" </> "file" </> "somewhere.f90"
checkIsModule :: Source -> Result
checkIsModule Module{} = assertThat True
checkIsModule _ = assertThat False
+
+checkModuleSourceFileName :: Source -> Result
+checkModuleSourceFileName m@(Module{}) =
+ assertEquals moduleSourceFileName' $ moduleSourceFileName m
+checkModuleSourceFileName _ = fail' "wasn't a Module"