Design: 04.03.03/P03

This is an abstract, language-independent design. Grim details may be found in the corresponding source code. You may return to the documentation for the module containing this program design, or to the entire hierarchical table of topics covered by the PVT.


PROGRAM 3: HLHSR facilities

CHARACTERISTICS: ynnn

OPERATOR SCRIPT: passive test.

DESIGN:

<inquire HLHSR facilities> to determine
   naid  = number of available HLHSR identifiers
   namod = number of available HLHSR modes

*** *** *** *** HLHSR identifier tests *** *** *** ***

errcod = false
defid  = false = default identifier

do hr = 1 to naid
   thisid = hr'th identifier in the list
   keep track of non-zero error indicators:
   if errind not= 0 then
      errcod = true
      message about errind and thisid
      goto loop
   endif
   check for HLHSR identifier 0
   if thisid = 0 then
      defid = true
   endif
loop

TEST: #SR 8
      "All HLHSR identifiers in the list of available HLHSR identifiers
       should be accessible."
pass/fail depending on (NOT errcod)

TEST: #SR 9
      "The reported number of HLHSR identifiers should be at least 1."
pass/fail depending on (naid >= 1)

TEST: #SR 9
      "The list of available HLHSR identifiers should contain 0."
pass/fail depending on (defid)

*** *** *** *** HLHSR mode tests *** *** *** ***

errcod = false
defmod = false = default mode

do hr = 1 to namod
   thismd = hr'th mode in the list
   keep track of non-zero error indicators:
   if errind not= 0 then
      errcod = true
      message about errind and thismd
      goto loop
   endif
   check for HLHSR mode 0
   if thismd = 0 then
      defmod = true
   endif
loop

TEST: #SR 8
      "All HLHSR modes in the list of available HLHSR modes
       should be accessible."
pass/fail depending on (NOT errcod)

TEST: #SR 10
      "The reported number of HLHSR modes should be at least 1."
pass/fail depending on (namod >= 1)

TEST: #SR 10
      "The list of available HLHSR modes should contain 0."
pass/fail depending on (defmod)

TEST: #SR 11
      "All modes within the reported list of available HLHSR modes
       should be valid."
do hr = 1 to namod
  thismd = hr'th mode in the list
  <set HLHSR mode> to thismd
  if rejected as invalid then
     fail
     message about thismd
     goto done
  endif
  <inquire HLHSR mode> to determine
     reqmod = requested HLHSR mode
  if reqmod not= thismd
     fail
     message about reqmod and thismd
     goto done
  endif
loop
pass

done:

END PROGRAM 3