diff options
Diffstat (limited to 'bootstrap/unit_test/SubmoduleSourceConstructionTest.hs')
-rw-r--r-- | bootstrap/unit_test/SubmoduleSourceConstructionTest.hs | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/bootstrap/unit_test/SubmoduleSourceConstructionTest.hs b/bootstrap/unit_test/SubmoduleSourceConstructionTest.hs deleted file mode 100644 index d07a6ed..0000000 --- a/bootstrap/unit_test/SubmoduleSourceConstructionTest.hs +++ /dev/null @@ -1,79 +0,0 @@ -module SubmoduleSourceConstructionTest - ( test - ) -where - -import BuildModel ( RawSource(..) - , Source(..) - , processRawSource - ) -import Hedge ( Result - , Test - , assertEquals - , assertThat - , fail' - , givenInput - , then' - , whenTransformed - ) -import System.FilePath ( (</>) ) - -test :: IO (Test ()) -test = return $ givenInput - "a submodule" - exampleSubmodule - [ whenTransformed - "processed to a source" - processRawSource - [ then' "it is a Submodule" checkIsSubmodule - , then' "its source file name is the same as the original" - checkSubmoduleSourceFileName - , then' - "its object file name is the 'flattened' path of the source file with '.o' appeneded" - checkSubmoduleObjectFileName - , then' "it knows what modules it uses directly" checkSubmoduleModulesUsed - , then' "it knows its parent's name" checkSubmoduleParentName - , then' "it knows its name" checkSubmoduleName - ] - ] - -exampleSubmodule :: RawSource -exampleSubmodule = RawSource submoduleSourceFileName' $ unlines - [ "submodule (some_module:parent) child" - , " use module1" - , " USE MODULE2" - , " implicit none" - , "end submodule" - ] - -submoduleSourceFileName' :: String -submoduleSourceFileName' = "some" </> "file" </> "somewhere.f90" - -checkIsSubmodule :: Source -> Result -checkIsSubmodule Submodule{} = assertThat True -checkIsSubmodule _ = assertThat False - -checkSubmoduleSourceFileName :: Source -> Result -checkSubmoduleSourceFileName s@(Submodule{}) = - assertEquals submoduleSourceFileName' $ submoduleSourceFileName s -checkSubmoduleSourceFileName _ = fail' "wasn't a Submodule" - -checkSubmoduleObjectFileName :: Source -> Result -checkSubmoduleObjectFileName s@(Submodule{}) = - assertEquals ("." </> "some_file_somewhere.f90.o") - $ (submoduleObjectFileName s) "." -checkSubmoduleObjectFileName _ = fail' "wasn't a Submodule" - -checkSubmoduleModulesUsed :: Source -> Result -checkSubmoduleModulesUsed s@(Submodule{}) = - assertEquals ["module1", "module2"] $ submoduleModulesUsed s -checkSubmoduleModulesUsed _ = fail' "wasn't a Submodule" - -checkSubmoduleParentName :: Source -> Result -checkSubmoduleParentName s@(Submodule{}) = - assertEquals "some_module@parent" (submoduleParentName s) -checkSubmoduleParentName _ = fail' "wasn't a Submodule" - -checkSubmoduleName :: Source -> Result -checkSubmoduleName s@(Submodule{}) = assertEquals "child" $ submoduleName s -checkSubmoduleName _ = fail' "wasn't a Submodule" |