Design: 03.02/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: Setting and inquiring conflict resolution flags

CHARACTERISTICS: nnnn

OPERATOR SCRIPT: passive test.

DESIGN:

Throughout, use variable names:
arcrst : archival conflict resolution flag, as set
recrst : retrieval conflict resolution flag, as set
arcriq : archival conflict resolution flag, as inquired
recriq : retrieval conflict resolution flag, as inquired

<open phigs>

TEST: #SR 1 3
      "Immediately after <open phigs>, the archival conflict
       resolution flag should be reported as UPDATE and the
       retrieval conflict resolution flag should be reported as
       ABANDON."
<inquire conflict resolution>  to determine:
   arcriq = current archival conflict resolution flag
   recriq = current retrieval conflict resolution flag
pass/fail depending on (arcriq = UPDATE and recriq = ABANDON)


TEST: #SR 2 3
      "It should be possible to set and inquire the conflict
       resolution flags to all combinations of valid values:
       MAINTAIN, ABANDON, and UPDATE."

do arcrst = MAINTAIN, ABANDON, UPDATE
   do recrst = MAINTAIN, ABANDON, UPDATE
      <set conflict resolution> with arcrst, recrst
      <inquire conflict resolution> to determine:
         arcriq = current archival conflict resolution flag
         recriq = current retrieval conflict resolution flag
      if (arcrst = arcriq and recrst = recriq) then
         OK so far
      else
         informative message about failure:
            arcrst, recrst, arcriq, recriq
         fail
         goto end_set_loop
      endif
   loop
loop
pass
end_set_loop:

<set conflict resolution> with MAINTAIN, MAINTAIN

<close phigs>

<open phigs>

TEST: #SR 1 3
      "Immediately after re-opening phigs, the archival conflict
       resolution flag should be reported as UPDATE and the
       retrieval conflict resolution flag should be reported as
       ABANDON."
<inquire conflict resolution>  to determine:
   arcriq = current archival conflict resolution flag
   recriq = current retrieval conflict resolution flag
pass/fail depending on (arcriq = UPDATE and recriq = ABANDON)

<close phigs>

END PROGRAM 1