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