Design: 05.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: Setting and inquiring display update state
CHARACTERISTICS: ynnn
OPERATOR SCRIPT: passive test.
DESIGN:
<open workstation>
TEST: #SR 1 2 5
"<Inquire default display update state> should report a
valid default deferral and modification mode."
<inquire default display update state> to determine
ddef = default deferral mode
dmod = default modification mode
pass/fail depending on (successful inquire and
ddef is valid and
dmod is valid)
opstat = "opening"
open_test:
TEST: #SR 4 8
"<Inquire display update state> should report the current
deferral and modification mode to be the same as the
default after " + opstat + " the workstation, but before
they are explicitly set."
<inquire display update state> to determine
adef = actual deferral mode
amod = actual modification mode
dsurf = display surface
svr = state of visual representation
pass/fail depending on (successful inquire and
adef = ddef and
amod = dmod)
TEST: #SR 4 9 13
"Immediately after " + opstat + " the workstation, <inquire
display update state> should report the display surface as
EMPTY and the state of visual representation as CORRECT."
pass/fail depending on (successful inquire and
dsurf = EMPTY and
svr = CORRECT)
if (opstat = "opening") then
if (ddef = ASAP) then
dm = ASTI
else
dm = ASAP
endif
if (dmod = UQUM) then
mm = UWOR
else
mm = UQUM
endif
<set display update state> dm,mm
post visible structure to workstation
<close workstation>
<open workstation>
opstat = "re-opening"
goto open_test
endif
TEST: #SR 1 2 3 4
"<Set display update state> should be able to set any
valid deferral and modification mode."
for dm = ASAP, ASTI, BNIL, BNIG, WAIT and
for mm = NIVE, UWOR, UQUM
<set display update state> dm,mm
<inquire display update state> to determine
rdm = reported deferral mode
rmm = reported modification mode
if (inquire reports error or
rdm not= dm or
rmm not= mm ) then
fail
goto done
endif
next mm
next dm
pass
done:
<close workstation>
END PROGRAM 1