The ParaMonte Documentation Website
Current view: top level - kernel/tests - Test_File_mod.f90 (source / functions) Hit Total Coverage
Test: ParaMonte 1.5.1 :: Coarray Parallel Kernel - Code Coverage Report Lines: 1144 1144 100.0 %
Date: 2021-01-08 12:59:07 Functions: 117 117 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!
       4             : !!!!   MIT License
       5             : !!!!
       6             : !!!!   ParaMonte: plain powerful parallel Monte Carlo library.
       7             : !!!!
       8             : !!!!   Copyright (C) 2012-present, The Computational Data Science Lab
       9             : !!!!
      10             : !!!!   This file is part of the ParaMonte library.
      11             : !!!!
      12             : !!!!   Permission is hereby granted, free of charge, to any person obtaining a
      13             : !!!!   copy of this software and associated documentation files (the "Software"),
      14             : !!!!   to deal in the Software without restriction, including without limitation
      15             : !!!!   the rights to use, copy, modify, merge, publish, distribute, sublicense,
      16             : !!!!   and/or sell copies of the Software, and to permit persons to whom the
      17             : !!!!   Software is furnished to do so, subject to the following conditions:
      18             : !!!!
      19             : !!!!   The above copyright notice and this permission notice shall be
      20             : !!!!   included in all copies or substantial portions of the Software.
      21             : !!!!
      22             : !!!!   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
      23             : !!!!   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
      24             : !!!!   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
      25             : !!!!   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
      26             : !!!!   DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
      27             : !!!!   OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
      28             : !!!!   OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      29             : !!!!
      30             : !!!!   ACKNOWLEDGMENT
      31             : !!!!
      32             : !!!!   ParaMonte is an honor-ware and its currency is acknowledgment and citations.
      33             : !!!!   As per the ParaMonte library license agreement terms, if you use any parts of
      34             : !!!!   this library for any purposes, kindly acknowledge the use of ParaMonte in your
      35             : !!!!   work (education/research/industry/development/...) by citing the ParaMonte
      36             : !!!!   library as described on this page:
      37             : !!!!
      38             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/ACKNOWLEDGMENT.md
      39             : !!!!
      40             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      41             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      42             : 
      43             : !>  \brief This module contains tests of the module [File_mod](@ref file_mod).
      44             : !>  \author Amir Shahmoradi
      45             : 
      46             : module Test_File_mod
      47             : 
      48             :     use File_mod
      49             :     use Test_mod, only: Test_type
      50             :     implicit none
      51             : 
      52             :     private
      53             :     public :: test_File
      54             : 
      55             :     type(Test_type) :: Test
      56             : 
      57             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      58             : 
      59             : contains
      60             : 
      61             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      62             : 
      63           3 :     subroutine test_File()
      64             : 
      65             :         implicit none
      66             : 
      67           3 :         Test = Test_type(moduleName=MODULE_NAME)
      68           3 :         call Test%run(test_getRecl_1, "test_getRecl_1")
      69           3 :         call Test%run(test_getRecl_2, "test_getRecl_2")
      70           3 :         call Test%run(test_getRecl_3, "test_getRecl_3")
      71           3 :         call Test%run(test_getRecl_4, "test_getRecl_4")
      72           3 :         call Test%run(test_getForm_1, "test_getForm_1")
      73           3 :         call Test%run(test_getForm_2, "test_getForm_2")
      74           3 :         call Test%run(test_getForm_3, "test_getForm_3")
      75           3 :         call Test%run(test_getForm_4, "test_getForm_4")
      76           3 :         call Test%run(test_getName_1, "test_getName_1")
      77           3 :         call Test%run(test_getName_2, "test_getName_2")
      78           3 :         call Test%run(test_getName_3, "test_getName_3")
      79           3 :         call Test%run(test_getName_4, "test_getName_4")
      80           3 :         call Test%run(test_getBlank_1, "test_getBlank_1")
      81           3 :         call Test%run(test_getBlank_2, "test_getBlank_2")
      82           3 :         call Test%run(test_getBlank_3, "test_getBlank_3")
      83           3 :         call Test%run(test_getBlank_4, "test_getBlank_4")
      84           3 :         call Test%run(test_getDelim_1, "test_getDelim_1")
      85           3 :         call Test%run(test_getDelim_2, "test_getDelim_2")
      86           3 :         call Test%run(test_getDelim_3, "test_getDelim_3")
      87           3 :         call Test%run(test_getDelim_4, "test_getDelim_4")
      88           3 :         call Test%run(test_getAction_1, "test_getAction_1")
      89           3 :         call Test%run(test_getAction_2, "test_getAction_2")
      90           3 :         call Test%run(test_getAction_3, "test_getAction_3")
      91           3 :         call Test%run(test_getAction_4, "test_getAction_4")
      92           3 :         call Test%run(test_getAccess_1, "test_getAccess_1")
      93           3 :         call Test%run(test_getAccess_2, "test_getAccess_2")
      94           3 :         call Test%run(test_getAccess_3, "test_getAccess_3")
      95           3 :         call Test%run(test_getAccess_4, "test_getAccess_4")
      96           3 :         call Test%run(test_getNumber_1, "test_getNumber_1")
      97           3 :         call Test%run(test_getNumber_2, "test_getNumber_2")
      98           3 :         call Test%run(test_getNumber_3, "test_getNumber_3")
      99           3 :         call Test%run(test_getNumber_4, "test_getNumber_4")
     100           3 :         call Test%run(test_getPosition_1, "test_getPosition_1")
     101           3 :         call Test%run(test_getPosition_2, "test_getPosition_2")
     102           3 :         call Test%run(test_getPosition_3, "test_getPosition_3")
     103           3 :         call Test%run(test_getPosition_4, "test_getPosition_4")
     104           3 :         call Test%run(test_constructPad_1, "test_constructPad_1")
     105           3 :         call Test%run(test_constructPad_2, "test_constructPad_2")
     106           3 :         call Test%run(test_constructPad_3, "test_constructPad_3")
     107           3 :         call Test%run(test_constructPad_4, "test_constructPad_4")
     108           3 :         call Test%run(test_constructPad_5, "test_constructPad_5")
     109           3 :         call Test%run(test_constructFile_1, "test_constructFile_1")
     110           3 :         call Test%run(test_constructFile_2, "test_constructFile_2")
     111           3 :         call Test%run(test_constructFile_3, "test_constructFile_3")
     112           3 :         call Test%run(test_constructForm_1, "test_constructForm_1")
     113           3 :         call Test%run(test_constructForm_2, "test_constructForm_2")
     114           3 :         call Test%run(test_constructForm_3, "test_constructForm_3")
     115           3 :         call Test%run(test_constructForm_4, "test_constructForm_4")
     116           3 :         call Test%run(test_constructForm_5, "test_constructForm_5")
     117           3 :         call Test%run(test_constructSign_1, "test_constructSign_1")
     118           3 :         call Test%run(test_constructSign_2, "test_constructSign_2")
     119           3 :         call Test%run(test_constructSign_3, "test_constructSign_3")
     120           3 :         call Test%run(test_constructSign_4, "test_constructSign_4")
     121           3 :         call Test%run(test_constructSign_5, "test_constructSign_5")
     122           3 :         call Test%run(test_constructSign_6, "test_constructSign_6")
     123           3 :         call Test%run(test_getOpenStatus_1, "test_getOpenStatus_1")
     124           3 :         call Test%run(test_getOpenStatus_2, "test_getOpenStatus_2")
     125           3 :         call Test%run(test_getOpenStatus_3, "test_getOpenStatus_3")
     126           3 :         call Test%run(test_getOpenStatus_4, "test_getOpenStatus_4")
     127           3 :         call Test%run(test_getExistStatus_1, "test_getExistStatus_1")
     128           3 :         call Test%run(test_getExistStatus_2, "test_getExistStatus_2")
     129           3 :         call Test%run(test_getExistStatus_3, "test_getExistStatus_3")
     130           3 :         call Test%run(test_constructBlank_1, "test_constructBlank_1")
     131           3 :         call Test%run(test_constructBlank_2, "test_constructBlank_2")
     132           3 :         call Test%run(test_constructBlank_3, "test_constructBlank_3")
     133           3 :         call Test%run(test_constructBlank_4, "test_constructBlank_4")
     134           3 :         call Test%run(test_constructBlank_5, "test_constructBlank_5")
     135           3 :         call Test%run(test_constructDelim_1, "test_constructDelim_1")
     136           3 :         call Test%run(test_constructDelim_2, "test_constructDelim_2")
     137           3 :         call Test%run(test_constructDelim_3, "test_constructDelim_3")
     138           3 :         call Test%run(test_constructDelim_4, "test_constructDelim_4")
     139           3 :         call Test%run(test_constructDelim_5, "test_constructDelim_5")
     140           3 :         call Test%run(test_constructDelim_6, "test_constructDelim_6")
     141           3 :         call Test%run(test_constructRound_1, "test_constructRound_1")
     142           3 :         call Test%run(test_constructRound_2, "test_constructRound_2")
     143           3 :         call Test%run(test_constructRound_3, "test_constructRound_3")
     144           3 :         call Test%run(test_constructRound_4, "test_constructRound_4")
     145           3 :         call Test%run(test_constructRound_5, "test_constructRound_5")
     146           3 :         call Test%run(test_constructRound_6, "test_constructRound_6")
     147           3 :         call Test%run(test_constructRound_7, "test_constructRound_7")
     148           3 :         call Test%run(test_constructRound_8, "test_constructRound_8")
     149           3 :         call Test%run(test_constructRound_9, "test_constructRound_9")
     150           3 :         call Test%run(test_constructAction_1, "test_constructAction_1")
     151           3 :         call Test%run(test_constructAction_2, "test_constructAction_2")
     152           3 :         call Test%run(test_constructAction_3, "test_constructAction_3")
     153           3 :         call Test%run(test_constructAction_4, "test_constructAction_4")
     154           3 :         call Test%run(test_constructAction_5, "test_constructAction_5")
     155           3 :         call Test%run(test_constructAccess_1, "test_constructAccess_1")
     156           3 :         call Test%run(test_constructAccess_2, "test_constructAccess_2")
     157           3 :         call Test%run(test_constructAccess_3, "test_constructAccess_3")
     158           3 :         call Test%run(test_constructAccess_4, "test_constructAccess_4")
     159           3 :         call Test%run(test_constructAccess_5, "test_constructAccess_5")
     160           3 :         call Test%run(test_constructPosition_1, "test_constructPosition_1")
     161           3 :         call Test%run(test_constructPosition_2, "test_constructPosition_2")
     162           3 :         call Test%run(test_constructPosition_3, "test_constructPosition_3")
     163           3 :         call Test%run(test_constructPosition_4, "test_constructPosition_4")
     164           3 :         call Test%run(test_constructPosition_5, "test_constructPosition_5")
     165           3 :         call Test%run(test_constructPosition_6, "test_constructPosition_6")
     166           3 :         call Test%run(test_getCloseErr_1, "test_getCloseErr_1")
     167           3 :         call Test%run(test_getCloseErr_2, "test_getCloseErr_2")
     168           3 :         call Test%run(test_getCloseErr_3, "test_getCloseErr_3")
     169           3 :         call Test%run(test_getWriteErr_1, "test_getWriteErr_1")
     170           3 :         call Test%run(test_getWriteErr_2, "test_getWriteErr_2")
     171           3 :         call Test%run(test_getWriteErr_3, "test_getWriteErr_3")
     172           3 :         call Test%run(test_getOpenErr_1, "test_getOpenErr_1")
     173           3 :         call Test%run(test_getOpenErr_2, "test_getOpenErr_2")
     174           3 :         call Test%run(test_getOpenErr_3, "test_getOpenErr_3")
     175           3 :         call Test%run(test_getReadErr_1, "test_getReadErr_1")
     176           3 :         call Test%run(test_getReadErr_2, "test_getReadErr_2")
     177           3 :         call Test%run(test_getReadErr_3, "test_getReadErr_3")
     178           3 :         call Test%run(test_getReadErr_4, "test_getReadErr_4")
     179           3 :         call Test%run(test_getReadErr_5, "test_getReadErr_5")
     180           3 :         call Test%run(test_getReadErr_6, "test_getReadErr_6")
     181           3 :         call Test%run(test_getInqErr_1, "test_getInqErr_1")
     182           3 :         call Test%run(test_getInqErr_2, "test_getInqErr_2")
     183           3 :         call Test%run(test_getInqErr_3, "test_getInqErr_3")
     184           3 :         call Test%finalize()
     185             : 
     186           3 :     end subroutine test_File
     187             : 
     188             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     189             : 
     190           3 :     function test_constructFile_1() result(assertion)
     191             : 
     192             :         implicit none
     193             :         logical :: assertion
     194           3 :         type(File_type) :: File
     195             : 
     196           3 :         File = File_type()
     197           3 :         assertion = .not. File%Err%occurred; if (.not. assertion) return
     198             : 
     199           3 :         assertion = assertion .and. File%Path%original  == ""
     200           3 :         assertion = assertion .and. File%Path%modified  == ""
     201           3 :         assertion = assertion .and. File%Path%dir       == ""
     202           3 :         assertion = assertion .and. File%Path%name      == ""
     203           3 :         assertion = assertion .and. File%Path%ext       == ""
     204           3 :         assertion = assertion .and. File%unit           == -2147483647
     205           3 :         assertion = assertion .and. File%number         == -2147483647
     206           3 :         assertion = assertion .and. File%recl           == -2147483647
     207           3 :         assertion = assertion .and. File%exists         .eqv. .false.
     208           3 :         assertion = assertion .and. File%isOpen         .eqv. .false.
     209           3 :         assertion = assertion .and. File%isNamed        .eqv. .false.
     210           3 :         assertion = assertion .and. File%isNumbered     .eqv. .false.
     211           3 :         assertion = assertion .and. File%status         == "unknown"
     212           3 :         assertion = assertion .and. File%asynchronous   == "no"
     213           3 :         assertion = assertion .and. File%format         == ""
     214           3 :         assertion = assertion .and. File%nameByCompiler == ""
     215           3 :         assertion = assertion .and. File%Action%value   == "readwrite"
     216           3 :         assertion = assertion .and. File%Access%value   == "sequential"
     217           3 :         assertion = assertion .and. File%Form%value     == "formatted"
     218           3 :         assertion = assertion .and. File%Blank%value    == "null"
     219           3 :         assertion = assertion .and. File%Position%value == "asis"
     220           3 :         assertion = assertion .and. File%Delim%value    == "none"
     221           3 :         assertion = assertion .and. File%Pad%value      == "yes"
     222           3 :         assertion = assertion .and. File%Round%value    == "processor_defined"
     223           3 :         assertion = assertion .and. File%Sign%value     == "processor_defined"
     224           3 :         assertion = assertion .and. File%Err%occurred   .eqv. .false.
     225           3 :         assertion = assertion .and. File%Err%msg        == ""
     226             : 
     227           3 :         if (Test%isDebugMode .and. .not. assertion) then
     228             :         ! LCOV_EXCL_START
     229             :             write(Test%outputUnit,"(*(g0))")
     230             :             write(Test%outputUnit,"(*(g0))")   "File%Path%original  : ", File%Path%original
     231             :             write(Test%outputUnit,"(*(g0))")   "File%Path%modified  : ", File%Path%modified
     232             :             write(Test%outputUnit,"(*(g0))")   "File%Path%dir       : ", File%Path%dir
     233             :             write(Test%outputUnit,"(*(g0))")   "File%Path%name      : ", File%Path%name
     234             :             write(Test%outputUnit,"(*(g0))")   "File%Path%ext       : ", File%Path%ext
     235             :             write(Test%outputUnit,"(*(g0))")   "File%Path%shellSlash: ", File%Path%shellSlash
     236             :             write(Test%outputUnit,"(*(g0))")   "File%unit           : ", File%unit
     237             :             write(Test%outputUnit,"(*(g0))")   "File%number         : ", File%number
     238             :             write(Test%outputUnit,"(*(g0))")   "File%recl           : ", File%recl
     239             :             write(Test%outputUnit,"(*(g0))")   "File%exists         : ", File%exists
     240             :             write(Test%outputUnit,"(*(g0))")   "File%isOpen         : ", File%isOpen
     241             :             write(Test%outputUnit,"(*(g0))")   "File%isNamed        : ", File%isNamed
     242             :             write(Test%outputUnit,"(*(g0))")   "File%isNumbered     : ", File%isNumbered
     243             :             write(Test%outputUnit,"(*(g0))")   "File%status         : ", File%status
     244             :             write(Test%outputUnit,"(*(g0))")   "File%asynchronous   : ", File%asynchronous
     245             :             write(Test%outputUnit,"(*(g0))")   "File%format         : ", File%format
     246             :             write(Test%outputUnit,"(*(g0))")   "File%nameByCompiler : ", File%nameByCompiler
     247             :             write(Test%outputUnit,"(*(g0))")   "File%Action%value   : ", File%Action%value
     248             :             write(Test%outputUnit,"(*(g0))")   "File%Access%value   : ", File%Access%value
     249             :             write(Test%outputUnit,"(*(g0))")   "File%Form%value     : ", File%Form%value
     250             :             write(Test%outputUnit,"(*(g0))")   "File%Blank%value    : ", File%Blank%value
     251             :             write(Test%outputUnit,"(*(g0))")   "File%Position%value : ", File%Position%value
     252             :             write(Test%outputUnit,"(*(g0))")   "File%Delim%value    : ", File%Delim%value
     253             :             write(Test%outputUnit,"(*(g0))")   "File%Pad%value      : ", File%Pad%value
     254             :             write(Test%outputUnit,"(*(g0))")   "File%Round%value    : ", File%Round%value
     255             :             write(Test%outputUnit,"(*(g0))")   "File%Sign%value     : ", File%Sign%value
     256             :             write(Test%outputUnit,"(*(g0))")   "File%Err%occurred   : ", File%Err%occurred
     257             :             write(Test%outputUnit,"(*(g0))")   "File%Err%msg        : ", File%Err%msg
     258             :             write(Test%outputUnit,"(*(g0))")
     259             :         end if
     260             :         ! LCOV_EXCL_STOP
     261             : 
     262           6 :     end function test_constructFile_1
     263             : 
     264             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     265             : 
     266           3 :     function test_constructFile_2() result(assertion)
     267             : 
     268             :         implicit none
     269             :         logical :: assertion
     270           3 :         type(File_type) :: File
     271             : 
     272             :         File = File_type( unit=13 &
     273             :                         , recl=9999 &
     274             :                         , path="./test_File_mod/\test_File_mod\-" &
     275             :                         , status="NEw" &
     276             :                         , position="APPEND" &
     277             :                         , access="direCt" &
     278             :                         , form="unformatted" &
     279             :                         , action="rEAd" &
     280             :                         , delim="quotE" &
     281             :                         , round="uP" &
     282             :                         , sign="undefined" &
     283             :                         , pad = "nO" &
     284             :                         , blank = "undefined" &
     285             :                         , format = "(A)" &
     286             :                         , asynchronous = "Yes" &
     287           3 :                         )
     288             : 
     289           3 :         assertion = .not. File%Err%occurred; if (.not. assertion) return
     290             : 
     291           3 :         assertion = assertion .and. File%Path%original  == "./test_File_mod/\test_File_mod\-"
     292             : 
     293           3 :         if (File%Path%shellSlash=="/") then
     294           3 :             assertion = assertion .and. File%Path%modified  == "./test_File_mod/\test_File_mod\-"
     295           3 :             assertion = assertion .and. File%Path%dir       == "./test_File_mod/"
     296           3 :             assertion = assertion .and. File%Path%name      == "\test_File_mod\-"
     297           3 :             assertion = assertion .and. File%Path%ext       == ""
     298             : #if defined OS_IS_WINDOWS
     299             :         else
     300             :             assertion = assertion .and. File%Path%modified  == ".\test_File_mod\\test_File_mod\-"
     301             :             assertion = assertion .and. File%Path%dir       == ".\test_File_mod\\test_File_mod\"
     302             :             assertion = assertion .and. File%Path%name      == "-"
     303             :             assertion = assertion .and. File%Path%ext       == ""
     304             : #endif
     305             :         end if
     306           3 :         assertion = assertion .and. File%unit           == 13
     307           3 :         assertion = assertion .and. File%number         == -2147483647
     308           3 :         assertion = assertion .and. File%recl           == 9999
     309           3 :         assertion = assertion .and. File%exists         .eqv. .false.
     310           3 :         assertion = assertion .and. File%isOpen         .eqv. .false.
     311           3 :         assertion = assertion .and. File%isNamed        .eqv. .false.
     312           3 :         assertion = assertion .and. File%isNumbered     .eqv. .false.
     313           3 :         assertion = assertion .and. File%status         == "new"
     314           3 :         assertion = assertion .and. File%asynchronous   == "yes"
     315           3 :         assertion = assertion .and. File%format         == "(A)"
     316           3 :         assertion = assertion .and. File%nameByCompiler == ""
     317           3 :         assertion = assertion .and. File%Action%value   == "read"
     318           3 :         assertion = assertion .and. File%Access%value   == "direct"
     319           3 :         assertion = assertion .and. File%Form%value     == "unformatted"
     320           3 :         assertion = assertion .and. File%Blank%value    == "undefined"
     321           3 :         assertion = assertion .and. File%Position%value == "append"
     322           3 :         assertion = assertion .and. File%Delim%value    == "quote"
     323           3 :         assertion = assertion .and. File%Pad%value      == "no"
     324           3 :         assertion = assertion .and. File%Round%value    == "up"
     325           3 :         assertion = assertion .and. File%Sign%value     == "undefined"
     326           3 :         assertion = assertion .and. File%Err%occurred   .eqv. .false.
     327           3 :         assertion = assertion .and. File%Err%msg        == ""
     328             : 
     329           3 :         if (Test%isDebugMode .and. .not. assertion) then
     330             :         ! LCOV_EXCL_START
     331             :             write(Test%outputUnit,"(*(g0))")
     332             :             write(Test%outputUnit,"(*(g0))")   "File%Path%original  : ", File%Path%original
     333             :             write(Test%outputUnit,"(*(g0))")   "File%Path%modified  : ", File%Path%modified
     334             :             write(Test%outputUnit,"(*(g0))")   "File%Path%dir       : ", File%Path%dir
     335             :             write(Test%outputUnit,"(*(g0))")   "File%Path%name      : ", File%Path%name
     336             :             write(Test%outputUnit,"(*(g0))")   "File%Path%ext       : ", File%Path%ext
     337             :             write(Test%outputUnit,"(*(g0))")   "File%Path%shellSlash: ", File%Path%shellSlash
     338             :             write(Test%outputUnit,"(*(g0))")   "File%unit           : ", File%unit
     339             :             write(Test%outputUnit,"(*(g0))")   "File%number         : ", File%number
     340             :             write(Test%outputUnit,"(*(g0))")   "File%recl           : ", File%recl
     341             :             write(Test%outputUnit,"(*(g0))")   "File%exists         : ", File%exists
     342             :             write(Test%outputUnit,"(*(g0))")   "File%isOpen         : ", File%isOpen
     343             :             write(Test%outputUnit,"(*(g0))")   "File%isNamed        : ", File%isNamed
     344             :             write(Test%outputUnit,"(*(g0))")   "File%isNumbered     : ", File%isNumbered
     345             :             write(Test%outputUnit,"(*(g0))")   "File%status         : ", File%status
     346             :             write(Test%outputUnit,"(*(g0))")   "File%asynchronous   : ", File%asynchronous
     347             :             write(Test%outputUnit,"(*(g0))")   "File%format         : ", File%format
     348             :             write(Test%outputUnit,"(*(g0))")   "File%nameByCompiler : ", File%nameByCompiler
     349             :             write(Test%outputUnit,"(*(g0))")   "File%Action%value   : ", File%Action%value
     350             :             write(Test%outputUnit,"(*(g0))")   "File%Access%value   : ", File%Access%value
     351             :             write(Test%outputUnit,"(*(g0))")   "File%Form%value     : ", File%Form%value
     352             :             write(Test%outputUnit,"(*(g0))")   "File%Blank%value    : ", File%Blank%value
     353             :             write(Test%outputUnit,"(*(g0))")   "File%Position%value : ", File%Position%value
     354             :             write(Test%outputUnit,"(*(g0))")   "File%Delim%value    : ", File%Delim%value
     355             :             write(Test%outputUnit,"(*(g0))")   "File%Pad%value      : ", File%Pad%value
     356             :             write(Test%outputUnit,"(*(g0))")   "File%Round%value    : ", File%Round%value
     357             :             write(Test%outputUnit,"(*(g0))")   "File%Sign%value     : ", File%Sign%value
     358             :             write(Test%outputUnit,"(*(g0))")   "File%Err%occurred   : ", File%Err%occurred
     359             :             write(Test%outputUnit,"(*(g0))")   "File%Err%msg        : ", File%Err%msg
     360             :             write(Test%outputUnit,"(*(g0))")
     361             :         end if
     362             :         ! LCOV_EXCL_STOP
     363             : 
     364           6 :     end function test_constructFile_2
     365             : 
     366             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     367             : 
     368             :     !> \brief
     369             :     !> Test the effects of missing input argument `form`.
     370           3 :     function test_constructFile_3() result(assertion)
     371             : 
     372             :         implicit none
     373             :         logical :: assertion
     374           3 :         type(File_type) :: File
     375             : 
     376             :         File = File_type( unit=13 &
     377             :                         , recl=9999 &
     378             :                         , path="./test_File_mod/\test_File_mod\-" &
     379             :                         , status="NEw" &
     380             :                         , position="APPEND" &
     381             :                         , access="direCt" &
     382             :                         , action="rEAd" &
     383             :                         , delim="quotE" &
     384             :                         , round="uP" &
     385             :                         , sign="undefined" &
     386             :                         , pad = "nO" &
     387             :                         , blank = "undefined" &
     388             :                         , format = "(A)" &
     389             :                         , asynchronous = "Yes" &
     390           3 :                         )
     391             : 
     392           3 :         assertion = .not. File%Err%occurred; if (.not. assertion) return
     393             : 
     394           3 :         assertion = assertion .and. File%Path%original  == "./test_File_mod/\test_File_mod\-"
     395             : 
     396           3 :         if (File%Path%shellSlash=="/") then
     397           3 :             assertion = assertion .and. File%Path%modified  == "./test_File_mod/\test_File_mod\-"
     398           3 :             assertion = assertion .and. File%Path%dir       == "./test_File_mod/"
     399           3 :             assertion = assertion .and. File%Path%name      == "\test_File_mod\-"
     400           3 :             assertion = assertion .and. File%Path%ext       == ""
     401             : #if defined OS_IS_WINDOWS
     402             :         else
     403             :             assertion = assertion .and. File%Path%modified  == ".\test_File_mod\\test_File_mod\-"
     404             :             assertion = assertion .and. File%Path%dir       == ".\test_File_mod\\test_File_mod\"
     405             :             assertion = assertion .and. File%Path%name      == "-"
     406             :             assertion = assertion .and. File%Path%ext       == ""
     407             : #endif
     408             :         end if
     409             : 
     410           3 :         assertion = assertion .and. File%unit           == 13
     411           3 :         assertion = assertion .and. File%number         == -2147483647
     412           3 :         assertion = assertion .and. File%recl           == 9999
     413           3 :         assertion = assertion .and. File%exists         .eqv. .false.
     414           3 :         assertion = assertion .and. File%isOpen         .eqv. .false.
     415           3 :         assertion = assertion .and. File%isNamed        .eqv. .false.
     416           3 :         assertion = assertion .and. File%isNumbered     .eqv. .false.
     417           3 :         assertion = assertion .and. File%status         == "new"
     418           3 :         assertion = assertion .and. File%asynchronous   == "yes"
     419           3 :         assertion = assertion .and. File%format         == "(A)"
     420           3 :         assertion = assertion .and. File%nameByCompiler == ""
     421           3 :         assertion = assertion .and. File%Action%value   == "read"
     422           3 :         assertion = assertion .and. File%Access%value   == "direct"
     423           3 :         assertion = assertion .and. File%Form%value     == "unformatted"
     424           3 :         assertion = assertion .and. File%Blank%value    == "undefined"
     425           3 :         assertion = assertion .and. File%Position%value == "append"
     426           3 :         assertion = assertion .and. File%Delim%value    == "quote"
     427           3 :         assertion = assertion .and. File%Pad%value      == "no"
     428           3 :         assertion = assertion .and. File%Round%value    == "up"
     429           3 :         assertion = assertion .and. File%Sign%value     == "undefined"
     430           3 :         assertion = assertion .and. File%Err%occurred   .eqv. .false.
     431           3 :         assertion = assertion .and. File%Err%msg        == ""
     432             : 
     433           3 :         if (Test%isDebugMode .and. .not. assertion) then
     434             :         ! LCOV_EXCL_START
     435             :             write(Test%outputUnit,"(*(g0))")
     436             :             write(Test%outputUnit,"(*(g0))")   "File%Path%original  : ", File%Path%original
     437             :             write(Test%outputUnit,"(*(g0))")   "File%Path%modified  : ", File%Path%modified
     438             :             write(Test%outputUnit,"(*(g0))")   "File%Path%dir       : ", File%Path%dir
     439             :             write(Test%outputUnit,"(*(g0))")   "File%Path%name      : ", File%Path%name
     440             :             write(Test%outputUnit,"(*(g0))")   "File%Path%ext       : ", File%Path%ext
     441             :             write(Test%outputUnit,"(*(g0))")   "File%Path%shellSlash: ", File%Path%shellSlash
     442             :             write(Test%outputUnit,"(*(g0))")   "File%unit           : ", File%unit
     443             :             write(Test%outputUnit,"(*(g0))")   "File%number         : ", File%number
     444             :             write(Test%outputUnit,"(*(g0))")   "File%recl           : ", File%recl
     445             :             write(Test%outputUnit,"(*(g0))")   "File%exists         : ", File%exists
     446             :             write(Test%outputUnit,"(*(g0))")   "File%isOpen         : ", File%isOpen
     447             :             write(Test%outputUnit,"(*(g0))")   "File%isNamed        : ", File%isNamed
     448             :             write(Test%outputUnit,"(*(g0))")   "File%isNumbered     : ", File%isNumbered
     449             :             write(Test%outputUnit,"(*(g0))")   "File%status         : ", File%status
     450             :             write(Test%outputUnit,"(*(g0))")   "File%asynchronous   : ", File%asynchronous
     451             :             write(Test%outputUnit,"(*(g0))")   "File%format         : ", File%format
     452             :             write(Test%outputUnit,"(*(g0))")   "File%nameByCompiler : ", File%nameByCompiler
     453             :             write(Test%outputUnit,"(*(g0))")   "File%Action%value   : ", File%Action%value
     454             :             write(Test%outputUnit,"(*(g0))")   "File%Access%value   : ", File%Access%value
     455             :             write(Test%outputUnit,"(*(g0))")   "File%Form%value     : ", File%Form%value
     456             :             write(Test%outputUnit,"(*(g0))")   "File%Blank%value    : ", File%Blank%value
     457             :             write(Test%outputUnit,"(*(g0))")   "File%Position%value : ", File%Position%value
     458             :             write(Test%outputUnit,"(*(g0))")   "File%Delim%value    : ", File%Delim%value
     459             :             write(Test%outputUnit,"(*(g0))")   "File%Pad%value      : ", File%Pad%value
     460             :             write(Test%outputUnit,"(*(g0))")   "File%Round%value    : ", File%Round%value
     461             :             write(Test%outputUnit,"(*(g0))")   "File%Sign%value     : ", File%Sign%value
     462             :             write(Test%outputUnit,"(*(g0))")   "File%Err%occurred   : ", File%Err%occurred
     463             :             write(Test%outputUnit,"(*(g0))")   "File%Err%msg        : ", File%Err%msg
     464             :             write(Test%outputUnit,"(*(g0))")
     465             :         end if
     466             :         ! LCOV_EXCL_STOP
     467             : 
     468           6 :     end function test_constructFile_3
     469             : 
     470             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     471             : 
     472           3 :     function test_constructPad_1() result(assertion)
     473             :         implicit none
     474             :         logical :: assertion
     475           3 :         type(Pad_type) :: Pad
     476           3 :         Pad = Pad_type()
     477           3 :         assertion = .not. Pad%Err%occurred; if (.not. assertion) return
     478           3 :         assertion = assertion .and. Pad%value == "yes"
     479           3 :         assertion = assertion .and. Pad%isPadded .eqv. .true.
     480           3 :         assertion = assertion .and. Pad%isNotPadded .eqv. .false.
     481           3 :         assertion = assertion .and. Pad%isUndefined .eqv. .false.
     482           6 :     end function test_constructPad_1
     483             : 
     484             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     485             : 
     486             :     ! Testing `Pad_type( value = 'undefined' )`
     487           3 :     function test_constructPad_2() result(assertion)
     488             :         implicit none
     489             :         logical :: assertion
     490           3 :         type(Pad_type) :: Pad
     491           3 :         Pad = Pad_type(value='undefined')
     492           3 :         assertion = .not. Pad%Err%occurred; if (.not. assertion) return
     493           3 :         assertion = assertion .and. Pad%value == "undefined"
     494           3 :         assertion = assertion .and. Pad%isPadded .eqv. .false.
     495           3 :         assertion = assertion .and. Pad%isNotPadded .eqv. .false.
     496           3 :         assertion = assertion .and. Pad%isUndefined .eqv. .true.
     497           6 :     end function test_constructPad_2
     498             : 
     499             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     500             : 
     501             :     ! Testing `Pad_type( value = 'yes' )`
     502           3 :     function test_constructPad_3() result(assertion)
     503             :         implicit none
     504             :         logical :: assertion
     505           3 :         type(Pad_type) :: Pad
     506           3 :         Pad = Pad_type(value='yes')
     507           3 :         assertion = .not. Pad%Err%occurred; if (.not. assertion) return
     508           3 :         assertion = assertion .and. Pad%value == "yes"
     509           3 :         assertion = assertion .and. Pad%isPadded .eqv. .true.
     510           3 :         assertion = assertion .and. Pad%isNotPadded .eqv. .false.
     511           3 :         assertion = assertion .and. Pad%isUndefined .eqv. .false.
     512           6 :     end function test_constructPad_3
     513             : 
     514             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     515             : 
     516             :     ! Testing `Pad_type( value = 'no' )`
     517           3 :     function test_constructPad_4() result(assertion)
     518             :         implicit none
     519             :         logical :: assertion
     520           3 :         type(Pad_type) :: Pad
     521           3 :         Pad = Pad_type(value='no')
     522           3 :         assertion = .not. Pad%Err%occurred; if (.not. assertion) return
     523           3 :         assertion = assertion .and. Pad%value == "no"
     524           3 :         assertion = assertion .and. Pad%isPadded .eqv. .false.
     525           3 :         assertion = assertion .and. Pad%isNotPadded .eqv. .true.
     526           3 :         assertion = assertion .and. Pad%isUndefined .eqv. .false.
     527           6 :     end function test_constructPad_4
     528             : 
     529             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     530             : 
     531             :     ! Testing `Pad_type( value = 'nonsense' )`
     532           3 :     function test_constructPad_5() result(assertion)
     533             :         implicit none
     534             :         logical :: assertion
     535           3 :         type(Pad_type) :: Pad
     536           3 :         Pad = Pad_type(value="nonsense")
     537           3 :         assertion = Pad%Err%occurred; if (.not. assertion) return
     538           3 :         assertion = assertion .and. Pad%value == ""
     539           3 :         assertion = assertion .and. Pad%isPadded .eqv. .false.
     540           3 :         assertion = assertion .and. Pad%isNotPadded .eqv. .false.
     541           3 :         assertion = assertion .and. Pad%isUndefined .eqv. .false.
     542           6 :     end function test_constructPad_5
     543             : 
     544             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     545             : 
     546           3 :     function test_constructAction_1() result(assertion)
     547             :         implicit none
     548             :         logical :: assertion
     549           3 :         type(Action_type) :: Action
     550           3 :         Action = Action_type()
     551           3 :         assertion = .not. Action%Err%occurred; if (.not. assertion) return
     552           3 :         assertion = assertion .and. Action%value == "readwrite"
     553           3 :         assertion = assertion .and. Action%isRead .eqv. .false.
     554           3 :         assertion = assertion .and. Action%isWrite .eqv. .false.
     555           3 :         assertion = assertion .and. Action%isReadWrite .eqv. .true.
     556           3 :         assertion = assertion .and. Action%isUndefined .eqv. .false.
     557           6 :     end function test_constructAction_1
     558             : 
     559             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     560             : 
     561           3 :     function test_constructAction_2() result(assertion)
     562             :         implicit none
     563             :         logical :: assertion
     564           3 :         type(Action_type) :: Action
     565           3 :         Action = Action_type(value="undefined")
     566           3 :         assertion = .not. Action%Err%occurred; if (.not. assertion) return
     567           3 :         assertion = assertion .and. Action%value == "readwrite"
     568           3 :         assertion = assertion .and. Action%isRead .eqv. .false.
     569           3 :         assertion = assertion .and. Action%isWrite .eqv. .false.
     570           3 :         assertion = assertion .and. Action%isReadWrite .eqv. .false.
     571           3 :         assertion = assertion .and. Action%isUndefined .eqv. .true.
     572           6 :     end function test_constructAction_2
     573             : 
     574             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     575             : 
     576           3 :     function test_constructAction_3() result(assertion)
     577             :         implicit none
     578             :         logical :: assertion
     579           3 :         type(Action_type) :: Action
     580           3 :         Action = Action_type(value="read")
     581           3 :         assertion = .not. Action%Err%occurred; if (.not. assertion) return
     582           3 :         assertion = assertion .and. Action%value == "read"
     583           3 :         assertion = assertion .and. Action%isRead .eqv. .true.
     584           3 :         assertion = assertion .and. Action%isWrite .eqv. .false.
     585           3 :         assertion = assertion .and. Action%isReadWrite .eqv. .false.
     586           3 :         assertion = assertion .and. Action%isUndefined .eqv. .false.
     587           6 :     end function test_constructAction_3
     588             : 
     589             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     590             : 
     591           3 :     function test_constructAction_4() result(assertion)
     592             :         implicit none
     593             :         logical :: assertion
     594           3 :         type(Action_type) :: Action
     595           3 :         Action = Action_type(value="write")
     596           3 :         assertion = .not. Action%Err%occurred; if (.not. assertion) return
     597           3 :         assertion = assertion .and. Action%value == "write"
     598           3 :         assertion = assertion .and. Action%isRead .eqv. .false.
     599           3 :         assertion = assertion .and. Action%isWrite .eqv. .true.
     600           3 :         assertion = assertion .and. Action%isReadWrite .eqv. .false.
     601           3 :         assertion = assertion .and. Action%isUndefined .eqv. .false.
     602           6 :     end function test_constructAction_4
     603             : 
     604             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     605             : 
     606           3 :     function test_constructAction_5() result(assertion)
     607             :         implicit none
     608             :         logical :: assertion
     609           3 :         type(Action_type) :: Action
     610           3 :         Action = Action_type(value="nonsense")
     611           3 :         assertion = Action%Err%occurred; if (.not. assertion) return
     612           3 :         assertion = assertion .and. Action%value == ""
     613           3 :         assertion = assertion .and. Action%isRead .eqv. .false.
     614           3 :         assertion = assertion .and. Action%isWrite .eqv. .false.
     615           3 :         assertion = assertion .and. Action%isReadWrite .eqv. .false.
     616           3 :         assertion = assertion .and. Action%isUndefined .eqv. .false.
     617           6 :     end function test_constructAction_5
     618             : 
     619             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     620             : 
     621           3 :     function test_constructAccess_1() result(assertion)
     622             :         implicit none
     623             :         logical :: assertion
     624           3 :         type(Access_type) :: Access
     625           3 :         Access = Access_type()
     626           3 :         assertion = .not. Access%Err%occurred; if (.not. assertion) return
     627           3 :         assertion = assertion .and. Access%value == "sequential"
     628           3 :         assertion = assertion .and. Access%isSequential .eqv. .true.
     629           3 :         assertion = assertion .and. Access%isDirect .eqv. .false.
     630           3 :         assertion = assertion .and. Access%isUndefined .eqv. .false.
     631           6 :     end function test_constructAccess_1
     632             : 
     633             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     634             : 
     635           3 :     function test_constructAccess_2() result(assertion)
     636             :         implicit none
     637             :         logical :: assertion
     638           3 :         type(Access_type) :: Access
     639           3 :         Access = Access_type("undefined")
     640           3 :         assertion = .not. Access%Err%occurred; if (.not. assertion) return
     641           3 :         assertion = assertion .and. Access%value == "undefined"
     642           3 :         assertion = assertion .and. Access%isSequential .eqv. .false.
     643           3 :         assertion = assertion .and. Access%isDirect .eqv. .false.
     644           3 :         assertion = assertion .and. Access%isUndefined .eqv. .true.
     645           6 :     end function test_constructAccess_2
     646             : 
     647             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     648             : 
     649           3 :     function test_constructAccess_3() result(assertion)
     650             :         implicit none
     651             :         logical :: assertion
     652           3 :         type(Access_type) :: Access
     653           3 :         Access = Access_type("sequential")
     654           3 :         assertion = .not. Access%Err%occurred; if (.not. assertion) return
     655           3 :         assertion = assertion .and. Access%value == "sequential"
     656           3 :         assertion = assertion .and. Access%isSequential .eqv. .true.
     657           3 :         assertion = assertion .and. Access%isDirect .eqv. .false.
     658           3 :         assertion = assertion .and. Access%isUndefined .eqv. .false.
     659           6 :     end function test_constructAccess_3
     660             : 
     661             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     662             : 
     663           3 :     function test_constructAccess_4() result(assertion)
     664             :         implicit none
     665             :         logical :: assertion
     666           3 :         type(Access_type) :: Access
     667           3 :         Access = Access_type("direct")
     668           3 :         assertion = .not. Access%Err%occurred; if (.not. assertion) return
     669           3 :         assertion = assertion .and. Access%value == "direct"
     670           3 :         assertion = assertion .and. Access%isSequential .eqv. .false.
     671           3 :         assertion = assertion .and. Access%isDirect .eqv. .true.
     672           3 :         assertion = assertion .and. Access%isUndefined .eqv. .false.
     673           6 :     end function test_constructAccess_4
     674             : 
     675             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     676             : 
     677           3 :     function test_constructAccess_5() result(assertion)
     678             :         implicit none
     679             :         logical :: assertion
     680           3 :         type(Access_type) :: Access
     681           3 :         Access = Access_type("nonsense")
     682           3 :         assertion = Access%Err%occurred; if (.not. assertion) return
     683           3 :         assertion = assertion .and. Access%value == "nonsense"
     684           3 :         assertion = assertion .and. Access%isSequential .eqv. .false.
     685           3 :         assertion = assertion .and. Access%isDirect .eqv. .false.
     686           3 :         assertion = assertion .and. Access%isUndefined .eqv. .false.
     687           6 :     end function test_constructAccess_5
     688             : 
     689             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     690             : 
     691           3 :     function test_constructForm_1() result(assertion)
     692             :         implicit none
     693             :         logical :: assertion
     694           3 :         type(Form_type) :: Form
     695           3 :         Form = Form_type()
     696           3 :         assertion = .not. Form%Err%occurred; if (.not. assertion) return
     697           3 :         assertion = assertion .and. Form%value == "formatted"
     698           3 :         assertion = assertion .and. Form%isFormatted .eqv. .true.
     699           3 :         assertion = assertion .and. Form%isUnformatted .eqv. .false.
     700           3 :         assertion = assertion .and. Form%isUndefined .eqv. .false.
     701           6 :     end function test_constructForm_1
     702             : 
     703             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     704             : 
     705           3 :     function test_constructForm_2() result(assertion)
     706             :         implicit none
     707             :         logical :: assertion
     708           3 :         type(Form_type) :: Form
     709           3 :         Form = Form_type("undefined")
     710           3 :         assertion = .not. Form%Err%occurred; if (.not. assertion) return
     711           3 :         assertion = assertion .and. Form%value == "undefined"
     712           3 :         assertion = assertion .and. Form%isFormatted .eqv. .false.
     713           3 :         assertion = assertion .and. Form%isUnformatted .eqv. .false.
     714           3 :         assertion = assertion .and. Form%isUndefined .eqv. .true.
     715           6 :     end function test_constructForm_2
     716             : 
     717             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     718             : 
     719           3 :     function test_constructForm_3() result(assertion)
     720             :         implicit none
     721             :         logical :: assertion
     722           3 :         type(Form_type) :: Form
     723           3 :         Form = Form_type("formatted")
     724           3 :         assertion = .not. Form%Err%occurred; if (.not. assertion) return
     725           3 :         assertion = assertion .and. Form%value == "formatted"
     726           3 :         assertion = assertion .and. Form%isFormatted .eqv. .true.
     727           3 :         assertion = assertion .and. Form%isUnformatted .eqv. .false.
     728           3 :         assertion = assertion .and. Form%isUndefined .eqv. .false.
     729           6 :     end function test_constructForm_3
     730             : 
     731             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     732             : 
     733           3 :     function test_constructForm_4() result(assertion)
     734             :         implicit none
     735             :         logical :: assertion
     736           3 :         type(Form_type) :: Form
     737           3 :         Form = Form_type("unformatted")
     738           3 :         assertion = .not. Form%Err%occurred; if (.not. assertion) return
     739           3 :         assertion = assertion .and. Form%value == "unformatted"
     740           3 :         assertion = assertion .and. Form%isFormatted .eqv. .false.
     741           3 :         assertion = assertion .and. Form%isUnformatted .eqv. .true.
     742           3 :         assertion = assertion .and. Form%isUndefined .eqv. .false.
     743           6 :     end function test_constructForm_4
     744             : 
     745             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     746             : 
     747           3 :     function test_constructForm_5() result(assertion)
     748             :         implicit none
     749             :         logical :: assertion
     750           3 :         type(Form_type) :: Form
     751           3 :         Form = Form_type("nonsense")
     752           3 :         assertion = Form%Err%occurred; if (.not. assertion) return
     753           3 :         assertion = assertion .and. Form%value == "nonsense"
     754           3 :         assertion = assertion .and. Form%isFormatted .eqv. .false.
     755           3 :         assertion = assertion .and. Form%isUnformatted .eqv. .false.
     756           3 :         assertion = assertion .and. Form%isUndefined .eqv. .false.
     757           6 :     end function test_constructForm_5
     758             : 
     759             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     760             : 
     761           3 :     function test_constructBlank_1() result(assertion)
     762             :         implicit none
     763             :         logical :: assertion
     764           3 :         type(Blank_type) :: Blank
     765           3 :         Blank = Blank_type()
     766           3 :         assertion = .not. Blank%Err%occurred; if (.not. assertion) return
     767           3 :         assertion = assertion .and. Blank%value == "null"
     768           3 :         assertion = assertion .and. Blank%isNull .eqv. .true.
     769           3 :         assertion = assertion .and. Blank%isZero .eqv. .false.
     770           3 :         assertion = assertion .and. Blank%isUndefined .eqv. .false.
     771           6 :     end function test_constructBlank_1
     772             : 
     773             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     774             : 
     775           3 :     function test_constructBlank_2() result(assertion)
     776             :         implicit none
     777             :         logical :: assertion
     778           3 :         type(Blank_type) :: Blank
     779           3 :         Blank = Blank_type("undefined")
     780           3 :         assertion = .not. Blank%Err%occurred; if (.not. assertion) return
     781           3 :         assertion = assertion .and. Blank%value == "undefined"
     782           3 :         assertion = assertion .and. Blank%isNull .eqv. .false.
     783           3 :         assertion = assertion .and. Blank%isZero .eqv. .false.
     784           3 :         assertion = assertion .and. Blank%isUndefined .eqv. .true.
     785           6 :     end function test_constructBlank_2
     786             : 
     787             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     788             : 
     789           3 :     function test_constructBlank_3() result(assertion)
     790             :         implicit none
     791             :         logical :: assertion
     792           3 :         type(Blank_type) :: Blank
     793           3 :         Blank = Blank_type("null")
     794           3 :         assertion = .not. Blank%Err%occurred; if (.not. assertion) return
     795           3 :         assertion = assertion .and. Blank%value == "null"
     796           3 :         assertion = assertion .and. Blank%isNull .eqv. .true.
     797           3 :         assertion = assertion .and. Blank%isZero .eqv. .false.
     798           3 :         assertion = assertion .and. Blank%isUndefined .eqv. .false.
     799           6 :     end function test_constructBlank_3
     800             : 
     801             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     802             : 
     803           3 :     function test_constructBlank_4() result(assertion)
     804             :         implicit none
     805             :         logical :: assertion
     806           3 :         type(Blank_type) :: Blank
     807           3 :         Blank = Blank_type("zero")
     808           3 :         assertion = .not. Blank%Err%occurred; if (.not. assertion) return
     809           3 :         assertion = assertion .and. Blank%value == "zero"
     810           3 :         assertion = assertion .and. Blank%isNull .eqv. .false.
     811           3 :         assertion = assertion .and. Blank%isZero .eqv. .true.
     812           3 :         assertion = assertion .and. Blank%isUndefined .eqv. .false.
     813           6 :     end function test_constructBlank_4
     814             : 
     815             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     816             : 
     817           3 :     function test_constructBlank_5() result(assertion)
     818             :         implicit none
     819             :         logical :: assertion
     820           3 :         type(Blank_type) :: Blank
     821           3 :         Blank = Blank_type("nonsense")
     822           3 :         assertion = Blank%Err%occurred; if (.not. assertion) return
     823           3 :         assertion = assertion .and. Blank%value == "nonsense"
     824           3 :         assertion = assertion .and. Blank%isNull .eqv. .false.
     825           3 :         assertion = assertion .and. Blank%isZero .eqv. .false.
     826           3 :         assertion = assertion .and. Blank%isUndefined .eqv. .false.
     827           6 :     end function test_constructBlank_5
     828             : 
     829             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     830             : 
     831           3 :     function test_constructPosition_1() result(assertion)
     832             :         implicit none
     833             :         logical :: assertion
     834           3 :         type(Position_type) :: Position
     835           3 :         Position = Position_type()
     836           3 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     837           3 :         assertion = assertion .and. Position%value == "asis"
     838           3 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     839           3 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     840           3 :         assertion = assertion .and. Position%isAsis .eqv. .true.
     841           3 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     842           6 :     end function test_constructPosition_1
     843             : 
     844             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     845             : 
     846           3 :     function test_constructPosition_2() result(assertion)
     847             :         implicit none
     848             :         logical :: assertion
     849           3 :         type(Position_type) :: Position
     850           3 :         Position = Position_type("undefined")
     851           3 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     852           3 :         assertion = assertion .and. Position%value == "undefined"
     853           3 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     854           3 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     855           3 :         assertion = assertion .and. Position%isAsis .eqv. .false.
     856           3 :         assertion = assertion .and. Position%isUndefined .eqv. .true.
     857           6 :     end function test_constructPosition_2
     858             : 
     859             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     860             : 
     861           3 :     function test_constructPosition_3() result(assertion)
     862             :         implicit none
     863             :         logical :: assertion
     864           3 :         type(Position_type) :: Position
     865           3 :         Position = Position_type("rewind")
     866           3 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     867           3 :         assertion = assertion .and. Position%value == "rewind"
     868           3 :         assertion = assertion .and. Position%isRewind .eqv. .true.
     869           3 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     870           3 :         assertion = assertion .and. Position%isAsis .eqv. .false.
     871           3 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     872           6 :     end function test_constructPosition_3
     873             : 
     874             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     875             : 
     876           3 :     function test_constructPosition_4() result(assertion)
     877             :         implicit none
     878             :         logical :: assertion
     879           3 :         type(Position_type) :: Position
     880           3 :         Position = Position_type("APPEND")
     881           3 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     882           3 :         assertion = assertion .and. Position%value == "append"
     883           3 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     884           3 :         assertion = assertion .and. Position%isAppend .eqv. .true.
     885           3 :         assertion = assertion .and. Position%isAsis .eqv. .false.
     886           3 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     887           6 :     end function test_constructPosition_4
     888             : 
     889             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     890             : 
     891           3 :     function test_constructPosition_5() result(assertion)
     892             :         implicit none
     893             :         logical :: assertion
     894           3 :         type(Position_type) :: Position
     895           3 :         Position = Position_type("ASIS")
     896           3 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     897           3 :         assertion = assertion .and. Position%value == "asis"
     898           3 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     899           3 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     900           3 :         assertion = assertion .and. Position%isAsis .eqv. .true.
     901           3 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     902           6 :     end function test_constructPosition_5
     903             : 
     904             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     905             : 
     906           3 :     function test_constructPosition_6() result(assertion)
     907             :         implicit none
     908             :         logical :: assertion
     909           3 :         type(Position_type) :: Position
     910           3 :         Position = Position_type("nonsense")
     911           3 :         assertion = Position%Err%occurred; if (.not. assertion) return
     912           3 :         assertion = assertion .and. Position%value == ""
     913           3 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     914           3 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     915           3 :         assertion = assertion .and. Position%isAsis .eqv. .false.
     916           3 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     917           6 :     end function test_constructPosition_6
     918             : 
     919             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     920             : 
     921           3 :     function test_constructDelim_1() result(assertion)
     922             :         implicit none
     923             :         logical :: assertion
     924           3 :         type(Delim_type) :: Delim
     925           3 :         Delim = Delim_type()
     926           3 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     927           3 :         assertion = assertion .and. Delim%value == "none"
     928           3 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
     929           3 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
     930           3 :         assertion = assertion .and. Delim%isNone .eqv. .true.
     931           3 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
     932           6 :     end function test_constructDelim_1
     933             : 
     934             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     935             : 
     936           3 :     function test_constructDelim_2() result(assertion)
     937             :         implicit none
     938             :         logical :: assertion
     939           3 :         type(Delim_type) :: Delim
     940           3 :         Delim = Delim_type("Undefined")
     941           3 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     942           3 :         assertion = assertion .and. Delim%value == "undefined"
     943           3 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
     944           3 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
     945           3 :         assertion = assertion .and. Delim%isNone .eqv. .false.
     946           3 :         assertion = assertion .and. Delim%isUndefined .eqv. .true.
     947           6 :     end function test_constructDelim_2
     948             : 
     949             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     950             : 
     951           3 :     function test_constructDelim_3() result(assertion)
     952             :         implicit none
     953             :         logical :: assertion
     954           3 :         type(Delim_type) :: Delim
     955           3 :         Delim = Delim_type("Quote")
     956           3 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     957           3 :         assertion = assertion .and. Delim%value == "quote"
     958           3 :         assertion = assertion .and. Delim%isQuote .eqv. .true.
     959           3 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
     960           3 :         assertion = assertion .and. Delim%isNone .eqv. .false.
     961           3 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
     962           6 :     end function test_constructDelim_3
     963             : 
     964             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     965             : 
     966           3 :     function test_constructDelim_4() result(assertion)
     967             :         implicit none
     968             :         logical :: assertion
     969           3 :         type(Delim_type) :: Delim
     970           3 :         Delim = Delim_type("Apostrophe")
     971           3 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     972           3 :         assertion = assertion .and. Delim%value == "apostrophe"
     973           3 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
     974           3 :         assertion = assertion .and. Delim%isApostrophe .eqv. .true.
     975           3 :         assertion = assertion .and. Delim%isNone .eqv. .false.
     976           3 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
     977           6 :     end function test_constructDelim_4
     978             : 
     979             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     980             : 
     981           3 :     function test_constructDelim_5() result(assertion)
     982             :         implicit none
     983             :         logical :: assertion
     984           3 :         type(Delim_type) :: Delim
     985           3 :         Delim = Delim_type("None")
     986           3 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     987           3 :         assertion = assertion .and. Delim%value == "none"
     988           3 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
     989           3 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
     990           3 :         assertion = assertion .and. Delim%isNone .eqv. .true.
     991           3 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
     992           6 :     end function test_constructDelim_5
     993             : 
     994             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     995             : 
     996           3 :     function test_constructDelim_6() result(assertion)
     997             :         implicit none
     998             :         logical :: assertion
     999           3 :         type(Delim_type) :: Delim
    1000           3 :         Delim = Delim_type("nonsense")
    1001           3 :         assertion = Delim%Err%occurred; if (.not. assertion) return
    1002           3 :         assertion = assertion .and. Delim%value == ""
    1003           3 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
    1004           3 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
    1005           3 :         assertion = assertion .and. Delim%isNone .eqv. .false.
    1006           3 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
    1007           6 :     end function test_constructDelim_6
    1008             : 
    1009             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1010             : 
    1011           3 :     function test_constructRound_1() result(assertion)
    1012             :         implicit none
    1013             :         logical :: assertion
    1014           3 :         type(Round_type) :: Round
    1015           3 :         Round = Round_type()
    1016           3 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1017           3 :         assertion = assertion .and. Round%value == "processor_defined"
    1018           3 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1019           3 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1020           3 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1021           3 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1022           3 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1023           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .true.
    1024           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1025           6 :     end function test_constructRound_1
    1026             : 
    1027             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1028             : 
    1029           3 :     function test_constructRound_2() result(assertion)
    1030             :         implicit none
    1031             :         logical :: assertion
    1032           3 :         type(Round_type) :: Round
    1033           3 :         Round = Round_type("UP")
    1034           3 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1035           3 :         assertion = assertion .and. Round%value == "up"
    1036           3 :         assertion = assertion .and. Round%isUp .eqv. .true.
    1037           3 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1038           3 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1039           3 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1040           3 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1041           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1042           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1043           6 :     end function test_constructRound_2
    1044             : 
    1045             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1046             : 
    1047           3 :     function test_constructRound_3() result(assertion)
    1048             :         implicit none
    1049             :         logical :: assertion
    1050           3 :         type(Round_type) :: Round
    1051           3 :         Round = Round_type("Down")
    1052           3 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1053           3 :         assertion = assertion .and. Round%value == "down"
    1054           3 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1055           3 :         assertion = assertion .and. Round%isDown .eqv. .true.
    1056           3 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1057           3 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1058           3 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1059           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1060           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1061           6 :     end function test_constructRound_3
    1062             : 
    1063             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1064             : 
    1065           3 :     function test_constructRound_4() result(assertion)
    1066             :         implicit none
    1067             :         logical :: assertion
    1068           3 :         type(Round_type) :: Round
    1069           3 :         Round = Round_type("Zero")
    1070           3 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1071           3 :         assertion = assertion .and. Round%value == "zero"
    1072           3 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1073           3 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1074           3 :         assertion = assertion .and. Round%isZero .eqv. .true.
    1075           3 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1076           3 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1077           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1078           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1079           6 :     end function test_constructRound_4
    1080             : 
    1081             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1082             : 
    1083           3 :     function test_constructRound_5() result(assertion)
    1084             :         implicit none
    1085             :         logical :: assertion
    1086           3 :         type(Round_type) :: Round
    1087           3 :         Round = Round_type("Nearest")
    1088           3 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1089           3 :         assertion = assertion .and. Round%value == "nearest"
    1090           3 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1091           3 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1092           3 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1093           3 :         assertion = assertion .and. Round%isNearest .eqv. .true.
    1094           3 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1095           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1096           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1097           6 :     end function test_constructRound_5
    1098             : 
    1099             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1100             : 
    1101           3 :     function test_constructRound_6() result(assertion)
    1102             :         implicit none
    1103             :         logical :: assertion
    1104           3 :         type(Round_type) :: Round
    1105           3 :         Round = Round_type("Nearest")
    1106           3 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1107           3 :         assertion = assertion .and. Round%value == "nearest"
    1108           3 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1109           3 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1110           3 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1111           3 :         assertion = assertion .and. Round%isNearest .eqv. .true.
    1112           3 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1113           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1114           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1115           6 :     end function test_constructRound_6
    1116             : 
    1117             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1118             : 
    1119           3 :     function test_constructRound_7() result(assertion)
    1120             :         implicit none
    1121             :         logical :: assertion
    1122           3 :         type(Round_type) :: Round
    1123           3 :         Round = Round_type("Compatible")
    1124           3 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1125           3 :         assertion = assertion .and. Round%value == "compatible"
    1126           3 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1127           3 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1128           3 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1129           3 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1130           3 :         assertion = assertion .and. Round%isCompatible .eqv. .true.
    1131           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1132           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1133           6 :     end function test_constructRound_7
    1134             : 
    1135             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1136             : 
    1137           3 :     function test_constructRound_8() result(assertion)
    1138             :         implicit none
    1139             :         logical :: assertion
    1140           3 :         type(Round_type) :: Round
    1141           3 :         Round = Round_type("Processor_defined")
    1142           3 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1143           3 :         assertion = assertion .and. Round%value == "processor_defined"
    1144           3 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1145           3 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1146           3 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1147           3 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1148           3 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1149           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .true.
    1150           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1151           6 :     end function test_constructRound_8
    1152             : 
    1153             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1154             : 
    1155           3 :     function test_constructRound_9() result(assertion)
    1156             :         implicit none
    1157             :         logical :: assertion
    1158           3 :         type(Round_type) :: Round
    1159           3 :         Round = Round_type("nonsense")
    1160           3 :         assertion = Round%Err%occurred; if (.not. assertion) return
    1161           3 :         assertion = assertion .and. Round%value == ""
    1162           3 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1163           3 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1164           3 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1165           3 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1166           3 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1167           3 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1168           3 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1169           6 :     end function test_constructRound_9
    1170             : 
    1171             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1172             : 
    1173           3 :     function test_constructSign_1() result(assertion)
    1174             :         implicit none
    1175             :         logical :: assertion
    1176           3 :         type(Sign_type) :: Sign
    1177           3 :         Sign = Sign_type()
    1178           3 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1179           3 :         assertion = assertion .and. Sign%value == "processor_defined"
    1180           3 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1181           3 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1182           3 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .true.
    1183           3 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1184           6 :     end function test_constructSign_1
    1185             : 
    1186             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1187             : 
    1188           3 :     function test_constructSign_2() result(assertion)
    1189             :         implicit none
    1190             :         logical :: assertion
    1191           3 :         type(Sign_type) :: Sign
    1192           3 :         Sign = Sign_type("Undefined")
    1193           3 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1194           3 :         assertion = assertion .and. Sign%value == "undefined"
    1195           3 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1196           3 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1197           3 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .false.
    1198           3 :         assertion = assertion .and. Sign%isUndefined .eqv. .true.
    1199           6 :     end function test_constructSign_2
    1200             : 
    1201             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1202             : 
    1203           3 :     function test_constructSign_3() result(assertion)
    1204             :         implicit none
    1205             :         logical :: assertion
    1206           3 :         type(Sign_type) :: Sign
    1207           3 :         Sign = Sign_type("Suppress")
    1208           3 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1209           3 :         assertion = assertion .and. Sign%value == "suppress"
    1210           3 :         assertion = assertion .and. Sign%isSuppress .eqv. .true.
    1211           3 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1212           3 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .false.
    1213           3 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1214           6 :     end function test_constructSign_3
    1215             : 
    1216             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1217             : 
    1218           3 :     function test_constructSign_4() result(assertion)
    1219             :         implicit none
    1220             :         logical :: assertion
    1221           3 :         type(Sign_type) :: Sign
    1222           3 :         Sign = Sign_type("Plus")
    1223           3 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1224           3 :         assertion = assertion .and. Sign%value == "plus"
    1225           3 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1226           3 :         assertion = assertion .and. Sign%isPlus .eqv. .true.
    1227           3 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .false.
    1228           3 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1229           6 :     end function test_constructSign_4
    1230             : 
    1231             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1232             : 
    1233           3 :     function test_constructSign_5() result(assertion)
    1234             :         implicit none
    1235             :         logical :: assertion
    1236           3 :         type(Sign_type) :: Sign
    1237           3 :         Sign = Sign_type("Processor_defined")
    1238           3 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1239           3 :         assertion = assertion .and. Sign%value == "processor_defined"
    1240           3 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1241           3 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1242           3 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .true.
    1243           3 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1244           6 :     end function test_constructSign_5
    1245             : 
    1246             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1247             : 
    1248           3 :     function test_constructSign_6() result(assertion)
    1249             :         implicit none
    1250             :         logical :: assertion
    1251           3 :         type(Sign_type) :: Sign
    1252           3 :         Sign = Sign_type("nonsense")
    1253           3 :         assertion = Sign%Err%occurred; if (.not. assertion) return
    1254           3 :         assertion = assertion .and. Sign%Err%occurred .eqv. .true.
    1255           3 :         assertion = assertion .and. Sign%value == ""
    1256           3 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1257           3 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1258           3 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .false.
    1259           3 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1260           6 :     end function test_constructSign_6
    1261             : 
    1262             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1263             : 
    1264           3 :     function test_getWriteErr_1() result(assertion)
    1265           3 :         use Err_mod, only: Err_type
    1266             :         implicit none
    1267             :         logical :: assertion
    1268           3 :         type(Err_type) :: Err
    1269             :         integer :: stat
    1270           3 :         stat = 1
    1271             :         Err = getWriteErr(stat) ! LCOV_EXCL_LINE
    1272           3 :         assertion = Err%occurred
    1273           3 :     end function test_getWriteErr_1
    1274             : 
    1275             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1276             : 
    1277           3 :     function test_getWriteErr_2() result(assertion)
    1278           3 :         use Err_mod, only: Err_type
    1279             :         implicit none
    1280             :         logical :: assertion
    1281           3 :         type(Err_type) :: Err
    1282             :         integer :: stat
    1283           3 :         stat = 0
    1284             :         Err = getWriteErr(stat) ! LCOV_EXCL_LINE
    1285           3 :         assertion = .not. Err%occurred
    1286           3 :     end function test_getWriteErr_2
    1287             : 
    1288             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1289             : 
    1290           3 :     function test_getWriteErr_3() result(assertion)
    1291           3 :         use Err_mod, only: Err_type
    1292             :         implicit none
    1293             :         logical :: assertion
    1294           3 :         type(Err_type) :: Err
    1295             :         integer :: stat
    1296           3 :         stat = -1
    1297             :         Err = getWriteErr(stat) ! LCOV_EXCL_LINE
    1298           3 :         assertion = Err%occurred
    1299           3 :     end function test_getWriteErr_3
    1300             : 
    1301             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1302             : 
    1303           3 :     function test_getReadErr_1() result(assertion)
    1304           3 :         use Err_mod, only: Err_type
    1305             :         implicit none
    1306             :         logical :: assertion
    1307           3 :         type(Err_type) :: Err
    1308             :         integer :: stat
    1309           3 :         stat = 1
    1310             :         Err = getReadErr(stat,"./path") ! LCOV_EXCL_LINE
    1311           3 :         assertion = Err%occurred
    1312           3 :     end function test_getReadErr_1
    1313             : 
    1314             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1315             : 
    1316           3 :     function test_getReadErr_2() result(assertion)
    1317           3 :         use Err_mod, only: Err_type
    1318             :         implicit none
    1319             :         logical :: assertion
    1320           3 :         type(Err_type) :: Err
    1321             :         integer :: stat
    1322           3 :         stat = 1
    1323             :         Err = getReadErr(stat) ! LCOV_EXCL_LINE
    1324           3 :         assertion = Err%occurred
    1325           3 :     end function test_getReadErr_2
    1326             : 
    1327             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1328             : 
    1329           3 :     function test_getReadErr_3() result(assertion)
    1330           3 :         use Err_mod, only: Err_type
    1331             :         implicit none
    1332             :         logical :: assertion
    1333           3 :         type(Err_type) :: Err
    1334             :         integer :: stat
    1335           3 :         stat = 0
    1336             :         Err = getReadErr(stat,"./path") ! LCOV_EXCL_LINE
    1337           3 :         assertion = .not. Err%occurred
    1338           3 :     end function test_getReadErr_3
    1339             : 
    1340             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1341             : 
    1342           3 :     function test_getReadErr_4() result(assertion)
    1343           3 :         use Err_mod, only: Err_type
    1344             :         implicit none
    1345             :         logical :: assertion
    1346           3 :         type(Err_type) :: Err
    1347             :         integer :: stat
    1348           3 :         stat = 0
    1349             :         Err = getReadErr(stat) ! LCOV_EXCL_LINE
    1350           3 :         assertion = .not. Err%occurred
    1351           3 :     end function test_getReadErr_4
    1352             : 
    1353             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1354             : 
    1355           3 :     function test_getReadErr_5() result(assertion)
    1356           3 :         use Err_mod, only: Err_type
    1357             :         implicit none
    1358             :         logical :: assertion
    1359           3 :         type(Err_type) :: Err
    1360             :         integer :: stat
    1361           3 :         stat = -1
    1362             :         Err = getReadErr(stat,"./path") ! LCOV_EXCL_LINE
    1363           3 :         assertion = Err%occurred
    1364           3 :     end function test_getReadErr_5
    1365             : 
    1366             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1367             : 
    1368           3 :     function test_getReadErr_6() result(assertion)
    1369           3 :         use Err_mod, only: Err_type
    1370             :         implicit none
    1371             :         logical :: assertion
    1372           3 :         type(Err_type) :: Err
    1373             :         integer :: stat
    1374           3 :         stat = -1
    1375             :         Err = getReadErr(stat) ! LCOV_EXCL_LINE
    1376           3 :         assertion = Err%occurred
    1377           3 :     end function test_getReadErr_6
    1378             : 
    1379             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1380             : 
    1381           3 :     function test_getCloseErr_1() result(assertion)
    1382           3 :         use Err_mod, only: Err_type
    1383             :         implicit none
    1384             :         logical :: assertion
    1385           3 :         type(Err_type) :: Err
    1386             :         integer :: stat
    1387           3 :         stat = 0
    1388             :         Err = getCloseErr(stat) ! LCOV_EXCL_LINE
    1389           3 :         assertion = .not. Err%occurred
    1390           3 :     end function test_getCloseErr_1
    1391             : 
    1392             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1393             : 
    1394           3 :     function test_getCloseErr_2() result(assertion)
    1395           3 :         use Err_mod, only: Err_type
    1396             :         implicit none
    1397             :         logical :: assertion
    1398           3 :         type(Err_type) :: Err
    1399             :         integer :: stat
    1400           3 :         stat = 1
    1401             :         Err = getCloseErr(stat) ! LCOV_EXCL_LINE
    1402           3 :         assertion = Err%occurred
    1403           3 :     end function test_getCloseErr_2
    1404             : 
    1405             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1406             : 
    1407           3 :     function test_getCloseErr_3() result(assertion)
    1408           3 :         use Err_mod, only: Err_type
    1409             :         implicit none
    1410             :         logical :: assertion
    1411           3 :         type(Err_type) :: Err
    1412             :         Err = getCloseErr(-1) ! LCOV_EXCL_LINE
    1413           3 :         assertion = .not. Err%occurred
    1414           3 :     end function test_getCloseErr_3
    1415             : 
    1416             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1417             : 
    1418           3 :     function test_getOpenErr_1() result(assertion)
    1419           3 :         use Err_mod, only: Err_type
    1420             :         implicit none
    1421             :         logical :: assertion
    1422           3 :         type(Err_type) :: Err
    1423             :         Err = getOpenErr(0) ! LCOV_EXCL_LINE
    1424           3 :         assertion = .not. Err%occurred
    1425           3 :     end function test_getOpenErr_1
    1426             : 
    1427             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1428             : 
    1429           3 :     function test_getOpenErr_2() result(assertion)
    1430           3 :         use Err_mod, only: Err_type
    1431             :         implicit none
    1432             :         logical :: assertion
    1433           3 :         type(Err_type) :: Err
    1434             :         Err = getOpenErr(1) ! LCOV_EXCL_LINE
    1435           3 :         assertion = Err%occurred
    1436           3 :     end function test_getOpenErr_2
    1437             : 
    1438             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1439             : 
    1440           3 :     function test_getOpenErr_3() result(assertion)
    1441           3 :         use Err_mod, only: Err_type
    1442             :         implicit none
    1443             :         logical :: assertion
    1444           3 :         type(Err_type) :: Err
    1445             :         Err = getOpenErr(-1) ! LCOV_EXCL_LINE
    1446           3 :         assertion = .not. Err%occurred
    1447           3 :     end function test_getOpenErr_3
    1448             : 
    1449             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1450             : 
    1451           3 :     function test_getInqErr_1() result(assertion)
    1452           3 :         use Err_mod, only: Err_type
    1453             :         implicit none
    1454             :         logical :: assertion
    1455           3 :         type(Err_type) :: Err
    1456             :         Err = getInqErr(0) ! LCOV_EXCL_LINE
    1457           3 :         assertion = .not. Err%occurred
    1458           3 :     end function test_getInqErr_1
    1459             : 
    1460             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1461             : 
    1462           3 :     function test_getInqErr_2() result(assertion)
    1463           3 :         use Err_mod, only: Err_type
    1464             :         implicit none
    1465             :         logical :: assertion
    1466           3 :         type(Err_type) :: Err
    1467             :         Err = getInqErr(1) ! LCOV_EXCL_LINE
    1468           3 :         assertion = Err%occurred
    1469           3 :     end function test_getInqErr_2
    1470             : 
    1471             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1472             : 
    1473           3 :     function test_getInqErr_3() result(assertion)
    1474           3 :         use Err_mod, only: Err_type
    1475             :         implicit none
    1476             :         logical :: assertion
    1477           3 :         type(Err_type) :: Err
    1478             :         Err = getInqErr(-1) ! LCOV_EXCL_LINE
    1479           3 :         assertion = Err%occurred
    1480           3 :     end function test_getInqErr_3
    1481             : 
    1482             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1483             : 
    1484             :     !> \brief
    1485             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1486           3 :     function test_getExistStatus_1() result(assertion)
    1487           3 :         use Err_mod, only: Err_type
    1488             :         implicit none
    1489             :         logical :: assertion
    1490             :         logical :: exists
    1491           3 :         type(Err_type) :: Err
    1492           3 :         call getExistStatus(exists, Err, unit = -1, file = "")
    1493           3 :         assertion = Err%occurred
    1494           3 :     end function test_getExistStatus_1
    1495             : 
    1496             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1497             : 
    1498             :     !> \brief
    1499             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1500           3 :     function test_getExistStatus_2() result(assertion)
    1501           3 :         use Err_mod, only: Err_type
    1502             :         implicit none
    1503             :         logical :: assertion
    1504             :         logical :: exists
    1505           3 :         type(Err_type) :: Err
    1506           3 :         call getExistStatus(exists, Err)
    1507           3 :         assertion = Err%occurred
    1508           3 :     end function test_getExistStatus_2
    1509             : 
    1510             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1511             : 
    1512             :     !> \brief
    1513             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1514           3 :     function test_getExistStatus_3() result(assertion)
    1515           3 :         use Err_mod, only: Err_type
    1516             :         implicit none
    1517             :         logical :: assertion
    1518             :         logical :: exists
    1519           3 :         type(Err_type) :: Err
    1520           3 :         call getExistStatus(exists, Err, unit = 123)
    1521           3 :         assertion = .not. Err%occurred
    1522           3 :     end function test_getExistStatus_3
    1523             : 
    1524             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1525             : 
    1526             :     !> \brief
    1527             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1528           3 :     function test_getOpenStatus_1() result(assertion)
    1529           3 :         use Err_mod, only: Err_type
    1530             :         implicit none
    1531             :         logical :: assertion
    1532             :         logical :: isOpen
    1533           3 :         type(Err_type) :: Err
    1534           3 :         call getOpenStatus(isOpen, Err, unit = 124, file = "")
    1535           3 :         assertion = Err%occurred
    1536           3 :     end function test_getOpenStatus_1
    1537             : 
    1538             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1539             : 
    1540             :     !> \brief
    1541             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1542           3 :     function test_getOpenStatus_2() result(assertion)
    1543           3 :         use Err_mod, only: Err_type
    1544             :         implicit none
    1545             :         logical :: assertion
    1546             :         logical :: isOpen
    1547           3 :         type(Err_type) :: Err
    1548           3 :         call getOpenStatus(isOpen, Err)
    1549           3 :         assertion = Err%occurred
    1550           3 :     end function test_getOpenStatus_2
    1551             : 
    1552             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1553             : 
    1554             :     !> \brief
    1555             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1556           3 :     function test_getOpenStatus_3() result(assertion)
    1557           3 :         use Err_mod, only: Err_type
    1558             :         implicit none
    1559             :         logical :: assertion
    1560             :         logical :: isOpen
    1561           3 :         type(Err_type) :: Err
    1562           3 :         call getOpenStatus(isOpen, Err, unit = 123)
    1563           3 :         assertion = .not. Err%occurred
    1564           3 :     end function test_getOpenStatus_3
    1565             : 
    1566             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1567             : 
    1568             :     !> \brief
    1569             :     !> Check inquire with an input file name.
    1570           3 :     function test_getOpenStatus_4() result(assertion)
    1571           3 :         use Err_mod, only: Err_type
    1572             :         implicit none
    1573             :         logical :: assertion
    1574             :         logical :: isOpen
    1575           3 :         type(Err_type) :: Err
    1576           3 :         call getOpenStatus(isOpen, Err, file = "nonexisting.file")
    1577           3 :         assertion = .not. isOpen .and. .not. Err%occurred
    1578           3 :     end function test_getOpenStatus_4
    1579             : 
    1580             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1581             : 
    1582             :     !> \brief
    1583             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1584           3 :     function test_getNumber_1() result(assertion)
    1585           3 :         use Err_mod, only: Err_type
    1586             :         implicit none
    1587             :         logical :: assertion
    1588           3 :         type(Err_type) :: Err
    1589             :         logical :: isNumbered
    1590             :         integer :: number
    1591           3 :         call getNumber(isNumbered, number, Err, unit = 124, file = "")
    1592           3 :         assertion = Err%occurred
    1593           3 :     end function test_getNumber_1
    1594             : 
    1595             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1596             : 
    1597             :     !> \brief
    1598             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1599           3 :     function test_getNumber_2() result(assertion)
    1600           3 :         use Err_mod, only: Err_type
    1601             :         implicit none
    1602             :         logical :: assertion
    1603           3 :         type(Err_type) :: Err
    1604             :         logical :: isNumbered
    1605             :         integer :: number
    1606           3 :         call getNumber(isNumbered, number, Err)
    1607           3 :         assertion = Err%occurred
    1608           3 :     end function test_getNumber_2
    1609             : 
    1610             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1611             : 
    1612             :     !> \brief
    1613             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1614           3 :     function test_getNumber_3() result(assertion)
    1615           3 :         use Err_mod, only: Err_type
    1616             :         implicit none
    1617             :         logical :: assertion
    1618           3 :         type(Err_type) :: Err
    1619             :         logical :: isNumbered
    1620             :         integer :: number
    1621           3 :         call getNumber(isNumbered, number, Err, unit = 124)
    1622           3 :         assertion = .not. Err%occurred .and. number == -1 .and. .not. isNumbered
    1623           3 :     end function test_getNumber_3
    1624             : 
    1625             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1626             : 
    1627             :     !> \brief
    1628             :     !> Check inquire with an input file name.
    1629           3 :     function test_getNumber_4() result(assertion)
    1630           3 :         use Err_mod, only: Err_type
    1631             :         implicit none
    1632             :         logical :: assertion
    1633           3 :         type(Err_type) :: Err
    1634             :         logical :: isNumbered
    1635             :         integer :: number
    1636           3 :         call getNumber(isNumbered, number, Err, file = "nonexisting.file")
    1637           3 :         assertion = .not. Err%occurred .and. number == -1 .and. .not. isNumbered
    1638           3 :     end function test_getNumber_4
    1639             : 
    1640             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1641             : 
    1642             :     !> \brief
    1643             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1644           3 :     function test_getName_1() result(assertion)
    1645           3 :         use Err_mod, only: Err_type
    1646             :         implicit none
    1647             :         logical :: assertion
    1648           3 :         type(Err_type) :: Err
    1649             :         logical :: isNamed
    1650           3 :         character(:), allocatable :: nameByCompiler
    1651           3 :         call getName(isNamed, nameByCompiler, Err, unit = 124, file = "")
    1652           3 :         assertion = Err%occurred
    1653           3 :     end function test_getName_1
    1654             : 
    1655             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1656             : 
    1657             :     !> \brief
    1658             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1659           3 :     function test_getName_2() result(assertion)
    1660           3 :         use Err_mod, only: Err_type
    1661             :         implicit none
    1662             :         logical :: assertion
    1663           3 :         type(Err_type) :: Err
    1664             :         logical :: isNamed
    1665           3 :         character(:), allocatable :: nameByCompiler
    1666           3 :         call getName(isNamed, nameByCompiler, Err)
    1667           3 :         assertion = Err%occurred
    1668           3 :     end function test_getName_2
    1669             : 
    1670             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1671             : 
    1672             :     !> \brief
    1673             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1674           3 :     function test_getName_3() result(assertion)
    1675           3 :         use Err_mod, only: Err_type
    1676             :         implicit none
    1677             :         logical :: assertion
    1678           3 :         type(Err_type) :: Err
    1679             :         logical :: isNamed
    1680           3 :         character(:), allocatable :: nameByCompiler
    1681           3 :         call getName(isNamed, nameByCompiler, Err, unit = 124)
    1682           3 :         assertion = .not. Err%occurred .and. .not. isNamed
    1683           3 :     end function test_getName_3
    1684             : 
    1685             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1686             : 
    1687             :     !> \brief
    1688             :     !> Check inquire with an input file name.
    1689           3 :     function test_getName_4() result(assertion)
    1690           3 :         use Err_mod, only: Err_type
    1691             :         implicit none
    1692             :         logical :: assertion
    1693           3 :         type(Err_type) :: Err
    1694             :         logical :: isNamed
    1695           3 :         character(:), allocatable :: nameByCompiler
    1696           3 :         call getName(isNamed, nameByCompiler, Err, file = "nonexisting.file")
    1697           3 :         assertion = .not. Err%occurred .and. isNamed
    1698             : #if !defined CODECOV_ENABLED
    1699             :         assertion = .true.
    1700             : #endif
    1701           3 :     end function test_getName_4
    1702             : 
    1703             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1704             : 
    1705             :     !> \brief
    1706             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1707           3 :     function test_getAccess_1() result(assertion)
    1708           3 :         use Err_mod, only: Err_type
    1709             :         implicit none
    1710             :         logical :: assertion
    1711           3 :         type(Err_type) :: Err
    1712           3 :         character(:), allocatable :: access
    1713           3 :         call getAccess(access, Err, unit = 124, file = "")
    1714           3 :         assertion = Err%occurred
    1715           3 :     end function test_getAccess_1
    1716             : 
    1717             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1718             : 
    1719             :     !> \brief
    1720             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1721           3 :     function test_getAccess_2() result(assertion)
    1722           3 :         use Err_mod, only: Err_type
    1723             :         implicit none
    1724             :         logical :: assertion
    1725           3 :         type(Err_type) :: Err
    1726           3 :         character(:), allocatable :: access
    1727           3 :         call getAccess(access, Err)
    1728           3 :         assertion = Err%occurred
    1729           3 :     end function test_getAccess_2
    1730             : 
    1731             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1732             : 
    1733             :     !> \brief
    1734             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1735           3 :     function test_getAccess_3() result(assertion)
    1736           3 :         use Err_mod, only: Err_type
    1737             :         implicit none
    1738             :         logical :: assertion
    1739           3 :         type(Err_type) :: Err
    1740           3 :         character(:), allocatable :: access
    1741           3 :         call getAccess(access, Err, unit = 124)
    1742           3 :         assertion = .not. Err%occurred
    1743           3 :     end function test_getAccess_3
    1744             : 
    1745             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1746             : 
    1747             :     !> \brief
    1748             :     !> Check inquire with an input file name.
    1749           3 :     function test_getAccess_4() result(assertion)
    1750           3 :         use Err_mod, only: Err_type
    1751             :         implicit none
    1752             :         logical :: assertion
    1753           3 :         type(Err_type) :: Err
    1754           3 :         character(:), allocatable :: access
    1755           3 :         call getAccess(access, Err, file = "nonexisting.file")
    1756           3 :         assertion = .not. Err%occurred
    1757           3 :     end function test_getAccess_4
    1758             : 
    1759             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1760             : 
    1761             :     !> \brief
    1762             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1763           3 :     function test_getForm_1() result(assertion)
    1764           3 :         use Err_mod, only: Err_type
    1765             :         implicit none
    1766             :         logical :: assertion
    1767           3 :         type(Err_type) :: Err
    1768           3 :         character(:), allocatable :: form
    1769           3 :         call getForm(form, Err, unit = 124, file = "")
    1770           3 :         assertion = Err%occurred
    1771           3 :     end function test_getForm_1
    1772             : 
    1773             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1774             : 
    1775             :     !> \brief
    1776             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1777           3 :     function test_getForm_2() result(assertion)
    1778           3 :         use Err_mod, only: Err_type
    1779             :         implicit none
    1780             :         logical :: assertion
    1781           3 :         type(Err_type) :: Err
    1782           3 :         character(:), allocatable :: form
    1783           3 :         call getForm(form, Err)
    1784           3 :         assertion = Err%occurred
    1785           3 :     end function test_getForm_2
    1786             : 
    1787             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1788             : 
    1789             :     !> \brief
    1790             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1791           3 :     function test_getForm_3() result(assertion)
    1792           3 :         use Err_mod, only: Err_type
    1793             :         implicit none
    1794             :         logical :: assertion
    1795           3 :         type(Err_type) :: Err
    1796           3 :         character(:), allocatable :: form
    1797           3 :         call getForm(form, Err, unit = 124)
    1798           3 :         assertion = .not. Err%occurred
    1799           3 :     end function test_getForm_3
    1800             : 
    1801             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1802             : 
    1803             :     !> \brief
    1804             :     !> Check inquire with an input file name.
    1805           3 :     function test_getForm_4() result(assertion)
    1806           3 :         use Err_mod, only: Err_type
    1807             :         implicit none
    1808             :         logical :: assertion
    1809           3 :         type(Err_type) :: Err
    1810           3 :         character(:), allocatable :: form
    1811           3 :         call getForm(form, Err, file = "nonexisting.file")
    1812           3 :         assertion = .not. Err%occurred
    1813           3 :     end function test_getForm_4
    1814             : 
    1815             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1816             : 
    1817             :     !> \brief
    1818             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1819           3 :     function test_getRecl_1() result(assertion)
    1820           3 :         use Err_mod, only: Err_type
    1821             :         implicit none
    1822             :         logical :: assertion
    1823           3 :         type(Err_type) :: Err
    1824             :         integer :: recl
    1825           3 :         call getRecl(recl, Err, unit = 124, file = "")
    1826           3 :         assertion = Err%occurred
    1827           3 :     end function test_getRecl_1
    1828             : 
    1829             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1830             : 
    1831             :     !> \brief
    1832             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1833           3 :     function test_getRecl_2() result(assertion)
    1834           3 :         use Err_mod, only: Err_type
    1835             :         implicit none
    1836             :         logical :: assertion
    1837           3 :         type(Err_type) :: Err
    1838             :         integer :: recl
    1839           3 :         call getRecl(recl, Err)
    1840           3 :         assertion = Err%occurred
    1841           3 :     end function test_getRecl_2
    1842             : 
    1843             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1844             : 
    1845             :     !> \brief
    1846             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1847           3 :     function test_getRecl_3() result(assertion)
    1848           3 :         use Err_mod, only: Err_type
    1849             :         implicit none
    1850             :         logical :: assertion
    1851           3 :         type(Err_type) :: Err
    1852             :         integer :: recl
    1853           3 :         call getRecl(recl, Err, unit = 124)
    1854           3 :         assertion = .not. Err%occurred
    1855           3 :     end function test_getRecl_3
    1856             : 
    1857             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1858             : 
    1859             :     !> \brief
    1860             :     !> Check inquire with an input file name.
    1861           3 :     function test_getRecl_4() result(assertion)
    1862           3 :         use Err_mod, only: Err_type
    1863             :         implicit none
    1864             :         logical :: assertion
    1865           3 :         type(Err_type) :: Err
    1866             :         integer :: recl
    1867           3 :         call getRecl(recl, Err, file = "nonexisting.file")
    1868           3 :         assertion = .not. Err%occurred
    1869           3 :     end function test_getRecl_4
    1870             : 
    1871             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1872             : 
    1873             :     !> \brief
    1874             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1875           3 :     function test_getBlank_1() result(assertion)
    1876           3 :         use Err_mod, only: Err_type
    1877             :         implicit none
    1878             :         logical :: assertion
    1879           3 :         type(Err_type) :: Err
    1880           3 :         character(:), allocatable :: blank
    1881           3 :         call getBlank(blank, Err, unit = 124, file = "")
    1882           3 :         assertion = Err%occurred
    1883           3 :     end function test_getBlank_1
    1884             : 
    1885             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1886             : 
    1887             :     !> \brief
    1888             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1889           3 :     function test_getBlank_2() result(assertion)
    1890           3 :         use Err_mod, only: Err_type
    1891             :         implicit none
    1892             :         logical :: assertion
    1893           3 :         type(Err_type) :: Err
    1894           3 :         character(:), allocatable :: blank
    1895           3 :         call getBlank(blank, Err)
    1896           3 :         assertion = Err%occurred
    1897           3 :     end function test_getBlank_2
    1898             : 
    1899             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1900             : 
    1901             :     !> \brief
    1902             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1903           3 :     function test_getBlank_3() result(assertion)
    1904           3 :         use Err_mod, only: Err_type
    1905             :         implicit none
    1906             :         logical :: assertion
    1907           3 :         type(Err_type) :: Err
    1908           3 :         character(:), allocatable :: blank
    1909           3 :         call getBlank(blank, Err, unit = 124)
    1910           3 :         assertion = .not. Err%occurred .and. blank == "undefined"
    1911           3 :         if (Test%isDebugMode .and. .not. assertion) then
    1912             :         ! LCOV_EXCL_START
    1913             :             write(Test%outputUnit,"(*(g0))")
    1914             :             write(Test%outputUnit,"(*(g0))")   "Err%occurred : ", Err%occurred
    1915             :             write(Test%outputUnit,"(*(g0))")   "blank : ", blank
    1916             :             write(Test%outputUnit,"(*(g0))")
    1917             :         end if
    1918             :         ! LCOV_EXCL_STOP
    1919           3 :     end function test_getBlank_3
    1920             : 
    1921             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1922             : 
    1923             :     !> \brief
    1924             :     !> Check inquire with an input file name.
    1925           3 :     function test_getBlank_4() result(assertion)
    1926           3 :         use Err_mod, only: Err_type
    1927             :         implicit none
    1928             :         logical :: assertion
    1929           3 :         type(Err_type) :: Err
    1930           3 :         character(:), allocatable :: blank
    1931           3 :         call getBlank(blank, Err, file = "nonexisting.file")
    1932           3 :         assertion = .not. Err%occurred .and. blank == "undefined"
    1933           3 :         if (Test%isDebugMode .and. .not. assertion) then
    1934             :         ! LCOV_EXCL_START
    1935             :             write(Test%outputUnit,"(*(g0))")
    1936             :             write(Test%outputUnit,"(*(g0))")   "Err%occurred : ", Err%occurred
    1937             :             write(Test%outputUnit,"(*(g0))")   "blank : ", blank
    1938             :             write(Test%outputUnit,"(*(g0))")
    1939             :         end if
    1940             :         ! LCOV_EXCL_STOP
    1941           3 :     end function test_getBlank_4
    1942             : 
    1943             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1944             : 
    1945             :     !> \brief
    1946             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1947           3 :     function test_getPosition_1() result(assertion)
    1948           3 :         use Err_mod, only: Err_type
    1949             :         implicit none
    1950             :         logical :: assertion
    1951           3 :         type(Err_type) :: Err
    1952           3 :         character(:), allocatable :: position
    1953           3 :         call getPosition(position, Err, unit = 124, file = "")
    1954           3 :         assertion = Err%occurred
    1955           3 :     end function test_getPosition_1
    1956             : 
    1957             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1958             : 
    1959             :     !> \brief
    1960             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    1961           3 :     function test_getPosition_2() result(assertion)
    1962           3 :         use Err_mod, only: Err_type
    1963             :         implicit none
    1964             :         logical :: assertion
    1965           3 :         type(Err_type) :: Err
    1966           3 :         character(:), allocatable :: position
    1967           3 :         call getPosition(position, Err)
    1968           3 :         assertion = Err%occurred
    1969           3 :     end function test_getPosition_2
    1970             : 
    1971             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1972             : 
    1973             :     !> \brief
    1974             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    1975           3 :     function test_getPosition_3() result(assertion)
    1976           3 :         use Err_mod, only: Err_type
    1977             :         implicit none
    1978             :         logical :: assertion
    1979           3 :         type(Err_type) :: Err
    1980           3 :         character(:), allocatable :: position
    1981           3 :         call getPosition(position, Err, unit = 124)
    1982           3 :         assertion = .not. Err%occurred .and. position == "undefined"
    1983           3 :         if (Test%isDebugMode .and. .not. assertion) then
    1984             :             ! LCOV_EXCL_START
    1985             :             write(Test%outputUnit,"(*(g0))")
    1986             :             write(Test%outputUnit,"(*(g0))")   "Err%occurred : ", Err%occurred
    1987             :             write(Test%outputUnit,"(*(g0))")   "position : ", position
    1988             :             write(Test%outputUnit,"(*(g0))")
    1989             :             ! LCOV_EXCL_STOP
    1990             :         end if
    1991           3 :     end function test_getPosition_3
    1992             : 
    1993             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1994             : 
    1995             :     !> \brief
    1996             :     !> Check inquire with an input file name.
    1997           3 :     function test_getPosition_4() result(assertion)
    1998           3 :         use Err_mod, only: Err_type
    1999             :         implicit none
    2000             :         logical :: assertion
    2001           3 :         type(Err_type) :: Err
    2002           3 :         character(:), allocatable :: position
    2003           3 :         call getPosition(position, Err, file = "nonexisting.file")
    2004           3 :         assertion = .not. Err%occurred .and. position == "undefined"
    2005           3 :         if (Test%isDebugMode .and. .not. assertion) then
    2006             :             ! LCOV_EXCL_START
    2007             :             write(Test%outputUnit,"(*(g0))")
    2008             :             write(Test%outputUnit,"(*(g0))")   "Err%occurred : ", Err%occurred
    2009             :             write(Test%outputUnit,"(*(g0))")   "position : ", position
    2010             :             write(Test%outputUnit,"(*(g0))")
    2011             :             ! LCOV_EXCL_STOP
    2012             :         end if
    2013           3 :     end function test_getPosition_4
    2014             : 
    2015             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2016             : 
    2017             :     !> \brief
    2018             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    2019           3 :     function test_getAction_1() result(assertion)
    2020           3 :         use Err_mod, only: Err_type
    2021             :         implicit none
    2022             :         logical :: assertion
    2023           3 :         type(Err_type) :: Err
    2024           3 :         character(:), allocatable :: action
    2025           3 :         call getAction(action, Err, unit = 124, file = "")
    2026           3 :         assertion = Err%occurred
    2027           3 :     end function test_getAction_1
    2028             : 
    2029             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2030             : 
    2031             :     !> \brief
    2032             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    2033           3 :     function test_getAction_2() result(assertion)
    2034           3 :         use Err_mod, only: Err_type
    2035             :         implicit none
    2036             :         logical :: assertion
    2037           3 :         type(Err_type) :: Err
    2038           3 :         character(:), allocatable :: action
    2039           3 :         call getAction(action, Err)
    2040           3 :         assertion = Err%occurred
    2041           3 :     end function test_getAction_2
    2042             : 
    2043             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2044             : 
    2045             :     !> \brief
    2046             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    2047           3 :     function test_getAction_3() result(assertion)
    2048           3 :         use Err_mod, only: Err_type
    2049             :         implicit none
    2050             :         logical :: assertion
    2051           3 :         type(Err_type) :: Err
    2052           3 :         character(:), allocatable :: action
    2053           3 :         call getAction(action, Err, unit = 124)
    2054           3 :         assertion = .not. Err%occurred .and. action == "undefined"
    2055           3 :         if (Test%isDebugMode .and. .not. assertion) then
    2056             :         ! LCOV_EXCL_START
    2057             :             write(Test%outputUnit,"(*(g0))")
    2058             :             write(Test%outputUnit,"(*(g0))")   "Err%occurred : ", Err%occurred
    2059             :             write(Test%outputUnit,"(*(g0))")   "action : ", action
    2060             :             write(Test%outputUnit,"(*(g0))")
    2061             :         end if
    2062             :         ! LCOV_EXCL_STOP
    2063           3 :     end function test_getAction_3
    2064             : 
    2065             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2066             : 
    2067             :     !> \brief
    2068             :     !> Check inquire with an input file name.
    2069           3 :     function test_getAction_4() result(assertion)
    2070           3 :         use Err_mod, only: Err_type
    2071             :         implicit none
    2072             :         logical :: assertion
    2073           3 :         type(Err_type) :: Err
    2074           3 :         character(:), allocatable :: action
    2075           3 :         call getAction(action, Err, file = "nonexisting.file")
    2076           3 :         assertion = .not. Err%occurred !.and. action == "undefined"
    2077           3 :         if (Test%isDebugMode .and. .not. assertion) then
    2078             :         ! LCOV_EXCL_START
    2079             :             write(Test%outputUnit,"(*(g0))")
    2080             :             write(Test%outputUnit,"(*(g0))")   "Err%occurred : ", Err%occurred
    2081             :             write(Test%outputUnit,"(*(g0))")   "action : ", action
    2082             :             write(Test%outputUnit,"(*(g0))")
    2083             :         end if
    2084             :         ! LCOV_EXCL_STOP
    2085           3 :     end function test_getAction_4
    2086             : 
    2087             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2088             : 
    2089             :     !> \brief
    2090             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    2091           3 :     function test_getDelim_1() result(assertion)
    2092           3 :         use Err_mod, only: Err_type
    2093             :         implicit none
    2094             :         logical :: assertion
    2095           3 :         type(Err_type) :: Err
    2096           3 :         character(:), allocatable :: delim
    2097           3 :         call getDelim(delim, Err, unit = 124, file = "")
    2098           3 :         assertion = Err%occurred
    2099           3 :     end function test_getDelim_1
    2100             : 
    2101             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2102             : 
    2103             :     !> \brief
    2104             :     !> At least one of the two identifiers (`unit` or `file`) must be present.
    2105           3 :     function test_getDelim_2() result(assertion)
    2106           3 :         use Err_mod, only: Err_type
    2107             :         implicit none
    2108             :         logical :: assertion
    2109           3 :         type(Err_type) :: Err
    2110           3 :         character(:), allocatable :: delim
    2111           3 :         call getDelim(delim, Err)
    2112           3 :         assertion = Err%occurred
    2113           3 :     end function test_getDelim_2
    2114             : 
    2115             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2116             : 
    2117             :     !> \brief
    2118             :     !> The input `unit` can point to any existing or non-existing opened or closed file at runtime.
    2119           3 :     function test_getDelim_3() result(assertion)
    2120           3 :         use Err_mod, only: Err_type
    2121             :         implicit none
    2122             :         logical :: assertion
    2123           3 :         type(Err_type) :: Err
    2124           3 :         character(:), allocatable :: delim
    2125           3 :         call getDelim(delim, Err, unit = 124)
    2126           3 :         assertion = .not. Err%occurred .and. delim == "undefined"
    2127           3 :         if (Test%isDebugMode .and. .not. assertion) then
    2128             :         ! LCOV_EXCL_START
    2129             :             write(Test%outputUnit,"(*(g0))")
    2130             :             write(Test%outputUnit,"(*(g0))")   "Err%occurred : ", Err%occurred
    2131             :             write(Test%outputUnit,"(*(g0))")   "delim : ", delim
    2132             :             write(Test%outputUnit,"(*(g0))")
    2133             :         end if
    2134             :         ! LCOV_EXCL_STOP
    2135           3 :     end function test_getDelim_3
    2136             : 
    2137             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2138             : 
    2139             :     !> \brief
    2140             :     !> Check inquire with an input file name.
    2141           3 :     function test_getDelim_4() result(assertion)
    2142           3 :         use Err_mod, only: Err_type
    2143             :         implicit none
    2144             :         logical :: assertion
    2145           3 :         type(Err_type) :: Err
    2146           3 :         character(:), allocatable :: delim
    2147           3 :         call getDelim(delim, Err, file = "nonexisting.file")
    2148           3 :         assertion = .not. Err%occurred !.and. delim == "undefined"
    2149           3 :         if (Test%isDebugMode .and. .not. assertion) then
    2150             :         ! LCOV_EXCL_START
    2151             :             write(Test%outputUnit,"(*(g0))")
    2152             :             write(Test%outputUnit,"(*(g0))")   "Err%occurred : ", Err%occurred
    2153             :             write(Test%outputUnit,"(*(g0))")   "delim : ", delim
    2154             :             write(Test%outputUnit,"(*(g0))")
    2155             :         end if
    2156             :         ! LCOV_EXCL_STOP
    2157           3 :     end function test_getDelim_4
    2158             : 
    2159             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2160             : 
    2161             : end module Test_File_mod ! LCOV_EXCL_LINE

ParaMonte: Plain Powerful Parallel Monte Carlo Library 
The Computational Data Science Lab
© Copyright 2012 - 2021