Design: 02.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: Inquiring about structure identifiers

CHARACTERISTICS: nnnn

OPERATOR SCRIPT: passive test.

DESIGN:

Use <open structure> and <execute structure> to set up
the CSS as follows:

                 101        106       108
                / | \       /
               /  |  \    1/
             1/  2|  3\   /
             /    |    \ /
            /     |    107
           /      |
        102      103
        | \      / \\
        |  \   1/   \\
       1|  2\  /    2\\3
        |    \/       \\
        |    104      105
        |     |      /
        |    1|    1/
         \    |    /
          \   |   /
           \  |  /
            \ | /
             109

The nodes of the graph (101-109) represent structures, and the
labeled edges are references to invoked (lower) structures.
The labels (1-3) represent the element position of the <execute
structure> function within the calling structure.  Eg, an element
reference path from 101 to 109 would be: ( (101, 2), (103, 3),
(105, 1), (109, 0) ).

TEST: #SR 1 2
      "<Inquire structure identifiers> should retrieve all identifiers
       as created by <open structure> and <execute structure>."

Use <inquire structure identifiers> to get:
  lasi = list of all structure identifiers.

pass/fail depending on (lasi contains exactly: 101, 102, 103,
     104, 105, 106, 107, 108, 109)

END PROGRAM 1