Design: 09.01.04.02/P03

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 3: Error 152 handled by system

CHARACTERISTICS: ynny

OPERATOR SCRIPT:
See OPERATOR SCRIPT for Program 1.

DESIGN:
Throughout this program, every time an error is signalled (as noted
by the tag "signals error"), the system-defined error handler should
call <error logging> to write in error message on the error file.

Given invalid viewport limits to test if functions 88,89 generate error 152:
ignoring function, invalid viewport: XMIN>=XMAX, YMIN>=YMAX, or ZMIN>ZMAX.

*** *** ***  Generate errors; test absence of side effects  *** *** ***

<open workstation> wkid

Use <inquire display space size 3> to get:
     maximum display size dx,dy,dz (DC)
xx = dx/2
yy = dy/2
zz = dz/2
<set workstation viewport 3> with xmin=0.0, xmax=xx, ymin=0., ymax=yy,
     zmin=0., zmax=zz
<set workstation viewport 3> with xmin=xx, xmax=0., ymin=0., ymax=dy,
     zmin=0.,zmax=dz: signals error
Use <inquire workstation transformation 3> to get:
     current workstation viewport limits: xmin1,xmax1,ymin1,ymax1,zmin1,zmax1
TEST: #SR 3
      "If <set workstation viewport 3> signals an error because the specified
       workstation viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or
       ZMIN>ZMAX, it should not cause any other effect."
pass/fail depending on (system state = PHIGS-open and
                        workstation state = open  and
                        xmin1=0 and xmax1=xx and ymin=0 and ymax=yy and
                        zmin1=0 and zmax1=zz)

<set workstation viewport 3> with xmin=0., xmax=dx, ymin=yy, ymax=0.,
     zmin=0.,zmax=dy: signals error

<set workstation viewport 3> with xmin=0., xmax=dx, ymin=0., ymax=dy,
     zmin=zz,zmax=0.: signals error

<set workstation viewport 3> with xmin=0., xmax=dx, ymin=yy, ymax=yy,
     zmin=zz,zmax=zz: signals error

Use <inquire display space size> to get:
     display space size dx, dy
xx=dx/2
yy=dy/2
<set workstation viewport> with xmin=xx, xmax=0., ymin=0., ymax=dy:
     signals error

<set workstation viewport> with xmin=0., xmax=dx, ymin=yy, ymax=0.:
     signals error

<set workstation viewport> with xmin=0., xmax=xx, ymin=0., ymax=yy
<set workstatino viewport> with xmin=xx, xmax=0., ymin=yy, ymax=0.:
     signals error
Use <inquire workstation transformation> to get:
     workstation viewport limits: xmin1,xmax1,ymin1,ymax1
TEST: #SR 3
      "If <set workstation viewport> signals an error because the specified
       workstation viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or
       ZMIN>ZMAX, it should not cause any other effect."
pass/fail depending on (system state = PHIGS-open and
                        workstation state = open  and
                        xmin1=0 and xmax1=xx and ymin1=0 and ymax1=yy)

<close workstation> wkid

*** *** ***  Results of system-defined error handling  *** *** ***

TEST: #SR 3
      "If <set workstation viewport 3> is called and the specified
       workstation viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or
       ZMIN>ZMAX, it should write an accurate, self-identifying error message
       on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 3
      "If <set workstation viewport 3> is called and the specified workstation
       viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or ZMIN>ZMAX,
       it should write an accurate, self-identifying error message
       on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 3
      "If <set workstation viewport 3> is called and the specified workstation
       viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or ZMIN>ZMAX,
       it should write an accurate, self-identifying error message
       on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 3
      "If <set workstation viewport 3> is called and the specified workstation
       viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or ZMIN>ZMAX,
       it should write an accurate, self-identifying error message
       on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 3
      "If <set workstation viewport> is called and the specified workstation
       viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or ZMIN>ZMAX,
       it should write an accurate, self-identifying error message
       on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 3
      "If <set workstation viewport> is called and the specified workstation
       viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or ZMIN>ZMAX,
       it should write an accurate, self-identifying error message
       on the error file."
pass/fail depending on (operator verifies error message)

TEST: #SR 3
      "If <set workstation viewport> is called and the specified workstation
       viewport limits are invalid: XMIN>=XMAX, YMIN>=YMAX, or ZMIN>ZMAX,
       it should write an accurate, self-identifying error message
       on the error file."
pass/fail depending on (operator verifies error message)

END PROGRAM 3