Design: 04.02.01.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 polyline 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 polyline bundles and individual
polylines. Identify the pair of polylines that is different.
WORKSTATION DESCRIPTION AND STATE LIST TABLES, INDICES > 5: This
screen displays several pairs (at most 8) of predefined polyline
bundles and individual polylines. Identify the pair of polylines
that is different.
PREDEFINED POLYLINE BUNDLES: This screen displays a sample (at
most 8) of predefined polyline bundles and their bundle values
for linetype, linewidth scale factor, and color index, as
reported by <inquire predefined polyline representation>. For
each displayed bundle, verify that 1) the actual appearance of
the polyline 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 polyline facilities> to determine:
nprei = number of predefined bundles
*** *** *** predefined polyline 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 polyline bundles of the WSL should appear as
specified in the corresponding predefined polyline
bundles of the WDT."
The actual results (polylines drawn from initial state of WSL)
are drawn on the left side of the picture. The corresponding
expected results (polyline with individual attributes taken
from WDT) are drawn on the right side, except for one
polyline which will be different.
display and label actual results from bundis.
set linetype, linewidth and color index ASF to individual
for ix = 1, numbun
<inquire predefined polyline representation> on index
bundis(ix), determine:
pdlt = predefined linetype
pdlw = predefined linewidth scale factor
pdci = predefined polyline color index
if (ix = bundif) then
pdlt = (pdlt mod 4) + 1
pdlw = pdlw * 1.25
pdci = (pdci mod 5) + 1
endif
draw polyline with pdlt, pdlw, pdci
next ix
OPQA/WORKSTATION DESCRIPTION AND STATE LIST TABLES, INDICES 1-5:
Which pair of lines does NOT match?
pass/fail depending on (operator selects bundif)
*** *** *** predefined polyline 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
polyline bundles > 5 of the WSL should appear as
specified in the corresponding predefined polyline
bundles of the WDT."
The actual results (polylines drawn from initial state of WSL)
are drawn on the left side of the picture. The corresponding
expected results (polyline with individual attributes copied
from WDT) are drawn on the right side, except for one
polyline which will be different.
display and label bundis
bundif = randomly selected bundle from bundis
set linetype, linewidth and color index ASF to individual
for ix = 1, numbun
<inquire predefined polyline representation> on index
bundis(ix), determine
pdlt = predefined linetype
pdlw = predefined linewidth scale factor
pdci = predefined polyline color index
if (ix = bundif) then
pdlt = (pdlt mod 4) + 1
pdlw = pdlw * 1.25
pdci = (pdci mod 5) + 1
endif
draw polyline with pdlt, pdlw, pdci
next ix
OPQA/WORKSTATION DESCRIPTION AND STATE LIST TABLES, INDICES > 5:
Which pair of lines 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 polyline 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 polyline representation> for index ix, determine
pdlt = linetype
pdlw = linewidth scale factor
pdci = polyline color index
display and label ixth entry in bundis and its pdlt, pdlw, pdci
next ix
OPQA/PREDEFINED POLYLINE BUNDLES: Does the appearance of each
polyline agree with the displayed aspect values for that bundle?
if (operator responds "yes") then
OPQA/PREDEFINED POLYLINE BUNDLES: If the implementor provides
external documentation, is it consistent with the polyline
appearance and displayed aspect values for every bundle
identifier?
pass/fail depending on (operator responds "yes")
else
fail
endif
END PROGRAM 9