The ParaMonte Documentation Website
Current view: top level - kernel/tests - Test_File_mod.f90 (source / functions) Hit Total Coverage
Test: ParaMonte 1.5.1 :: Serial Kernel - Code Coverage Report Lines: 1144 1144 100.0 %
Date: 2021-01-08 13:03:42 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           1 :     subroutine test_File()
      64             : 
      65             :         implicit none
      66             : 
      67           1 :         Test = Test_type(moduleName=MODULE_NAME)
      68           1 :         call Test%run(test_getRecl_1, "test_getRecl_1")
      69           1 :         call Test%run(test_getRecl_2, "test_getRecl_2")
      70           1 :         call Test%run(test_getRecl_3, "test_getRecl_3")
      71           1 :         call Test%run(test_getRecl_4, "test_getRecl_4")
      72           1 :         call Test%run(test_getForm_1, "test_getForm_1")
      73           1 :         call Test%run(test_getForm_2, "test_getForm_2")
      74           1 :         call Test%run(test_getForm_3, "test_getForm_3")
      75           1 :         call Test%run(test_getForm_4, "test_getForm_4")
      76           1 :         call Test%run(test_getName_1, "test_getName_1")
      77           1 :         call Test%run(test_getName_2, "test_getName_2")
      78           1 :         call Test%run(test_getName_3, "test_getName_3")
      79           1 :         call Test%run(test_getName_4, "test_getName_4")
      80           1 :         call Test%run(test_getBlank_1, "test_getBlank_1")
      81           1 :         call Test%run(test_getBlank_2, "test_getBlank_2")
      82           1 :         call Test%run(test_getBlank_3, "test_getBlank_3")
      83           1 :         call Test%run(test_getBlank_4, "test_getBlank_4")
      84           1 :         call Test%run(test_getDelim_1, "test_getDelim_1")
      85           1 :         call Test%run(test_getDelim_2, "test_getDelim_2")
      86           1 :         call Test%run(test_getDelim_3, "test_getDelim_3")
      87           1 :         call Test%run(test_getDelim_4, "test_getDelim_4")
      88           1 :         call Test%run(test_getAction_1, "test_getAction_1")
      89           1 :         call Test%run(test_getAction_2, "test_getAction_2")
      90           1 :         call Test%run(test_getAction_3, "test_getAction_3")
      91           1 :         call Test%run(test_getAction_4, "test_getAction_4")
      92           1 :         call Test%run(test_getAccess_1, "test_getAccess_1")
      93           1 :         call Test%run(test_getAccess_2, "test_getAccess_2")
      94           1 :         call Test%run(test_getAccess_3, "test_getAccess_3")
      95           1 :         call Test%run(test_getAccess_4, "test_getAccess_4")
      96           1 :         call Test%run(test_getNumber_1, "test_getNumber_1")
      97           1 :         call Test%run(test_getNumber_2, "test_getNumber_2")
      98           1 :         call Test%run(test_getNumber_3, "test_getNumber_3")
      99           1 :         call Test%run(test_getNumber_4, "test_getNumber_4")
     100           1 :         call Test%run(test_getPosition_1, "test_getPosition_1")
     101           1 :         call Test%run(test_getPosition_2, "test_getPosition_2")
     102           1 :         call Test%run(test_getPosition_3, "test_getPosition_3")
     103           1 :         call Test%run(test_getPosition_4, "test_getPosition_4")
     104           1 :         call Test%run(test_constructPad_1, "test_constructPad_1")
     105           1 :         call Test%run(test_constructPad_2, "test_constructPad_2")
     106           1 :         call Test%run(test_constructPad_3, "test_constructPad_3")
     107           1 :         call Test%run(test_constructPad_4, "test_constructPad_4")
     108           1 :         call Test%run(test_constructPad_5, "test_constructPad_5")
     109           1 :         call Test%run(test_constructFile_1, "test_constructFile_1")
     110           1 :         call Test%run(test_constructFile_2, "test_constructFile_2")
     111           1 :         call Test%run(test_constructFile_3, "test_constructFile_3")
     112           1 :         call Test%run(test_constructForm_1, "test_constructForm_1")
     113           1 :         call Test%run(test_constructForm_2, "test_constructForm_2")
     114           1 :         call Test%run(test_constructForm_3, "test_constructForm_3")
     115           1 :         call Test%run(test_constructForm_4, "test_constructForm_4")
     116           1 :         call Test%run(test_constructForm_5, "test_constructForm_5")
     117           1 :         call Test%run(test_constructSign_1, "test_constructSign_1")
     118           1 :         call Test%run(test_constructSign_2, "test_constructSign_2")
     119           1 :         call Test%run(test_constructSign_3, "test_constructSign_3")
     120           1 :         call Test%run(test_constructSign_4, "test_constructSign_4")
     121           1 :         call Test%run(test_constructSign_5, "test_constructSign_5")
     122           1 :         call Test%run(test_constructSign_6, "test_constructSign_6")
     123           1 :         call Test%run(test_getOpenStatus_1, "test_getOpenStatus_1")
     124           1 :         call Test%run(test_getOpenStatus_2, "test_getOpenStatus_2")
     125           1 :         call Test%run(test_getOpenStatus_3, "test_getOpenStatus_3")
     126           1 :         call Test%run(test_getOpenStatus_4, "test_getOpenStatus_4")
     127           1 :         call Test%run(test_getExistStatus_1, "test_getExistStatus_1")
     128           1 :         call Test%run(test_getExistStatus_2, "test_getExistStatus_2")
     129           1 :         call Test%run(test_getExistStatus_3, "test_getExistStatus_3")
     130           1 :         call Test%run(test_constructBlank_1, "test_constructBlank_1")
     131           1 :         call Test%run(test_constructBlank_2, "test_constructBlank_2")
     132           1 :         call Test%run(test_constructBlank_3, "test_constructBlank_3")
     133           1 :         call Test%run(test_constructBlank_4, "test_constructBlank_4")
     134           1 :         call Test%run(test_constructBlank_5, "test_constructBlank_5")
     135           1 :         call Test%run(test_constructDelim_1, "test_constructDelim_1")
     136           1 :         call Test%run(test_constructDelim_2, "test_constructDelim_2")
     137           1 :         call Test%run(test_constructDelim_3, "test_constructDelim_3")
     138           1 :         call Test%run(test_constructDelim_4, "test_constructDelim_4")
     139           1 :         call Test%run(test_constructDelim_5, "test_constructDelim_5")
     140           1 :         call Test%run(test_constructDelim_6, "test_constructDelim_6")
     141           1 :         call Test%run(test_constructRound_1, "test_constructRound_1")
     142           1 :         call Test%run(test_constructRound_2, "test_constructRound_2")
     143           1 :         call Test%run(test_constructRound_3, "test_constructRound_3")
     144           1 :         call Test%run(test_constructRound_4, "test_constructRound_4")
     145           1 :         call Test%run(test_constructRound_5, "test_constructRound_5")
     146           1 :         call Test%run(test_constructRound_6, "test_constructRound_6")
     147           1 :         call Test%run(test_constructRound_7, "test_constructRound_7")
     148           1 :         call Test%run(test_constructRound_8, "test_constructRound_8")
     149           1 :         call Test%run(test_constructRound_9, "test_constructRound_9")
     150           1 :         call Test%run(test_constructAction_1, "test_constructAction_1")
     151           1 :         call Test%run(test_constructAction_2, "test_constructAction_2")
     152           1 :         call Test%run(test_constructAction_3, "test_constructAction_3")
     153           1 :         call Test%run(test_constructAction_4, "test_constructAction_4")
     154           1 :         call Test%run(test_constructAction_5, "test_constructAction_5")
     155           1 :         call Test%run(test_constructAccess_1, "test_constructAccess_1")
     156           1 :         call Test%run(test_constructAccess_2, "test_constructAccess_2")
     157           1 :         call Test%run(test_constructAccess_3, "test_constructAccess_3")
     158           1 :         call Test%run(test_constructAccess_4, "test_constructAccess_4")
     159           1 :         call Test%run(test_constructAccess_5, "test_constructAccess_5")
     160           1 :         call Test%run(test_constructPosition_1, "test_constructPosition_1")
     161           1 :         call Test%run(test_constructPosition_2, "test_constructPosition_2")
     162           1 :         call Test%run(test_constructPosition_3, "test_constructPosition_3")
     163           1 :         call Test%run(test_constructPosition_4, "test_constructPosition_4")
     164           1 :         call Test%run(test_constructPosition_5, "test_constructPosition_5")
     165           1 :         call Test%run(test_constructPosition_6, "test_constructPosition_6")
     166           1 :         call Test%run(test_getCloseErr_1, "test_getCloseErr_1")
     167           1 :         call Test%run(test_getCloseErr_2, "test_getCloseErr_2")
     168           1 :         call Test%run(test_getCloseErr_3, "test_getCloseErr_3")
     169           1 :         call Test%run(test_getWriteErr_1, "test_getWriteErr_1")
     170           1 :         call Test%run(test_getWriteErr_2, "test_getWriteErr_2")
     171           1 :         call Test%run(test_getWriteErr_3, "test_getWriteErr_3")
     172           1 :         call Test%run(test_getOpenErr_1, "test_getOpenErr_1")
     173           1 :         call Test%run(test_getOpenErr_2, "test_getOpenErr_2")
     174           1 :         call Test%run(test_getOpenErr_3, "test_getOpenErr_3")
     175           1 :         call Test%run(test_getReadErr_1, "test_getReadErr_1")
     176           1 :         call Test%run(test_getReadErr_2, "test_getReadErr_2")
     177           1 :         call Test%run(test_getReadErr_3, "test_getReadErr_3")
     178           1 :         call Test%run(test_getReadErr_4, "test_getReadErr_4")
     179           1 :         call Test%run(test_getReadErr_5, "test_getReadErr_5")
     180           1 :         call Test%run(test_getReadErr_6, "test_getReadErr_6")
     181           1 :         call Test%run(test_getInqErr_1, "test_getInqErr_1")
     182           1 :         call Test%run(test_getInqErr_2, "test_getInqErr_2")
     183           1 :         call Test%run(test_getInqErr_3, "test_getInqErr_3")
     184           1 :         call Test%finalize()
     185             : 
     186           1 :     end subroutine test_File
     187             : 
     188             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     189             : 
     190           1 :     function test_constructFile_1() result(assertion)
     191             : 
     192             :         implicit none
     193             :         logical :: assertion
     194           1 :         type(File_type) :: File
     195             : 
     196           1 :         File = File_type()
     197           1 :         assertion = .not. File%Err%occurred; if (.not. assertion) return
     198             : 
     199           1 :         assertion = assertion .and. File%Path%original  == ""
     200           1 :         assertion = assertion .and. File%Path%modified  == ""
     201           1 :         assertion = assertion .and. File%Path%dir       == ""
     202           1 :         assertion = assertion .and. File%Path%name      == ""
     203           1 :         assertion = assertion .and. File%Path%ext       == ""
     204           1 :         assertion = assertion .and. File%unit           == -2147483647
     205           1 :         assertion = assertion .and. File%number         == -2147483647
     206           1 :         assertion = assertion .and. File%recl           == -2147483647
     207           1 :         assertion = assertion .and. File%exists         .eqv. .false.
     208           1 :         assertion = assertion .and. File%isOpen         .eqv. .false.
     209           1 :         assertion = assertion .and. File%isNamed        .eqv. .false.
     210           1 :         assertion = assertion .and. File%isNumbered     .eqv. .false.
     211           1 :         assertion = assertion .and. File%status         == "unknown"
     212           1 :         assertion = assertion .and. File%asynchronous   == "no"
     213           1 :         assertion = assertion .and. File%format         == ""
     214           1 :         assertion = assertion .and. File%nameByCompiler == ""
     215           1 :         assertion = assertion .and. File%Action%value   == "readwrite"
     216           1 :         assertion = assertion .and. File%Access%value   == "sequential"
     217           1 :         assertion = assertion .and. File%Form%value     == "formatted"
     218           1 :         assertion = assertion .and. File%Blank%value    == "null"
     219           1 :         assertion = assertion .and. File%Position%value == "asis"
     220           1 :         assertion = assertion .and. File%Delim%value    == "none"
     221           1 :         assertion = assertion .and. File%Pad%value      == "yes"
     222           1 :         assertion = assertion .and. File%Round%value    == "processor_defined"
     223           1 :         assertion = assertion .and. File%Sign%value     == "processor_defined"
     224           1 :         assertion = assertion .and. File%Err%occurred   .eqv. .false.
     225           1 :         assertion = assertion .and. File%Err%msg        == ""
     226             : 
     227           1 :         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           2 :     end function test_constructFile_1
     263             : 
     264             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     265             : 
     266           1 :     function test_constructFile_2() result(assertion)
     267             : 
     268             :         implicit none
     269             :         logical :: assertion
     270           1 :         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           1 :                         )
     288             : 
     289           1 :         assertion = .not. File%Err%occurred; if (.not. assertion) return
     290             : 
     291           1 :         assertion = assertion .and. File%Path%original  == "./test_File_mod/\test_File_mod\-"
     292             : 
     293           1 :         if (File%Path%shellSlash=="/") then
     294           1 :             assertion = assertion .and. File%Path%modified  == "./test_File_mod/\test_File_mod\-"
     295           1 :             assertion = assertion .and. File%Path%dir       == "./test_File_mod/"
     296           1 :             assertion = assertion .and. File%Path%name      == "\test_File_mod\-"
     297           1 :             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           1 :         assertion = assertion .and. File%unit           == 13
     307           1 :         assertion = assertion .and. File%number         == -2147483647
     308           1 :         assertion = assertion .and. File%recl           == 9999
     309           1 :         assertion = assertion .and. File%exists         .eqv. .false.
     310           1 :         assertion = assertion .and. File%isOpen         .eqv. .false.
     311           1 :         assertion = assertion .and. File%isNamed        .eqv. .false.
     312           1 :         assertion = assertion .and. File%isNumbered     .eqv. .false.
     313           1 :         assertion = assertion .and. File%status         == "new"
     314           1 :         assertion = assertion .and. File%asynchronous   == "yes"
     315           1 :         assertion = assertion .and. File%format         == "(A)"
     316           1 :         assertion = assertion .and. File%nameByCompiler == ""
     317           1 :         assertion = assertion .and. File%Action%value   == "read"
     318           1 :         assertion = assertion .and. File%Access%value   == "direct"
     319           1 :         assertion = assertion .and. File%Form%value     == "unformatted"
     320           1 :         assertion = assertion .and. File%Blank%value    == "undefined"
     321           1 :         assertion = assertion .and. File%Position%value == "append"
     322           1 :         assertion = assertion .and. File%Delim%value    == "quote"
     323           1 :         assertion = assertion .and. File%Pad%value      == "no"
     324           1 :         assertion = assertion .and. File%Round%value    == "up"
     325           1 :         assertion = assertion .and. File%Sign%value     == "undefined"
     326           1 :         assertion = assertion .and. File%Err%occurred   .eqv. .false.
     327           1 :         assertion = assertion .and. File%Err%msg        == ""
     328             : 
     329           1 :         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           2 :     end function test_constructFile_2
     365             : 
     366             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     367             : 
     368             :     !> \brief
     369             :     !> Test the effects of missing input argument `form`.
     370           1 :     function test_constructFile_3() result(assertion)
     371             : 
     372             :         implicit none
     373             :         logical :: assertion
     374           1 :         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           1 :                         )
     391             : 
     392           1 :         assertion = .not. File%Err%occurred; if (.not. assertion) return
     393             : 
     394           1 :         assertion = assertion .and. File%Path%original  == "./test_File_mod/\test_File_mod\-"
     395             : 
     396           1 :         if (File%Path%shellSlash=="/") then
     397           1 :             assertion = assertion .and. File%Path%modified  == "./test_File_mod/\test_File_mod\-"
     398           1 :             assertion = assertion .and. File%Path%dir       == "./test_File_mod/"
     399           1 :             assertion = assertion .and. File%Path%name      == "\test_File_mod\-"
     400           1 :             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           1 :         assertion = assertion .and. File%unit           == 13
     411           1 :         assertion = assertion .and. File%number         == -2147483647
     412           1 :         assertion = assertion .and. File%recl           == 9999
     413           1 :         assertion = assertion .and. File%exists         .eqv. .false.
     414           1 :         assertion = assertion .and. File%isOpen         .eqv. .false.
     415           1 :         assertion = assertion .and. File%isNamed        .eqv. .false.
     416           1 :         assertion = assertion .and. File%isNumbered     .eqv. .false.
     417           1 :         assertion = assertion .and. File%status         == "new"
     418           1 :         assertion = assertion .and. File%asynchronous   == "yes"
     419           1 :         assertion = assertion .and. File%format         == "(A)"
     420           1 :         assertion = assertion .and. File%nameByCompiler == ""
     421           1 :         assertion = assertion .and. File%Action%value   == "read"
     422           1 :         assertion = assertion .and. File%Access%value   == "direct"
     423           1 :         assertion = assertion .and. File%Form%value     == "unformatted"
     424           1 :         assertion = assertion .and. File%Blank%value    == "undefined"
     425           1 :         assertion = assertion .and. File%Position%value == "append"
     426           1 :         assertion = assertion .and. File%Delim%value    == "quote"
     427           1 :         assertion = assertion .and. File%Pad%value      == "no"
     428           1 :         assertion = assertion .and. File%Round%value    == "up"
     429           1 :         assertion = assertion .and. File%Sign%value     == "undefined"
     430           1 :         assertion = assertion .and. File%Err%occurred   .eqv. .false.
     431           1 :         assertion = assertion .and. File%Err%msg        == ""
     432             : 
     433           1 :         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           2 :     end function test_constructFile_3
     469             : 
     470             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     471             : 
     472           1 :     function test_constructPad_1() result(assertion)
     473             :         implicit none
     474             :         logical :: assertion
     475           1 :         type(Pad_type) :: Pad
     476           1 :         Pad = Pad_type()
     477           1 :         assertion = .not. Pad%Err%occurred; if (.not. assertion) return
     478           1 :         assertion = assertion .and. Pad%value == "yes"
     479           1 :         assertion = assertion .and. Pad%isPadded .eqv. .true.
     480           1 :         assertion = assertion .and. Pad%isNotPadded .eqv. .false.
     481           1 :         assertion = assertion .and. Pad%isUndefined .eqv. .false.
     482           2 :     end function test_constructPad_1
     483             : 
     484             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     485             : 
     486             :     ! Testing `Pad_type( value = 'undefined' )`
     487           1 :     function test_constructPad_2() result(assertion)
     488             :         implicit none
     489             :         logical :: assertion
     490           1 :         type(Pad_type) :: Pad
     491           1 :         Pad = Pad_type(value='undefined')
     492           1 :         assertion = .not. Pad%Err%occurred; if (.not. assertion) return
     493           1 :         assertion = assertion .and. Pad%value == "undefined"
     494           1 :         assertion = assertion .and. Pad%isPadded .eqv. .false.
     495           1 :         assertion = assertion .and. Pad%isNotPadded .eqv. .false.
     496           1 :         assertion = assertion .and. Pad%isUndefined .eqv. .true.
     497           2 :     end function test_constructPad_2
     498             : 
     499             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     500             : 
     501             :     ! Testing `Pad_type( value = 'yes' )`
     502           1 :     function test_constructPad_3() result(assertion)
     503             :         implicit none
     504             :         logical :: assertion
     505           1 :         type(Pad_type) :: Pad
     506           1 :         Pad = Pad_type(value='yes')
     507           1 :         assertion = .not. Pad%Err%occurred; if (.not. assertion) return
     508           1 :         assertion = assertion .and. Pad%value == "yes"
     509           1 :         assertion = assertion .and. Pad%isPadded .eqv. .true.
     510           1 :         assertion = assertion .and. Pad%isNotPadded .eqv. .false.
     511           1 :         assertion = assertion .and. Pad%isUndefined .eqv. .false.
     512           2 :     end function test_constructPad_3
     513             : 
     514             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     515             : 
     516             :     ! Testing `Pad_type( value = 'no' )`
     517           1 :     function test_constructPad_4() result(assertion)
     518             :         implicit none
     519             :         logical :: assertion
     520           1 :         type(Pad_type) :: Pad
     521           1 :         Pad = Pad_type(value='no')
     522           1 :         assertion = .not. Pad%Err%occurred; if (.not. assertion) return
     523           1 :         assertion = assertion .and. Pad%value == "no"
     524           1 :         assertion = assertion .and. Pad%isPadded .eqv. .false.
     525           1 :         assertion = assertion .and. Pad%isNotPadded .eqv. .true.
     526           1 :         assertion = assertion .and. Pad%isUndefined .eqv. .false.
     527           2 :     end function test_constructPad_4
     528             : 
     529             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     530             : 
     531             :     ! Testing `Pad_type( value = 'nonsense' )`
     532           1 :     function test_constructPad_5() result(assertion)
     533             :         implicit none
     534             :         logical :: assertion
     535           1 :         type(Pad_type) :: Pad
     536           1 :         Pad = Pad_type(value="nonsense")
     537           1 :         assertion = Pad%Err%occurred; if (.not. assertion) return
     538           1 :         assertion = assertion .and. Pad%value == ""
     539           1 :         assertion = assertion .and. Pad%isPadded .eqv. .false.
     540           1 :         assertion = assertion .and. Pad%isNotPadded .eqv. .false.
     541           1 :         assertion = assertion .and. Pad%isUndefined .eqv. .false.
     542           2 :     end function test_constructPad_5
     543             : 
     544             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     545             : 
     546           1 :     function test_constructAction_1() result(assertion)
     547             :         implicit none
     548             :         logical :: assertion
     549           1 :         type(Action_type) :: Action
     550           1 :         Action = Action_type()
     551           1 :         assertion = .not. Action%Err%occurred; if (.not. assertion) return
     552           1 :         assertion = assertion .and. Action%value == "readwrite"
     553           1 :         assertion = assertion .and. Action%isRead .eqv. .false.
     554           1 :         assertion = assertion .and. Action%isWrite .eqv. .false.
     555           1 :         assertion = assertion .and. Action%isReadWrite .eqv. .true.
     556           1 :         assertion = assertion .and. Action%isUndefined .eqv. .false.
     557           2 :     end function test_constructAction_1
     558             : 
     559             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     560             : 
     561           1 :     function test_constructAction_2() result(assertion)
     562             :         implicit none
     563             :         logical :: assertion
     564           1 :         type(Action_type) :: Action
     565           1 :         Action = Action_type(value="undefined")
     566           1 :         assertion = .not. Action%Err%occurred; if (.not. assertion) return
     567           1 :         assertion = assertion .and. Action%value == "readwrite"
     568           1 :         assertion = assertion .and. Action%isRead .eqv. .false.
     569           1 :         assertion = assertion .and. Action%isWrite .eqv. .false.
     570           1 :         assertion = assertion .and. Action%isReadWrite .eqv. .false.
     571           1 :         assertion = assertion .and. Action%isUndefined .eqv. .true.
     572           2 :     end function test_constructAction_2
     573             : 
     574             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     575             : 
     576           1 :     function test_constructAction_3() result(assertion)
     577             :         implicit none
     578             :         logical :: assertion
     579           1 :         type(Action_type) :: Action
     580           1 :         Action = Action_type(value="read")
     581           1 :         assertion = .not. Action%Err%occurred; if (.not. assertion) return
     582           1 :         assertion = assertion .and. Action%value == "read"
     583           1 :         assertion = assertion .and. Action%isRead .eqv. .true.
     584           1 :         assertion = assertion .and. Action%isWrite .eqv. .false.
     585           1 :         assertion = assertion .and. Action%isReadWrite .eqv. .false.
     586           1 :         assertion = assertion .and. Action%isUndefined .eqv. .false.
     587           2 :     end function test_constructAction_3
     588             : 
     589             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     590             : 
     591           1 :     function test_constructAction_4() result(assertion)
     592             :         implicit none
     593             :         logical :: assertion
     594           1 :         type(Action_type) :: Action
     595           1 :         Action = Action_type(value="write")
     596           1 :         assertion = .not. Action%Err%occurred; if (.not. assertion) return
     597           1 :         assertion = assertion .and. Action%value == "write"
     598           1 :         assertion = assertion .and. Action%isRead .eqv. .false.
     599           1 :         assertion = assertion .and. Action%isWrite .eqv. .true.
     600           1 :         assertion = assertion .and. Action%isReadWrite .eqv. .false.
     601           1 :         assertion = assertion .and. Action%isUndefined .eqv. .false.
     602           2 :     end function test_constructAction_4
     603             : 
     604             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     605             : 
     606           1 :     function test_constructAction_5() result(assertion)
     607             :         implicit none
     608             :         logical :: assertion
     609           1 :         type(Action_type) :: Action
     610           1 :         Action = Action_type(value="nonsense")
     611           1 :         assertion = Action%Err%occurred; if (.not. assertion) return
     612           1 :         assertion = assertion .and. Action%value == ""
     613           1 :         assertion = assertion .and. Action%isRead .eqv. .false.
     614           1 :         assertion = assertion .and. Action%isWrite .eqv. .false.
     615           1 :         assertion = assertion .and. Action%isReadWrite .eqv. .false.
     616           1 :         assertion = assertion .and. Action%isUndefined .eqv. .false.
     617           2 :     end function test_constructAction_5
     618             : 
     619             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     620             : 
     621           1 :     function test_constructAccess_1() result(assertion)
     622             :         implicit none
     623             :         logical :: assertion
     624           1 :         type(Access_type) :: Access
     625           1 :         Access = Access_type()
     626           1 :         assertion = .not. Access%Err%occurred; if (.not. assertion) return
     627           1 :         assertion = assertion .and. Access%value == "sequential"
     628           1 :         assertion = assertion .and. Access%isSequential .eqv. .true.
     629           1 :         assertion = assertion .and. Access%isDirect .eqv. .false.
     630           1 :         assertion = assertion .and. Access%isUndefined .eqv. .false.
     631           2 :     end function test_constructAccess_1
     632             : 
     633             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     634             : 
     635           1 :     function test_constructAccess_2() result(assertion)
     636             :         implicit none
     637             :         logical :: assertion
     638           1 :         type(Access_type) :: Access
     639           1 :         Access = Access_type("undefined")
     640           1 :         assertion = .not. Access%Err%occurred; if (.not. assertion) return
     641           1 :         assertion = assertion .and. Access%value == "undefined"
     642           1 :         assertion = assertion .and. Access%isSequential .eqv. .false.
     643           1 :         assertion = assertion .and. Access%isDirect .eqv. .false.
     644           1 :         assertion = assertion .and. Access%isUndefined .eqv. .true.
     645           2 :     end function test_constructAccess_2
     646             : 
     647             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     648             : 
     649           1 :     function test_constructAccess_3() result(assertion)
     650             :         implicit none
     651             :         logical :: assertion
     652           1 :         type(Access_type) :: Access
     653           1 :         Access = Access_type("sequential")
     654           1 :         assertion = .not. Access%Err%occurred; if (.not. assertion) return
     655           1 :         assertion = assertion .and. Access%value == "sequential"
     656           1 :         assertion = assertion .and. Access%isSequential .eqv. .true.
     657           1 :         assertion = assertion .and. Access%isDirect .eqv. .false.
     658           1 :         assertion = assertion .and. Access%isUndefined .eqv. .false.
     659           2 :     end function test_constructAccess_3
     660             : 
     661             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     662             : 
     663           1 :     function test_constructAccess_4() result(assertion)
     664             :         implicit none
     665             :         logical :: assertion
     666           1 :         type(Access_type) :: Access
     667           1 :         Access = Access_type("direct")
     668           1 :         assertion = .not. Access%Err%occurred; if (.not. assertion) return
     669           1 :         assertion = assertion .and. Access%value == "direct"
     670           1 :         assertion = assertion .and. Access%isSequential .eqv. .false.
     671           1 :         assertion = assertion .and. Access%isDirect .eqv. .true.
     672           1 :         assertion = assertion .and. Access%isUndefined .eqv. .false.
     673           2 :     end function test_constructAccess_4
     674             : 
     675             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     676             : 
     677           1 :     function test_constructAccess_5() result(assertion)
     678             :         implicit none
     679             :         logical :: assertion
     680           1 :         type(Access_type) :: Access
     681           1 :         Access = Access_type("nonsense")
     682           1 :         assertion = Access%Err%occurred; if (.not. assertion) return
     683           1 :         assertion = assertion .and. Access%value == "nonsense"
     684           1 :         assertion = assertion .and. Access%isSequential .eqv. .false.
     685           1 :         assertion = assertion .and. Access%isDirect .eqv. .false.
     686           1 :         assertion = assertion .and. Access%isUndefined .eqv. .false.
     687           2 :     end function test_constructAccess_5
     688             : 
     689             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     690             : 
     691           1 :     function test_constructForm_1() result(assertion)
     692             :         implicit none
     693             :         logical :: assertion
     694           1 :         type(Form_type) :: Form
     695           1 :         Form = Form_type()
     696           1 :         assertion = .not. Form%Err%occurred; if (.not. assertion) return
     697           1 :         assertion = assertion .and. Form%value == "formatted"
     698           1 :         assertion = assertion .and. Form%isFormatted .eqv. .true.
     699           1 :         assertion = assertion .and. Form%isUnformatted .eqv. .false.
     700           1 :         assertion = assertion .and. Form%isUndefined .eqv. .false.
     701           2 :     end function test_constructForm_1
     702             : 
     703             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     704             : 
     705           1 :     function test_constructForm_2() result(assertion)
     706             :         implicit none
     707             :         logical :: assertion
     708           1 :         type(Form_type) :: Form
     709           1 :         Form = Form_type("undefined")
     710           1 :         assertion = .not. Form%Err%occurred; if (.not. assertion) return
     711           1 :         assertion = assertion .and. Form%value == "undefined"
     712           1 :         assertion = assertion .and. Form%isFormatted .eqv. .false.
     713           1 :         assertion = assertion .and. Form%isUnformatted .eqv. .false.
     714           1 :         assertion = assertion .and. Form%isUndefined .eqv. .true.
     715           2 :     end function test_constructForm_2
     716             : 
     717             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     718             : 
     719           1 :     function test_constructForm_3() result(assertion)
     720             :         implicit none
     721             :         logical :: assertion
     722           1 :         type(Form_type) :: Form
     723           1 :         Form = Form_type("formatted")
     724           1 :         assertion = .not. Form%Err%occurred; if (.not. assertion) return
     725           1 :         assertion = assertion .and. Form%value == "formatted"
     726           1 :         assertion = assertion .and. Form%isFormatted .eqv. .true.
     727           1 :         assertion = assertion .and. Form%isUnformatted .eqv. .false.
     728           1 :         assertion = assertion .and. Form%isUndefined .eqv. .false.
     729           2 :     end function test_constructForm_3
     730             : 
     731             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     732             : 
     733           1 :     function test_constructForm_4() result(assertion)
     734             :         implicit none
     735             :         logical :: assertion
     736           1 :         type(Form_type) :: Form
     737           1 :         Form = Form_type("unformatted")
     738           1 :         assertion = .not. Form%Err%occurred; if (.not. assertion) return
     739           1 :         assertion = assertion .and. Form%value == "unformatted"
     740           1 :         assertion = assertion .and. Form%isFormatted .eqv. .false.
     741           1 :         assertion = assertion .and. Form%isUnformatted .eqv. .true.
     742           1 :         assertion = assertion .and. Form%isUndefined .eqv. .false.
     743           2 :     end function test_constructForm_4
     744             : 
     745             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     746             : 
     747           1 :     function test_constructForm_5() result(assertion)
     748             :         implicit none
     749             :         logical :: assertion
     750           1 :         type(Form_type) :: Form
     751           1 :         Form = Form_type("nonsense")
     752           1 :         assertion = Form%Err%occurred; if (.not. assertion) return
     753           1 :         assertion = assertion .and. Form%value == "nonsense"
     754           1 :         assertion = assertion .and. Form%isFormatted .eqv. .false.
     755           1 :         assertion = assertion .and. Form%isUnformatted .eqv. .false.
     756           1 :         assertion = assertion .and. Form%isUndefined .eqv. .false.
     757           2 :     end function test_constructForm_5
     758             : 
     759             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     760             : 
     761           1 :     function test_constructBlank_1() result(assertion)
     762             :         implicit none
     763             :         logical :: assertion
     764           1 :         type(Blank_type) :: Blank
     765           1 :         Blank = Blank_type()
     766           1 :         assertion = .not. Blank%Err%occurred; if (.not. assertion) return
     767           1 :         assertion = assertion .and. Blank%value == "null"
     768           1 :         assertion = assertion .and. Blank%isNull .eqv. .true.
     769           1 :         assertion = assertion .and. Blank%isZero .eqv. .false.
     770           1 :         assertion = assertion .and. Blank%isUndefined .eqv. .false.
     771           2 :     end function test_constructBlank_1
     772             : 
     773             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     774             : 
     775           1 :     function test_constructBlank_2() result(assertion)
     776             :         implicit none
     777             :         logical :: assertion
     778           1 :         type(Blank_type) :: Blank
     779           1 :         Blank = Blank_type("undefined")
     780           1 :         assertion = .not. Blank%Err%occurred; if (.not. assertion) return
     781           1 :         assertion = assertion .and. Blank%value == "undefined"
     782           1 :         assertion = assertion .and. Blank%isNull .eqv. .false.
     783           1 :         assertion = assertion .and. Blank%isZero .eqv. .false.
     784           1 :         assertion = assertion .and. Blank%isUndefined .eqv. .true.
     785           2 :     end function test_constructBlank_2
     786             : 
     787             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     788             : 
     789           1 :     function test_constructBlank_3() result(assertion)
     790             :         implicit none
     791             :         logical :: assertion
     792           1 :         type(Blank_type) :: Blank
     793           1 :         Blank = Blank_type("null")
     794           1 :         assertion = .not. Blank%Err%occurred; if (.not. assertion) return
     795           1 :         assertion = assertion .and. Blank%value == "null"
     796           1 :         assertion = assertion .and. Blank%isNull .eqv. .true.
     797           1 :         assertion = assertion .and. Blank%isZero .eqv. .false.
     798           1 :         assertion = assertion .and. Blank%isUndefined .eqv. .false.
     799           2 :     end function test_constructBlank_3
     800             : 
     801             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     802             : 
     803           1 :     function test_constructBlank_4() result(assertion)
     804             :         implicit none
     805             :         logical :: assertion
     806           1 :         type(Blank_type) :: Blank
     807           1 :         Blank = Blank_type("zero")
     808           1 :         assertion = .not. Blank%Err%occurred; if (.not. assertion) return
     809           1 :         assertion = assertion .and. Blank%value == "zero"
     810           1 :         assertion = assertion .and. Blank%isNull .eqv. .false.
     811           1 :         assertion = assertion .and. Blank%isZero .eqv. .true.
     812           1 :         assertion = assertion .and. Blank%isUndefined .eqv. .false.
     813           2 :     end function test_constructBlank_4
     814             : 
     815             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     816             : 
     817           1 :     function test_constructBlank_5() result(assertion)
     818             :         implicit none
     819             :         logical :: assertion
     820           1 :         type(Blank_type) :: Blank
     821           1 :         Blank = Blank_type("nonsense")
     822           1 :         assertion = Blank%Err%occurred; if (.not. assertion) return
     823           1 :         assertion = assertion .and. Blank%value == "nonsense"
     824           1 :         assertion = assertion .and. Blank%isNull .eqv. .false.
     825           1 :         assertion = assertion .and. Blank%isZero .eqv. .false.
     826           1 :         assertion = assertion .and. Blank%isUndefined .eqv. .false.
     827           2 :     end function test_constructBlank_5
     828             : 
     829             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     830             : 
     831           1 :     function test_constructPosition_1() result(assertion)
     832             :         implicit none
     833             :         logical :: assertion
     834           1 :         type(Position_type) :: Position
     835           1 :         Position = Position_type()
     836           1 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     837           1 :         assertion = assertion .and. Position%value == "asis"
     838           1 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     839           1 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     840           1 :         assertion = assertion .and. Position%isAsis .eqv. .true.
     841           1 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     842           2 :     end function test_constructPosition_1
     843             : 
     844             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     845             : 
     846           1 :     function test_constructPosition_2() result(assertion)
     847             :         implicit none
     848             :         logical :: assertion
     849           1 :         type(Position_type) :: Position
     850           1 :         Position = Position_type("undefined")
     851           1 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     852           1 :         assertion = assertion .and. Position%value == "undefined"
     853           1 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     854           1 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     855           1 :         assertion = assertion .and. Position%isAsis .eqv. .false.
     856           1 :         assertion = assertion .and. Position%isUndefined .eqv. .true.
     857           2 :     end function test_constructPosition_2
     858             : 
     859             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     860             : 
     861           1 :     function test_constructPosition_3() result(assertion)
     862             :         implicit none
     863             :         logical :: assertion
     864           1 :         type(Position_type) :: Position
     865           1 :         Position = Position_type("rewind")
     866           1 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     867           1 :         assertion = assertion .and. Position%value == "rewind"
     868           1 :         assertion = assertion .and. Position%isRewind .eqv. .true.
     869           1 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     870           1 :         assertion = assertion .and. Position%isAsis .eqv. .false.
     871           1 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     872           2 :     end function test_constructPosition_3
     873             : 
     874             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     875             : 
     876           1 :     function test_constructPosition_4() result(assertion)
     877             :         implicit none
     878             :         logical :: assertion
     879           1 :         type(Position_type) :: Position
     880           1 :         Position = Position_type("APPEND")
     881           1 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     882           1 :         assertion = assertion .and. Position%value == "append"
     883           1 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     884           1 :         assertion = assertion .and. Position%isAppend .eqv. .true.
     885           1 :         assertion = assertion .and. Position%isAsis .eqv. .false.
     886           1 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     887           2 :     end function test_constructPosition_4
     888             : 
     889             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     890             : 
     891           1 :     function test_constructPosition_5() result(assertion)
     892             :         implicit none
     893             :         logical :: assertion
     894           1 :         type(Position_type) :: Position
     895           1 :         Position = Position_type("ASIS")
     896           1 :         assertion = .not. Position%Err%occurred; if (.not. assertion) return
     897           1 :         assertion = assertion .and. Position%value == "asis"
     898           1 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     899           1 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     900           1 :         assertion = assertion .and. Position%isAsis .eqv. .true.
     901           1 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     902           2 :     end function test_constructPosition_5
     903             : 
     904             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     905             : 
     906           1 :     function test_constructPosition_6() result(assertion)
     907             :         implicit none
     908             :         logical :: assertion
     909           1 :         type(Position_type) :: Position
     910           1 :         Position = Position_type("nonsense")
     911           1 :         assertion = Position%Err%occurred; if (.not. assertion) return
     912           1 :         assertion = assertion .and. Position%value == ""
     913           1 :         assertion = assertion .and. Position%isRewind .eqv. .false.
     914           1 :         assertion = assertion .and. Position%isAppend .eqv. .false.
     915           1 :         assertion = assertion .and. Position%isAsis .eqv. .false.
     916           1 :         assertion = assertion .and. Position%isUndefined .eqv. .false.
     917           2 :     end function test_constructPosition_6
     918             : 
     919             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     920             : 
     921           1 :     function test_constructDelim_1() result(assertion)
     922             :         implicit none
     923             :         logical :: assertion
     924           1 :         type(Delim_type) :: Delim
     925           1 :         Delim = Delim_type()
     926           1 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     927           1 :         assertion = assertion .and. Delim%value == "none"
     928           1 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
     929           1 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
     930           1 :         assertion = assertion .and. Delim%isNone .eqv. .true.
     931           1 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
     932           2 :     end function test_constructDelim_1
     933             : 
     934             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     935             : 
     936           1 :     function test_constructDelim_2() result(assertion)
     937             :         implicit none
     938             :         logical :: assertion
     939           1 :         type(Delim_type) :: Delim
     940           1 :         Delim = Delim_type("Undefined")
     941           1 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     942           1 :         assertion = assertion .and. Delim%value == "undefined"
     943           1 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
     944           1 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
     945           1 :         assertion = assertion .and. Delim%isNone .eqv. .false.
     946           1 :         assertion = assertion .and. Delim%isUndefined .eqv. .true.
     947           2 :     end function test_constructDelim_2
     948             : 
     949             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     950             : 
     951           1 :     function test_constructDelim_3() result(assertion)
     952             :         implicit none
     953             :         logical :: assertion
     954           1 :         type(Delim_type) :: Delim
     955           1 :         Delim = Delim_type("Quote")
     956           1 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     957           1 :         assertion = assertion .and. Delim%value == "quote"
     958           1 :         assertion = assertion .and. Delim%isQuote .eqv. .true.
     959           1 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
     960           1 :         assertion = assertion .and. Delim%isNone .eqv. .false.
     961           1 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
     962           2 :     end function test_constructDelim_3
     963             : 
     964             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     965             : 
     966           1 :     function test_constructDelim_4() result(assertion)
     967             :         implicit none
     968             :         logical :: assertion
     969           1 :         type(Delim_type) :: Delim
     970           1 :         Delim = Delim_type("Apostrophe")
     971           1 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     972           1 :         assertion = assertion .and. Delim%value == "apostrophe"
     973           1 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
     974           1 :         assertion = assertion .and. Delim%isApostrophe .eqv. .true.
     975           1 :         assertion = assertion .and. Delim%isNone .eqv. .false.
     976           1 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
     977           2 :     end function test_constructDelim_4
     978             : 
     979             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     980             : 
     981           1 :     function test_constructDelim_5() result(assertion)
     982             :         implicit none
     983             :         logical :: assertion
     984           1 :         type(Delim_type) :: Delim
     985           1 :         Delim = Delim_type("None")
     986           1 :         assertion = .not. Delim%Err%occurred; if (.not. assertion) return
     987           1 :         assertion = assertion .and. Delim%value == "none"
     988           1 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
     989           1 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
     990           1 :         assertion = assertion .and. Delim%isNone .eqv. .true.
     991           1 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
     992           2 :     end function test_constructDelim_5
     993             : 
     994             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     995             : 
     996           1 :     function test_constructDelim_6() result(assertion)
     997             :         implicit none
     998             :         logical :: assertion
     999           1 :         type(Delim_type) :: Delim
    1000           1 :         Delim = Delim_type("nonsense")
    1001           1 :         assertion = Delim%Err%occurred; if (.not. assertion) return
    1002           1 :         assertion = assertion .and. Delim%value == ""
    1003           1 :         assertion = assertion .and. Delim%isQuote .eqv. .false.
    1004           1 :         assertion = assertion .and. Delim%isApostrophe .eqv. .false.
    1005           1 :         assertion = assertion .and. Delim%isNone .eqv. .false.
    1006           1 :         assertion = assertion .and. Delim%isUndefined .eqv. .false.
    1007           2 :     end function test_constructDelim_6
    1008             : 
    1009             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1010             : 
    1011           1 :     function test_constructRound_1() result(assertion)
    1012             :         implicit none
    1013             :         logical :: assertion
    1014           1 :         type(Round_type) :: Round
    1015           1 :         Round = Round_type()
    1016           1 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1017           1 :         assertion = assertion .and. Round%value == "processor_defined"
    1018           1 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1019           1 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1020           1 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1021           1 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1022           1 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1023           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .true.
    1024           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1025           2 :     end function test_constructRound_1
    1026             : 
    1027             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1028             : 
    1029           1 :     function test_constructRound_2() result(assertion)
    1030             :         implicit none
    1031             :         logical :: assertion
    1032           1 :         type(Round_type) :: Round
    1033           1 :         Round = Round_type("UP")
    1034           1 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1035           1 :         assertion = assertion .and. Round%value == "up"
    1036           1 :         assertion = assertion .and. Round%isUp .eqv. .true.
    1037           1 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1038           1 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1039           1 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1040           1 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1041           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1042           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1043           2 :     end function test_constructRound_2
    1044             : 
    1045             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1046             : 
    1047           1 :     function test_constructRound_3() result(assertion)
    1048             :         implicit none
    1049             :         logical :: assertion
    1050           1 :         type(Round_type) :: Round
    1051           1 :         Round = Round_type("Down")
    1052           1 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1053           1 :         assertion = assertion .and. Round%value == "down"
    1054           1 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1055           1 :         assertion = assertion .and. Round%isDown .eqv. .true.
    1056           1 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1057           1 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1058           1 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1059           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1060           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1061           2 :     end function test_constructRound_3
    1062             : 
    1063             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1064             : 
    1065           1 :     function test_constructRound_4() result(assertion)
    1066             :         implicit none
    1067             :         logical :: assertion
    1068           1 :         type(Round_type) :: Round
    1069           1 :         Round = Round_type("Zero")
    1070           1 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1071           1 :         assertion = assertion .and. Round%value == "zero"
    1072           1 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1073           1 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1074           1 :         assertion = assertion .and. Round%isZero .eqv. .true.
    1075           1 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1076           1 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1077           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1078           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1079           2 :     end function test_constructRound_4
    1080             : 
    1081             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1082             : 
    1083           1 :     function test_constructRound_5() result(assertion)
    1084             :         implicit none
    1085             :         logical :: assertion
    1086           1 :         type(Round_type) :: Round
    1087           1 :         Round = Round_type("Nearest")
    1088           1 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1089           1 :         assertion = assertion .and. Round%value == "nearest"
    1090           1 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1091           1 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1092           1 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1093           1 :         assertion = assertion .and. Round%isNearest .eqv. .true.
    1094           1 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1095           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1096           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1097           2 :     end function test_constructRound_5
    1098             : 
    1099             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1100             : 
    1101           1 :     function test_constructRound_6() result(assertion)
    1102             :         implicit none
    1103             :         logical :: assertion
    1104           1 :         type(Round_type) :: Round
    1105           1 :         Round = Round_type("Nearest")
    1106           1 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1107           1 :         assertion = assertion .and. Round%value == "nearest"
    1108           1 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1109           1 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1110           1 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1111           1 :         assertion = assertion .and. Round%isNearest .eqv. .true.
    1112           1 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1113           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1114           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1115           2 :     end function test_constructRound_6
    1116             : 
    1117             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1118             : 
    1119           1 :     function test_constructRound_7() result(assertion)
    1120             :         implicit none
    1121             :         logical :: assertion
    1122           1 :         type(Round_type) :: Round
    1123           1 :         Round = Round_type("Compatible")
    1124           1 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1125           1 :         assertion = assertion .and. Round%value == "compatible"
    1126           1 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1127           1 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1128           1 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1129           1 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1130           1 :         assertion = assertion .and. Round%isCompatible .eqv. .true.
    1131           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1132           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1133           2 :     end function test_constructRound_7
    1134             : 
    1135             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1136             : 
    1137           1 :     function test_constructRound_8() result(assertion)
    1138             :         implicit none
    1139             :         logical :: assertion
    1140           1 :         type(Round_type) :: Round
    1141           1 :         Round = Round_type("Processor_defined")
    1142           1 :         assertion = .not. Round%Err%occurred; if (.not. assertion) return
    1143           1 :         assertion = assertion .and. Round%value == "processor_defined"
    1144           1 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1145           1 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1146           1 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1147           1 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1148           1 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1149           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .true.
    1150           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1151           2 :     end function test_constructRound_8
    1152             : 
    1153             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1154             : 
    1155           1 :     function test_constructRound_9() result(assertion)
    1156             :         implicit none
    1157             :         logical :: assertion
    1158           1 :         type(Round_type) :: Round
    1159           1 :         Round = Round_type("nonsense")
    1160           1 :         assertion = Round%Err%occurred; if (.not. assertion) return
    1161           1 :         assertion = assertion .and. Round%value == ""
    1162           1 :         assertion = assertion .and. Round%isUp .eqv. .false.
    1163           1 :         assertion = assertion .and. Round%isDown .eqv. .false.
    1164           1 :         assertion = assertion .and. Round%isZero .eqv. .false.
    1165           1 :         assertion = assertion .and. Round%isNearest .eqv. .false.
    1166           1 :         assertion = assertion .and. Round%isCompatible .eqv. .false.
    1167           1 :         assertion = assertion .and. Round%isProcessDefined .eqv. .false.
    1168           1 :         assertion = assertion .and. Round%isUndefined .eqv. .false.
    1169           2 :     end function test_constructRound_9
    1170             : 
    1171             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1172             : 
    1173           1 :     function test_constructSign_1() result(assertion)
    1174             :         implicit none
    1175             :         logical :: assertion
    1176           1 :         type(Sign_type) :: Sign
    1177           1 :         Sign = Sign_type()
    1178           1 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1179           1 :         assertion = assertion .and. Sign%value == "processor_defined"
    1180           1 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1181           1 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1182           1 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .true.
    1183           1 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1184           2 :     end function test_constructSign_1
    1185             : 
    1186             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1187             : 
    1188           1 :     function test_constructSign_2() result(assertion)
    1189             :         implicit none
    1190             :         logical :: assertion
    1191           1 :         type(Sign_type) :: Sign
    1192           1 :         Sign = Sign_type("Undefined")
    1193           1 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1194           1 :         assertion = assertion .and. Sign%value == "undefined"
    1195           1 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1196           1 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1197           1 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .false.
    1198           1 :         assertion = assertion .and. Sign%isUndefined .eqv. .true.
    1199           2 :     end function test_constructSign_2
    1200             : 
    1201             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1202             : 
    1203           1 :     function test_constructSign_3() result(assertion)
    1204             :         implicit none
    1205             :         logical :: assertion
    1206           1 :         type(Sign_type) :: Sign
    1207           1 :         Sign = Sign_type("Suppress")
    1208           1 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1209           1 :         assertion = assertion .and. Sign%value == "suppress"
    1210           1 :         assertion = assertion .and. Sign%isSuppress .eqv. .true.
    1211           1 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1212           1 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .false.
    1213           1 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1214           2 :     end function test_constructSign_3
    1215             : 
    1216             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1217             : 
    1218           1 :     function test_constructSign_4() result(assertion)
    1219             :         implicit none
    1220             :         logical :: assertion
    1221           1 :         type(Sign_type) :: Sign
    1222           1 :         Sign = Sign_type("Plus")
    1223           1 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1224           1 :         assertion = assertion .and. Sign%value == "plus"
    1225           1 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1226           1 :         assertion = assertion .and. Sign%isPlus .eqv. .true.
    1227           1 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .false.
    1228           1 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1229           2 :     end function test_constructSign_4
    1230             : 
    1231             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1232             : 
    1233           1 :     function test_constructSign_5() result(assertion)
    1234             :         implicit none
    1235             :         logical :: assertion
    1236           1 :         type(Sign_type) :: Sign
    1237           1 :         Sign = Sign_type("Processor_defined")
    1238           1 :         assertion = .not. Sign%Err%occurred; if (.not. assertion) return
    1239           1 :         assertion = assertion .and. Sign%value == "processor_defined"
    1240           1 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1241           1 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1242           1 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .true.
    1243           1 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1244           2 :     end function test_constructSign_5
    1245             : 
    1246             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1247             : 
    1248           1 :     function test_constructSign_6() result(assertion)
    1249             :         implicit none
    1250             :         logical :: assertion
    1251           1 :         type(Sign_type) :: Sign
    1252           1 :         Sign = Sign_type("nonsense")
    1253           1 :         assertion = Sign%Err%occurred; if (.not. assertion) return
    1254           1 :         assertion = assertion .and. Sign%Err%occurred .eqv. .true.
    1255           1 :         assertion = assertion .and. Sign%value == ""
    1256           1 :         assertion = assertion .and. Sign%isSuppress .eqv. .false.
    1257           1 :         assertion = assertion .and. Sign%isPlus .eqv. .false.
    1258           1 :         assertion = assertion .and. Sign%isProcessDefined .eqv. .false.
    1259           1 :         assertion = assertion .and. Sign%isUndefined .eqv. .false.
    1260           2 :     end function test_constructSign_6
    1261             : 
    1262             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1263             : 
    1264           1 :     function test_getWriteErr_1() result(assertion)
    1265           1 :         use Err_mod, only: Err_type
    1266             :         implicit none
    1267             :         logical :: assertion
    1268           1 :         type(Err_type) :: Err
    1269             :         integer :: stat
    1270           1 :         stat = 1
    1271             :         Err = getWriteErr(stat) ! LCOV_EXCL_LINE
    1272           1 :         assertion = Err%occurred
    1273           1 :     end function test_getWriteErr_1
    1274             : 
    1275             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1276             : 
    1277           1 :     function test_getWriteErr_2() result(assertion)
    1278           1 :         use Err_mod, only: Err_type
    1279             :         implicit none
    1280             :         logical :: assertion
    1281           1 :         type(Err_type) :: Err
    1282             :         integer :: stat
    1283           1 :         stat = 0
    1284             :         Err = getWriteErr(stat) ! LCOV_EXCL_LINE
    1285           1 :         assertion = .not. Err%occurred
    1286           1 :     end function test_getWriteErr_2
    1287             : 
    1288             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1289             : 
    1290           1 :     function test_getWriteErr_3() result(assertion)
    1291           1 :         use Err_mod, only: Err_type
    1292             :         implicit none
    1293             :         logical :: assertion
    1294           1 :         type(Err_type) :: Err
    1295             :         integer :: stat
    1296           1 :         stat = -1
    1297             :         Err = getWriteErr(stat) ! LCOV_EXCL_LINE
    1298           1 :         assertion = Err%occurred
    1299           1 :     end function test_getWriteErr_3
    1300             : 
    1301             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1302             : 
    1303           1 :     function test_getReadErr_1() result(assertion)
    1304           1 :         use Err_mod, only: Err_type
    1305             :         implicit none
    1306             :         logical :: assertion
    1307           1 :         type(Err_type) :: Err
    1308             :         integer :: stat
    1309           1 :         stat = 1
    1310             :         Err = getReadErr(stat,"./path") ! LCOV_EXCL_LINE
    1311           1 :         assertion = Err%occurred
    1312           1 :     end function test_getReadErr_1
    1313             : 
    1314             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1315             : 
    1316           1 :     function test_getReadErr_2() result(assertion)
    1317           1 :         use Err_mod, only: Err_type
    1318             :         implicit none
    1319             :         logical :: assertion
    1320           1 :         type(Err_type) :: Err
    1321             :         integer :: stat
    1322           1 :         stat = 1
    1323             :         Err = getReadErr(stat) ! LCOV_EXCL_LINE
    1324           1 :         assertion = Err%occurred
    1325           1 :     end function test_getReadErr_2
    1326             : 
    1327             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1328             : 
    1329           1 :     function test_getReadErr_3() result(assertion)
    1330           1 :         use Err_mod, only: Err_type
    1331             :         implicit none
    1332             :         logical :: assertion
    1333           1 :         type(Err_type) :: Err
    1334             :         integer :: stat
    1335           1 :         stat = 0
    1336             :         Err = getReadErr(stat,"./path") ! LCOV_EXCL_LINE
    1337           1 :         assertion = .not. Err%occurred
    1338           1 :     end function test_getReadErr_3
    1339             : 
    1340             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1341             : 
    1342           1 :     function test_getReadErr_4() result(assertion)
    1343           1 :         use Err_mod, only: Err_type
    1344             :         implicit none
    1345             :         logical :: assertion
    1346           1 :         type(Err_type) :: Err
    1347             :         integer :: stat
    1348           1 :         stat = 0
    1349             :         Err = getReadErr(stat) ! LCOV_EXCL_LINE
    1350           1 :         assertion = .not. Err%occurred
    1351           1 :     end function test_getReadErr_4
    1352             : 
    1353             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1354             : 
    1355           1 :     function test_getReadErr_5() result(assertion)
    1356           1 :         use Err_mod, only: Err_type
    1357             :         implicit none
    1358             :         logical :: assertion
    1359           1 :         type(Err_type) :: Err
    1360             :         integer :: stat
    1361           1 :         stat = -1
    1362             :         Err = getReadErr(stat,"./path") ! LCOV_EXCL_LINE
    1363           1 :         assertion = Err%occurred
    1364           1 :     end function test_getReadErr_5
    1365             : 
    1366             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1367             : 
    1368           1 :     function test_getReadErr_6() result(assertion)
    1369           1 :         use Err_mod, only: Err_type
    1370             :         implicit none
    1371             :         logical :: assertion
    1372           1 :         type(Err_type) :: Err
    1373             :         integer :: stat
    1374           1 :         stat = -1
    1375             :         Err = getReadErr(stat) ! LCOV_EXCL_LINE
    1376           1 :         assertion = Err%occurred
    1377           1 :     end function test_getReadErr_6
    1378             : 
    1379             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1380             : 
    1381           1 :     function test_getCloseErr_1() result(assertion)
    1382           1 :         use Err_mod, only: Err_type
    1383             :         implicit none
    1384             :         logical :: assertion
    1385           1 :         type(Err_type) :: Err
    1386             :         integer :: stat
    1387           1 :         stat = 0
    1388             :         Err = getCloseErr(stat) ! LCOV_EXCL_LINE
    1389           1 :         assertion = .not. Err%occurred
    1390           1 :     end function test_getCloseErr_1
    1391             : 
    1392             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1393             : 
    1394           1 :     function test_getCloseErr_2() result(assertion)
    1395           1 :         use Err_mod, only: Err_type
    1396             :         implicit none
    1397             :         logical :: assertion
    1398           1 :         type(Err_type) :: Err
    1399             :         integer :: stat
    1400           1 :         stat = 1
    1401             :         Err = getCloseErr(stat) ! LCOV_EXCL_LINE
    1402           1 :         assertion = Err%occurred
    1403           1 :     end function test_getCloseErr_2
    1404             : 
    1405             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1406             : 
    1407           1 :     function test_getCloseErr_3() result(assertion)
    1408           1 :         use Err_mod, only: Err_type
    1409             :         implicit none
    1410             :         logical :: assertion
    1411           1 :         type(Err_type) :: Err
    1412             :         Err = getCloseErr(-1) ! LCOV_EXCL_LINE
    1413           1 :         assertion = .not. Err%occurred
    1414           1 :     end function test_getCloseErr_3
    1415             : 
    1416             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1417             : 
    1418           1 :     function test_getOpenErr_1() result(assertion)
    1419           1 :         use Err_mod, only: Err_type
    1420             :         implicit none
    1421             :         logical :: assertion
    1422           1 :         type(Err_type) :: Err
    1423             :         Err = getOpenErr(0) ! LCOV_EXCL_LINE
    1424           1 :         assertion = .not. Err%occurred
    1425           1 :     end function test_getOpenErr_1
    1426             : 
    1427             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1428             : 
    1429           1 :     function test_getOpenErr_2() result(assertion)
    1430           1 :         use Err_mod, only: Err_type
    1431             :         implicit none
    1432             :         logical :: assertion
    1433           1 :         type(Err_type) :: Err
    1434             :         Err = getOpenErr(1) ! LCOV_EXCL_LINE
    1435           1 :         assertion = Err%occurred
    1436           1 :     end function test_getOpenErr_2
    1437             : 
    1438             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1439             : 
    1440           1 :     function test_getOpenErr_3() result(assertion)
    1441           1 :         use Err_mod, only: Err_type
    1442             :         implicit none
    1443             :         logical :: assertion
    1444           1 :         type(Err_type) :: Err
    1445             :         Err = getOpenErr(-1) ! LCOV_EXCL_LINE
    1446           1 :         assertion = .not. Err%occurred
    1447           1 :     end function test_getOpenErr_3
    1448             : 
    1449             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1450             : 
    1451           1 :     function test_getInqErr_1() result(assertion)
    1452           1 :         use Err_mod, only: Err_type
    1453             :         implicit none
    1454             :         logical :: assertion
    1455           1 :         type(Err_type) :: Err
    1456             :         Err = getInqErr(0) ! LCOV_EXCL_LINE
    1457           1 :         assertion = .not. Err%occurred
    1458           1 :     end function test_getInqErr_1
    1459             : 
    1460             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1461             : 
    1462           1 :     function test_getInqErr_2() result(assertion)
    1463           1 :         use Err_mod, only: Err_type
    1464             :         implicit none
    1465             :         logical :: assertion
    1466           1 :         type(Err_type) :: Err
    1467             :         Err = getInqErr(1) ! LCOV_EXCL_LINE
    1468           1 :         assertion = Err%occurred
    1469           1 :     end function test_getInqErr_2
    1470             : 
    1471             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1472             : 
    1473           1 :     function test_getInqErr_3() result(assertion)
    1474           1 :         use Err_mod, only: Err_type
    1475             :         implicit none
    1476             :         logical :: assertion
    1477           1 :         type(Err_type) :: Err
    1478             :         Err = getInqErr(-1) ! LCOV_EXCL_LINE
    1479           1 :         assertion = Err%occurred
    1480           1 :     end function test_getInqErr_3
    1481             : 
    1482             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1483             : 
    1484             :     !> \brief
    1485             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1486           1 :     function test_getExistStatus_1() result(assertion)
    1487           1 :         use Err_mod, only: Err_type
    1488             :         implicit none
    1489             :         logical :: assertion
    1490             :         logical :: exists
    1491           1 :         type(Err_type) :: Err
    1492           1 :         call getExistStatus(exists, Err, unit = -1, file = "")
    1493           1 :         assertion = Err%occurred
    1494           1 :     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           1 :     function test_getExistStatus_2() result(assertion)
    1501           1 :         use Err_mod, only: Err_type
    1502             :         implicit none
    1503             :         logical :: assertion
    1504             :         logical :: exists
    1505           1 :         type(Err_type) :: Err
    1506           1 :         call getExistStatus(exists, Err)
    1507           1 :         assertion = Err%occurred
    1508           1 :     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           1 :     function test_getExistStatus_3() result(assertion)
    1515           1 :         use Err_mod, only: Err_type
    1516             :         implicit none
    1517             :         logical :: assertion
    1518             :         logical :: exists
    1519           1 :         type(Err_type) :: Err
    1520           1 :         call getExistStatus(exists, Err, unit = 123)
    1521           1 :         assertion = .not. Err%occurred
    1522           1 :     end function test_getExistStatus_3
    1523             : 
    1524             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1525             : 
    1526             :     !> \brief
    1527             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1528           1 :     function test_getOpenStatus_1() result(assertion)
    1529           1 :         use Err_mod, only: Err_type
    1530             :         implicit none
    1531             :         logical :: assertion
    1532             :         logical :: isOpen
    1533           1 :         type(Err_type) :: Err
    1534           1 :         call getOpenStatus(isOpen, Err, unit = 124, file = "")
    1535           1 :         assertion = Err%occurred
    1536           1 :     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           1 :     function test_getOpenStatus_2() result(assertion)
    1543           1 :         use Err_mod, only: Err_type
    1544             :         implicit none
    1545             :         logical :: assertion
    1546             :         logical :: isOpen
    1547           1 :         type(Err_type) :: Err
    1548           1 :         call getOpenStatus(isOpen, Err)
    1549           1 :         assertion = Err%occurred
    1550           1 :     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           1 :     function test_getOpenStatus_3() result(assertion)
    1557           1 :         use Err_mod, only: Err_type
    1558             :         implicit none
    1559             :         logical :: assertion
    1560             :         logical :: isOpen
    1561           1 :         type(Err_type) :: Err
    1562           1 :         call getOpenStatus(isOpen, Err, unit = 123)
    1563           1 :         assertion = .not. Err%occurred
    1564           1 :     end function test_getOpenStatus_3
    1565             : 
    1566             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1567             : 
    1568             :     !> \brief
    1569             :     !> Check inquire with an input file name.
    1570           1 :     function test_getOpenStatus_4() result(assertion)
    1571           1 :         use Err_mod, only: Err_type
    1572             :         implicit none
    1573             :         logical :: assertion
    1574             :         logical :: isOpen
    1575           1 :         type(Err_type) :: Err
    1576           1 :         call getOpenStatus(isOpen, Err, file = "nonexisting.file")
    1577           1 :         assertion = .not. isOpen .and. .not. Err%occurred
    1578           1 :     end function test_getOpenStatus_4
    1579             : 
    1580             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1581             : 
    1582             :     !> \brief
    1583             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1584           1 :     function test_getNumber_1() result(assertion)
    1585           1 :         use Err_mod, only: Err_type
    1586             :         implicit none
    1587             :         logical :: assertion
    1588           1 :         type(Err_type) :: Err
    1589             :         logical :: isNumbered
    1590             :         integer :: number
    1591           1 :         call getNumber(isNumbered, number, Err, unit = 124, file = "")
    1592           1 :         assertion = Err%occurred
    1593           1 :     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           1 :     function test_getNumber_2() result(assertion)
    1600           1 :         use Err_mod, only: Err_type
    1601             :         implicit none
    1602             :         logical :: assertion
    1603           1 :         type(Err_type) :: Err
    1604             :         logical :: isNumbered
    1605             :         integer :: number
    1606           1 :         call getNumber(isNumbered, number, Err)
    1607           1 :         assertion = Err%occurred
    1608           1 :     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           1 :     function test_getNumber_3() result(assertion)
    1615           1 :         use Err_mod, only: Err_type
    1616             :         implicit none
    1617             :         logical :: assertion
    1618           1 :         type(Err_type) :: Err
    1619             :         logical :: isNumbered
    1620             :         integer :: number
    1621           1 :         call getNumber(isNumbered, number, Err, unit = 124)
    1622           1 :         assertion = .not. Err%occurred .and. number == -1 .and. .not. isNumbered
    1623           1 :     end function test_getNumber_3
    1624             : 
    1625             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1626             : 
    1627             :     !> \brief
    1628             :     !> Check inquire with an input file name.
    1629           1 :     function test_getNumber_4() result(assertion)
    1630           1 :         use Err_mod, only: Err_type
    1631             :         implicit none
    1632             :         logical :: assertion
    1633           1 :         type(Err_type) :: Err
    1634             :         logical :: isNumbered
    1635             :         integer :: number
    1636           1 :         call getNumber(isNumbered, number, Err, file = "nonexisting.file")
    1637           1 :         assertion = .not. Err%occurred .and. number == -1 .and. .not. isNumbered
    1638           1 :     end function test_getNumber_4
    1639             : 
    1640             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1641             : 
    1642             :     !> \brief
    1643             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1644           1 :     function test_getName_1() result(assertion)
    1645           1 :         use Err_mod, only: Err_type
    1646             :         implicit none
    1647             :         logical :: assertion
    1648           1 :         type(Err_type) :: Err
    1649             :         logical :: isNamed
    1650           1 :         character(:), allocatable :: nameByCompiler
    1651           1 :         call getName(isNamed, nameByCompiler, Err, unit = 124, file = "")
    1652           1 :         assertion = Err%occurred
    1653           1 :     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           1 :     function test_getName_2() result(assertion)
    1660           1 :         use Err_mod, only: Err_type
    1661             :         implicit none
    1662             :         logical :: assertion
    1663           1 :         type(Err_type) :: Err
    1664             :         logical :: isNamed
    1665           1 :         character(:), allocatable :: nameByCompiler
    1666           1 :         call getName(isNamed, nameByCompiler, Err)
    1667           1 :         assertion = Err%occurred
    1668           1 :     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           1 :     function test_getName_3() result(assertion)
    1675           1 :         use Err_mod, only: Err_type
    1676             :         implicit none
    1677             :         logical :: assertion
    1678           1 :         type(Err_type) :: Err
    1679             :         logical :: isNamed
    1680           1 :         character(:), allocatable :: nameByCompiler
    1681           1 :         call getName(isNamed, nameByCompiler, Err, unit = 124)
    1682           1 :         assertion = .not. Err%occurred .and. .not. isNamed
    1683           1 :     end function test_getName_3
    1684             : 
    1685             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1686             : 
    1687             :     !> \brief
    1688             :     !> Check inquire with an input file name.
    1689           1 :     function test_getName_4() result(assertion)
    1690           1 :         use Err_mod, only: Err_type
    1691             :         implicit none
    1692             :         logical :: assertion
    1693           1 :         type(Err_type) :: Err
    1694             :         logical :: isNamed
    1695           1 :         character(:), allocatable :: nameByCompiler
    1696           1 :         call getName(isNamed, nameByCompiler, Err, file = "nonexisting.file")
    1697           1 :         assertion = .not. Err%occurred .and. isNamed
    1698             : #if !defined CODECOV_ENABLED
    1699             :         assertion = .true.
    1700             : #endif
    1701           1 :     end function test_getName_4
    1702             : 
    1703             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1704             : 
    1705             :     !> \brief
    1706             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1707           1 :     function test_getAccess_1() result(assertion)
    1708           1 :         use Err_mod, only: Err_type
    1709             :         implicit none
    1710             :         logical :: assertion
    1711           1 :         type(Err_type) :: Err
    1712           1 :         character(:), allocatable :: access
    1713           1 :         call getAccess(access, Err, unit = 124, file = "")
    1714           1 :         assertion = Err%occurred
    1715           1 :     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           1 :     function test_getAccess_2() result(assertion)
    1722           1 :         use Err_mod, only: Err_type
    1723             :         implicit none
    1724             :         logical :: assertion
    1725           1 :         type(Err_type) :: Err
    1726           1 :         character(:), allocatable :: access
    1727           1 :         call getAccess(access, Err)
    1728           1 :         assertion = Err%occurred
    1729           1 :     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           1 :     function test_getAccess_3() result(assertion)
    1736           1 :         use Err_mod, only: Err_type
    1737             :         implicit none
    1738             :         logical :: assertion
    1739           1 :         type(Err_type) :: Err
    1740           1 :         character(:), allocatable :: access
    1741           1 :         call getAccess(access, Err, unit = 124)
    1742           1 :         assertion = .not. Err%occurred
    1743           1 :     end function test_getAccess_3
    1744             : 
    1745             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1746             : 
    1747             :     !> \brief
    1748             :     !> Check inquire with an input file name.
    1749           1 :     function test_getAccess_4() result(assertion)
    1750           1 :         use Err_mod, only: Err_type
    1751             :         implicit none
    1752             :         logical :: assertion
    1753           1 :         type(Err_type) :: Err
    1754           1 :         character(:), allocatable :: access
    1755           1 :         call getAccess(access, Err, file = "nonexisting.file")
    1756           1 :         assertion = .not. Err%occurred
    1757           1 :     end function test_getAccess_4
    1758             : 
    1759             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1760             : 
    1761             :     !> \brief
    1762             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1763           1 :     function test_getForm_1() result(assertion)
    1764           1 :         use Err_mod, only: Err_type
    1765             :         implicit none
    1766             :         logical :: assertion
    1767           1 :         type(Err_type) :: Err
    1768           1 :         character(:), allocatable :: form
    1769           1 :         call getForm(form, Err, unit = 124, file = "")
    1770           1 :         assertion = Err%occurred
    1771           1 :     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           1 :     function test_getForm_2() result(assertion)
    1778           1 :         use Err_mod, only: Err_type
    1779             :         implicit none
    1780             :         logical :: assertion
    1781           1 :         type(Err_type) :: Err
    1782           1 :         character(:), allocatable :: form
    1783           1 :         call getForm(form, Err)
    1784           1 :         assertion = Err%occurred
    1785           1 :     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           1 :     function test_getForm_3() result(assertion)
    1792           1 :         use Err_mod, only: Err_type
    1793             :         implicit none
    1794             :         logical :: assertion
    1795           1 :         type(Err_type) :: Err
    1796           1 :         character(:), allocatable :: form
    1797           1 :         call getForm(form, Err, unit = 124)
    1798           1 :         assertion = .not. Err%occurred
    1799           1 :     end function test_getForm_3
    1800             : 
    1801             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1802             : 
    1803             :     !> \brief
    1804             :     !> Check inquire with an input file name.
    1805           1 :     function test_getForm_4() result(assertion)
    1806           1 :         use Err_mod, only: Err_type
    1807             :         implicit none
    1808             :         logical :: assertion
    1809           1 :         type(Err_type) :: Err
    1810           1 :         character(:), allocatable :: form
    1811           1 :         call getForm(form, Err, file = "nonexisting.file")
    1812           1 :         assertion = .not. Err%occurred
    1813           1 :     end function test_getForm_4
    1814             : 
    1815             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1816             : 
    1817             :     !> \brief
    1818             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1819           1 :     function test_getRecl_1() result(assertion)
    1820           1 :         use Err_mod, only: Err_type
    1821             :         implicit none
    1822             :         logical :: assertion
    1823           1 :         type(Err_type) :: Err
    1824             :         integer :: recl
    1825           1 :         call getRecl(recl, Err, unit = 124, file = "")
    1826           1 :         assertion = Err%occurred
    1827           1 :     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           1 :     function test_getRecl_2() result(assertion)
    1834           1 :         use Err_mod, only: Err_type
    1835             :         implicit none
    1836             :         logical :: assertion
    1837           1 :         type(Err_type) :: Err
    1838             :         integer :: recl
    1839           1 :         call getRecl(recl, Err)
    1840           1 :         assertion = Err%occurred
    1841           1 :     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           1 :     function test_getRecl_3() result(assertion)
    1848           1 :         use Err_mod, only: Err_type
    1849             :         implicit none
    1850             :         logical :: assertion
    1851           1 :         type(Err_type) :: Err
    1852             :         integer :: recl
    1853           1 :         call getRecl(recl, Err, unit = 124)
    1854           1 :         assertion = .not. Err%occurred
    1855           1 :     end function test_getRecl_3
    1856             : 
    1857             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1858             : 
    1859             :     !> \brief
    1860             :     !> Check inquire with an input file name.
    1861           1 :     function test_getRecl_4() result(assertion)
    1862           1 :         use Err_mod, only: Err_type
    1863             :         implicit none
    1864             :         logical :: assertion
    1865           1 :         type(Err_type) :: Err
    1866             :         integer :: recl
    1867           1 :         call getRecl(recl, Err, file = "nonexisting.file")
    1868           1 :         assertion = .not. Err%occurred
    1869           1 :     end function test_getRecl_4
    1870             : 
    1871             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1872             : 
    1873             :     !> \brief
    1874             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1875           1 :     function test_getBlank_1() result(assertion)
    1876           1 :         use Err_mod, only: Err_type
    1877             :         implicit none
    1878             :         logical :: assertion
    1879           1 :         type(Err_type) :: Err
    1880           1 :         character(:), allocatable :: blank
    1881           1 :         call getBlank(blank, Err, unit = 124, file = "")
    1882           1 :         assertion = Err%occurred
    1883           1 :     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           1 :     function test_getBlank_2() result(assertion)
    1890           1 :         use Err_mod, only: Err_type
    1891             :         implicit none
    1892             :         logical :: assertion
    1893           1 :         type(Err_type) :: Err
    1894           1 :         character(:), allocatable :: blank
    1895           1 :         call getBlank(blank, Err)
    1896           1 :         assertion = Err%occurred
    1897           1 :     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           1 :     function test_getBlank_3() result(assertion)
    1904           1 :         use Err_mod, only: Err_type
    1905             :         implicit none
    1906             :         logical :: assertion
    1907           1 :         type(Err_type) :: Err
    1908           1 :         character(:), allocatable :: blank
    1909           1 :         call getBlank(blank, Err, unit = 124)
    1910           1 :         assertion = .not. Err%occurred .and. blank == "undefined"
    1911           1 :         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           1 :     end function test_getBlank_3
    1920             : 
    1921             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1922             : 
    1923             :     !> \brief
    1924             :     !> Check inquire with an input file name.
    1925           1 :     function test_getBlank_4() result(assertion)
    1926           1 :         use Err_mod, only: Err_type
    1927             :         implicit none
    1928             :         logical :: assertion
    1929           1 :         type(Err_type) :: Err
    1930           1 :         character(:), allocatable :: blank
    1931           1 :         call getBlank(blank, Err, file = "nonexisting.file")
    1932           1 :         assertion = .not. Err%occurred .and. blank == "undefined"
    1933           1 :         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           1 :     end function test_getBlank_4
    1942             : 
    1943             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1944             : 
    1945             :     !> \brief
    1946             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    1947           1 :     function test_getPosition_1() result(assertion)
    1948           1 :         use Err_mod, only: Err_type
    1949             :         implicit none
    1950             :         logical :: assertion
    1951           1 :         type(Err_type) :: Err
    1952           1 :         character(:), allocatable :: position
    1953           1 :         call getPosition(position, Err, unit = 124, file = "")
    1954           1 :         assertion = Err%occurred
    1955           1 :     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           1 :     function test_getPosition_2() result(assertion)
    1962           1 :         use Err_mod, only: Err_type
    1963             :         implicit none
    1964             :         logical :: assertion
    1965           1 :         type(Err_type) :: Err
    1966           1 :         character(:), allocatable :: position
    1967           1 :         call getPosition(position, Err)
    1968           1 :         assertion = Err%occurred
    1969           1 :     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           1 :     function test_getPosition_3() result(assertion)
    1976           1 :         use Err_mod, only: Err_type
    1977             :         implicit none
    1978             :         logical :: assertion
    1979           1 :         type(Err_type) :: Err
    1980           1 :         character(:), allocatable :: position
    1981           1 :         call getPosition(position, Err, unit = 124)
    1982           1 :         assertion = .not. Err%occurred .and. position == "undefined"
    1983           1 :         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           1 :     end function test_getPosition_3
    1992             : 
    1993             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1994             : 
    1995             :     !> \brief
    1996             :     !> Check inquire with an input file name.
    1997           1 :     function test_getPosition_4() result(assertion)
    1998           1 :         use Err_mod, only: Err_type
    1999             :         implicit none
    2000             :         logical :: assertion
    2001           1 :         type(Err_type) :: Err
    2002           1 :         character(:), allocatable :: position
    2003           1 :         call getPosition(position, Err, file = "nonexisting.file")
    2004           1 :         assertion = .not. Err%occurred .and. position == "undefined"
    2005           1 :         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           1 :     end function test_getPosition_4
    2014             : 
    2015             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2016             : 
    2017             :     !> \brief
    2018             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    2019           1 :     function test_getAction_1() result(assertion)
    2020           1 :         use Err_mod, only: Err_type
    2021             :         implicit none
    2022             :         logical :: assertion
    2023           1 :         type(Err_type) :: Err
    2024           1 :         character(:), allocatable :: action
    2025           1 :         call getAction(action, Err, unit = 124, file = "")
    2026           1 :         assertion = Err%occurred
    2027           1 :     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           1 :     function test_getAction_2() result(assertion)
    2034           1 :         use Err_mod, only: Err_type
    2035             :         implicit none
    2036             :         logical :: assertion
    2037           1 :         type(Err_type) :: Err
    2038           1 :         character(:), allocatable :: action
    2039           1 :         call getAction(action, Err)
    2040           1 :         assertion = Err%occurred
    2041           1 :     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           1 :     function test_getAction_3() result(assertion)
    2048           1 :         use Err_mod, only: Err_type
    2049             :         implicit none
    2050             :         logical :: assertion
    2051           1 :         type(Err_type) :: Err
    2052           1 :         character(:), allocatable :: action
    2053           1 :         call getAction(action, Err, unit = 124)
    2054           1 :         assertion = .not. Err%occurred .and. action == "undefined"
    2055           1 :         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           1 :     end function test_getAction_3
    2064             : 
    2065             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2066             : 
    2067             :     !> \brief
    2068             :     !> Check inquire with an input file name.
    2069           1 :     function test_getAction_4() result(assertion)
    2070           1 :         use Err_mod, only: Err_type
    2071             :         implicit none
    2072             :         logical :: assertion
    2073           1 :         type(Err_type) :: Err
    2074           1 :         character(:), allocatable :: action
    2075           1 :         call getAction(action, Err, file = "nonexisting.file")
    2076           1 :         assertion = .not. Err%occurred !.and. action == "undefined"
    2077           1 :         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           1 :     end function test_getAction_4
    2086             : 
    2087             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2088             : 
    2089             :     !> \brief
    2090             :     !> The input arguments `unit` and `file` must NOT be present simultaneously.
    2091           1 :     function test_getDelim_1() result(assertion)
    2092           1 :         use Err_mod, only: Err_type
    2093             :         implicit none
    2094             :         logical :: assertion
    2095           1 :         type(Err_type) :: Err
    2096           1 :         character(:), allocatable :: delim
    2097           1 :         call getDelim(delim, Err, unit = 124, file = "")
    2098           1 :         assertion = Err%occurred
    2099           1 :     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           1 :     function test_getDelim_2() result(assertion)
    2106           1 :         use Err_mod, only: Err_type
    2107             :         implicit none
    2108             :         logical :: assertion
    2109           1 :         type(Err_type) :: Err
    2110           1 :         character(:), allocatable :: delim
    2111           1 :         call getDelim(delim, Err)
    2112           1 :         assertion = Err%occurred
    2113           1 :     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           1 :     function test_getDelim_3() result(assertion)
    2120           1 :         use Err_mod, only: Err_type
    2121             :         implicit none
    2122             :         logical :: assertion
    2123           1 :         type(Err_type) :: Err
    2124           1 :         character(:), allocatable :: delim
    2125           1 :         call getDelim(delim, Err, unit = 124)
    2126           1 :         assertion = .not. Err%occurred .and. delim == "undefined"
    2127           1 :         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           1 :     end function test_getDelim_3
    2136             : 
    2137             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    2138             : 
    2139             :     !> \brief
    2140             :     !> Check inquire with an input file name.
    2141           1 :     function test_getDelim_4() result(assertion)
    2142           1 :         use Err_mod, only: Err_type
    2143             :         implicit none
    2144             :         logical :: assertion
    2145           1 :         type(Err_type) :: Err
    2146           1 :         character(:), allocatable :: delim
    2147           1 :         call getDelim(delim, Err, file = "nonexisting.file")
    2148           1 :         assertion = .not. Err%occurred !.and. delim == "undefined"
    2149           1 :         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           1 :     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