Design: 04.02.02.02/P09

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 9: Appearance of predefined polymarker bundles

CHARACTERISTICS: ynny

OPERATOR SCRIPT:

WORKSTATION DESCRIPTION AND STATE LIST TABLES, INDICES 1-5: This
screen displays 6 pairs (consisting of the first 5, with one
repeated) of predefined polymarker bundles and individual
polymarkers.  Identify the pair of polymarkers that is different.

WORKSTATION DESCRIPTION AND STATE LIST TABLES, INDICES > 5: This
screen displays several pairs (at most 8) of predefined
polymarker bundles and individual polymarkers.  Identify the pair
of polymarkers that is different.

PREDEFINED POLYMARKER BUNDLES: This screen displays a sample (at
most 8) of predefined polymarker bundles and their bundle values
for marker type, marker size scale factor, and color index, as
reported by <inquire predefined polymarker representation>.  For
each displayed bundle, verify that 1) the actual appearance of
the polymarker agrees with the aspect values reported on the
screen and 2) these both agree with any external documentation
provided by the implementor.

DESIGN:

set all ASFs to BUNDLED

use <inquire polymarker facilities> to determine:
  nprei  = number of predefined bundles

*** *** ***   predefined polymarker bundles 1-5

numbun = 6
bundis = bundles to be displayed (1 to 5, with one repeated)
bundif = location of repeated bundle identifier (so that all 5
         may be verified)

TEST: #SR 3 6 20 24
      "Immediately after <open workstation>, the first five
       defined polymarker bundles of the WSL should appear as
       specified in the corresponding predefined polymarker
       bundles of the WDT."

The actual results (polymarkers drawn from initial state of WSL)
are drawn on the left side of the picture. The corresponding
expected results (polymarker with individual attributes taken
from WDT) are drawn on the right side, except for one
polymarker which will be different.

display and label actual results from bundis.

set marker type, marker size and color index ASF to individual

for ix = 1, numbun
   <inquire predefined polymarker representation> on index
        bundis(ix), determine:
      pdmt = predefined marker type
      pdmw = predefined marker size scale factor
      pdci = predefined polymarker color index
    if (ix = bundif) then
       pdmt = (pdmt mod 5) + 1
       pdmw = pdmw * 1.25
       pdci = (pdci mod 5) + 1
    endif
    draw polymarker with pdmt, pdmw, pdci
next ix

OPQA/WORKSTATION DESCRIPTION AND STATE LIST TABLES, INDICES 1-5:
   Which pair of markers does NOT match?
pass/fail depending on (operator selects bundif)

*** *** ***   predefined polymarker bundles > 5

if nprei <= 5 then
   skip to end_comp_tables
endif

numbun = min (8, nprei-5)
bundis = distinct bundles to be displayed - randomly chosen
         from [6,nprei] predefined bundles

TEST: #SR 3 6 20 24
      "Immediately after <open workstation>, the defined
       polymarker bundles > 5 of the WSL should appear as
       specified in the corresponding predefined polymarker
       bundles of the WDT."

The actual results (polymarkers drawn from initial state of WSL)
are drawn on the left side of the picture. The corresponding
expected results (polymarker with individual attributes copied
from WDT) are drawn on the right side, except for one
polymarker which will be different.

display and label bundis

bundif = randomly selected bundle from bundis
set marker type, marker size and color index ASF to individual

for ix = 1, numbun
   <inquire predefined polymarker representation> on index
        bundis(ix), determine
      pdmt = predefined marker type
      pdmw = predefined marker size scale factor
      pdci = predefined polymarker color index
    if (ix = bundif) then
       pdmt = (pdmt mod 5) + 1
       pdmw = pdmw * 1.25
       pdci = (pdci mod 5) + 1
    endif
    draw polymarker with pdmt, pdmw, pdci
next ix

OPQA/WORKSTATION DESCRIPTION AND STATE LIST TABLES, INDICES > 5:
   Which pair of markers does NOT match?
pass/fail depending on (operator selects bundif)

end_comp_tables:

*** ***  predefined bundle descriptions   *** ***

TEST: #SR 3 6 20
      "The appearance of predefined polymarker bundles should
       agree with the descriptions supplied by the implementor."

numbun = min(8, nprei)
bundis = distinct bundles to be displayed, sorted

for ix = 1 to numbun
   <inquire predefined polymarker representation> for index ix, determine
      pdmt = marker type
      pdmw = marker size scale factor
      pdci = polymarker color index
   display and label ixth entry in bundis and its pdmt, pdmw, pdci
next ix

OPQA/PREDEFINED POLYMARKER BUNDLES: Does the appearance of each
  polymarker agree with the displayed aspect values for that bundle?
if (operator responds "yes") then
   OPQA/PREDEFINED POLYMARKER BUNDLES: If the implementor provides
      external documentation, is it consistent with the polymarker
      appearance and displayed aspect values for every bundle
      identifier?
   pass/fail depending on (operator responds "yes")
else
   fail
endif

END PROGRAM 9