Design: 05.02/P02

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 2: Display surface flag

CHARACTERISTICS: ynnn

OPERATOR SCRIPT: passive test.

DESIGN:

create structure 101 with
   polymarker in default workstation window
create structure 102 with
   polyline in default workstation window
create structure 103 with
   fill area outside default workstation window

<open workstation>
<set display update state> ASAP, NIVE

TEST: #SR 4 9 10 12
      "After <open workstation>, until something is drawn inside
       the workstation window, the display surface should be
       reported as EMPTY."
pass/fail depending on (display surface flag = EMPTY)

<post structure> 101
TEST: #SR 4 10 11
      "After a visible primitive is first posted to a workstation
       with deferral mode ASAP, the display surface should be
       reported as NOTEMPTY."
pass/fail depending on (display surface flag = NOTEMPTY)

<post structure> 102
TEST: #SR 4 10 11
      "After posting of additional visible primitives to a
       workstation with deferral mode ASAP, the display surface
       should be continue to be reported as NOTEMPTY."
pass/fail depending on (display surface flag = NOTEMPTY)

<unpost all structures> from workstation
TEST: #SR 4 10 12
      "After all structures have been unposted from a workstation
       with deferral mode ASAP, the display surface should be
       reported as EMPTY."
pass/fail depending on (display surface flag = EMPTY)

<post structure> 103 (off-screen)
TEST: #SR 4 10 12
      "If a structure is posted to a workstation with deferral
       mode ASAP, but none of its primitives lie within the
       workstation window, the display surface should be reported
       as EMPTY."
pass/fail depending on (display surface flag = EMPTY)

<set display update state> WAIT, NIVE

<unpost all structures> from workstation
<post structure> 101
<redraw all structures>
TEST: #SR 4 10 11
      "After a visible primitive is first posted and the
       workstation is then explicitly updated, the display
       surface should be reported as NOTEMPTY."
pass/fail depending on (display surface flag = NOTEMPTY)

<unpost all structures> from workstation
<update workstation> with PERFORM
TEST: #SR 4 10 12
      "After all structures have been unposted and the
       workstation is then explicitly updated, the display
       surface should be reported as EMPTY."
pass/fail depending on (display surface flag = EMPTY)

<close workstation>

END PROGRAM 2