Design: 04.03.01/P01

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 1: Set individual ASF 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

*** *** ***   Set individual ASF for each ASF value   *** *** ***

badtyp = false
badcon = false

for each attribute-id (atrid) from LINETYPE to EDGE_COLOUR_INDEX and
   for each ASF-value (asfval) from INDIVIDUAL to BUNDLED

      <set individual ASF> with atrid, asfval

      <inquire current element type and size>
      if returned type and size data is incorrect then
         set badtyp = true
         goto over1
      endif

   next ASF-value
next attribute-id

over1:

TEST: #SR 1 2 4 5
      "<Inquire current element type and size> should return
       set individual ASF as the type of the created
       element and the appropriate element size."

if badtyp then
   fail
   information message on atrid and asfval
else
   pass
endif

for each attribute-id (atrid) from LINETYPE to EDGE_COLOUR_INDEX and
   for each ASF-value (asfval) from INDIVIDUAL to BUNDLED

      <set individual ASF> with atrid, asfval

      <inquire current element content>
      if returned content data is incorrect then
         set badcon = true
         goto over2
      endif

   next ASF-value
next attribute-id

over2:

TEST: #SR 1 3 4 5
      "<Inquire current element content> should return the standard
       representation for set individual ASF."

if badcon then
   fail
   information message on atrid and asfval
else
   pass
endif

END PROGRAM 1