Design: 06.03/P04
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 4: Update status of INPUT workstation transformation
CHARACTERISTICS: nnnn
OPERATOR SCRIPT: passive test.
DESIGN:
linwk = list of accessible workstations of category INPUT
if (linwk is empty) then
message: no INPUT workstations to be tested
goto done
endif
TEST: #SR 15 20
"For all workstations of category INPUT, the workstation
transformation update state should always be NOTPENDING
and reported as such."
for each iwk in linwk
<open workstation> iwk
<Set display update state> to WAIT, NIVE to try to defer
updates
<inquire workstation transformation 3> to determine original
current state:
ocwin = 3D window
ocvwp = 3D viewport
alter workstation transformation:
<set workstation window 3> = nwwin = ocwin / 2
<set workstation viewport 3> = nwvwp = ocvwp / 2
<inquire workstation transformation 3> to determine new
current state:
wtupd = workstation transformation update state
cuwin = current 3D window
cuvwp = current 3D viewport
<close workstation> iwk
if (wtupd not= NOTPENDING) then
fail
message about wtupd
goto done
endif
if ( cuwin = nwwin and
cuvwp = nwvwp ) then
OK so far
else
fail
message about current values
goto done
endif
next iwk
pass
done:
END PROGRAM 4