Design: 04.03.04.02/P01

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 1: Highlighting filter - setting and inquiring

CHARACTERISTICS: ynnn

OPERATOR SCRIPT: passive test.

DESIGN:
<open workstation>

TEST: #SR 2 3
      "Immediately after opening the workstation, the
       highlighting filter inclusion and exclusion sets should be
       null."
<inquire highlighting filter>
pass/fail depending on (inclusion = null and
                        exclusion = null)

TEST: #SR 1 2 10
      "Highlighting filter should be reported as it was set for
       any set of names drawn from the accessible range."
<set highlighting filter>:
   orig_inclusion set = 2,4,8,44,63
   orig_exclusion set = 0,4,5,32,59
<inquire highlighting filter>
pass/fail depending on (inclusion set = orig_inclusion and
                        exclusion set = orig_inclusion)

TEST: #SR 1 2
      "Highlighting filter should be reported as it was re-set
       for any set of names drawn from the accessible range."
<set highlighting filter>
   new_inclusion set = 59,47
   new_exclusion set = 13,15,18
<inquire highlighting filter>
pass/fail depending on (inclusion set = new_inclusion  and
                        exclusion set = new_exclusion)

TEST: #SR 1 2 11
      "Highlighting filter should be capable of containing at
       at least 64 names in its inclusion and exclusion sets."
<set highlighting filter>
   new_inclusion set = 0,1,2, ... ,62,63
   new_exclusion set = 0,1,2, ... ,62,63
<inquire highlighting filter>
pass/fail depending on (inclusion set = new_inclusion  and
                        exclusion set = new_exclusion)

<inquire PHIGS facilities> to determine
  nanams = number of available names in namesets
TEST: #SR 1 2 12
      "Highlighting filter should be capable of containing the
       minimum and maximum allowed value for a name."
<set highlighting filter>
   new_inclusion set = 0,nanams-1
   new_exclusion set = 0,nanams-1
<inquire highlighting filter>
pass/fail depending on (inclusion set = new_inclusion  and
                        exclusion set = new_exclusion)

TEST: #SR 1 2 12 13
      "Highlighting filter should contain only the valid names as set;
       invalid names specified by <set highlighting filter> should be
       ignored."
<set highlighting filter>
   inv_inclusion set = 0, nanams-1, nanams,    -10
   inv_exclusion set = 0, nanams-1, nanams+10, -10
<inquire highlighting filter>
pass/fail depending on (inclusion set = new_inclusion  and
                        exclusion set = new_exclusion)

TEST: #SR 2 3
      "Immediately after re-opening the workstation, the
       highlighting filter inclusion and exclusion sets should be
       null."

<close workstation>
<open workstation>

<inquire highlighting filter>
pass/fail depending on (inclusion = null and
                        exclusion = null)
<close workstation>

END PROGRAM 1