Design: 02.02.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: Generalized structure element
CHARACTERISTICS: nnnn
OPERATOR SCRIPT: passive test.
DESIGN:
Use <inquire current element type and size> thoughout to determine:
celtyp = current element type
celsiz = current element size
Use <inquire current element content> throughout to determine:
celcon = current element content
dr = data record to hold
integers: 174, 175, 176
reals: 17.4, 17.5, 17.6
strings: "This is a GSE test string.", "This is another."
TEST: #SR 12
"<Inquire generalized structure element facilities> should
return a valid list of GSE identifiers and workstation
dependency indicators."
<inquire generalized structure element facilities> to set
ugseid = an unsupported GSE identifier
lgseim = list of workstation-dependent GSE's for this
implementation.
pass/fail depending on (output from <inquire generalized
structure element facilities> is valid)
<generalized structure element> with ugseid, dr
TEST: #SR 7 8 9
"<Inquire current element type and size> should return
generalized structure element as the type of the created element
and the appropriate element size."
<inquire current element type and size> to set celtyp, celsiz
pass/fail depending on
(celtyp = generalized structure element and
celsiz = values specified by the standard and language binding)
TEST: #SR 7 8 10
"<Inquire current element content> should return the standard
representation for generalized structure element."
<inquire current element content> to set celcon
pass/fail depending on
(celcon = representation as specified by the standard and
language binding)
gsemsg = 'No error yet'
lgseim = list of workstation-dependent GSE's for this
implementation.
<inquire list of available workstation types> to get list of all
workstation types
for each workstation type
<inquire list of available generalized structure elements>
to get list of all generic workstation GSE's
if (cannot inquire on generic type) goto end_gse
for each workstation GSE
if (workstation GSE matches at least one element from lgseim) then
mark implementation GSE as matched
else
gsemsg = 'Unmatched workstation GSE.'
goto perform_test
endif
next workstation GSE
next workstation type
if all implementation GSE elements are marked then
do nothing
else
gsemsg = 'Unmatched PHIGS GSE.'
goto perform_test
endif
perform_test:
TEST: #SR 11 12 13
"The set of workstation dependent GSEs within the PHIGS GSE list
as reported by <inquire generalized structure element facilities>
should be the union of the workstation GSE lists as reported by
<inquire list of available generalized structure elements>."
if (gsemsg = 'No error yet') then
pass
else
fail
informative message: gsemsg
endif
end_gse:
END PROGRAM 3