-- C43106A.ADA -- Grant of Unlimited Rights -- -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687, -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained -- unlimited rights in the software and documentation contained herein. -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making -- this public release, the Government intends to confer upon all -- recipients unlimited rights equal to those held by the Government. -- These rights include rights to use, duplicate, release or disclose the -- released technical data and computer software in whole or in part, in -- any manner and for any purpose whatsoever, and to have or permit others -- to do so. -- -- DISCLAIMER -- -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A -- PARTICULAR PURPOSE OF SAID MATERIAL. --* -- OBJECTIVE: -- CHECK THAT BOTH NAMED AND POSITIONAL NOTATIONS ARE PERMITTED -- WITHIN THE SAME RECORD AGGREGATE, (PROVIDED THAT ALL POSITIONAL -- ASSOCIATIONS APPEAR BEFORE ANY NAMED ASSOCIATION). -- HISTORY: -- DHH 08/10/88 CREATED ORIGIANL TEST. WITH REPORT; USE REPORT; PROCEDURE C43106A IS TYPE REC IS RECORD A : INTEGER; B : CHARACTER; C : BOOLEAN; D, E, F, G : INTEGER; H, I, J, K : CHARACTER; L, M, N, O : BOOLEAN; P, Q, R, S : STRING(1 .. 3); T, U, V, W, X, Y, Z : BOOLEAN; END RECORD; AGG : REC := (12, 'A', TRUE, 1, 2, 3, 4, 'B', 'C', 'D', 'E', P|R => "ABC", S|Q => "DEF", L|X|O|U => TRUE, OTHERS => FALSE); FUNCTION IDENT_CHAR(X : CHARACTER) RETURN CHARACTER IS BEGIN IF EQUAL(3, 3) THEN RETURN X; ELSE RETURN 'Z'; END IF; END IDENT_CHAR; BEGIN TEST("C43106A", "CHECK THAT BOTH NAMED AND POSITIONAL NOTATIONS " & "ARE PERMITTED WITHIN THE SAME RECORD " & "AGGREGATE, (PROVIDED THAT ALL POSITIONAL " & "ASSOCIATIONS APPEAR BEFORE ANY NAMED " & "ASSOCIATION)"); IF NOT IDENT_BOOL(AGG.C) OR NOT IDENT_BOOL(AGG.L) OR NOT IDENT_BOOL(AGG.X) OR NOT IDENT_BOOL(AGG.O) OR NOT IDENT_BOOL(AGG.U) OR IDENT_BOOL(AGG.M) OR IDENT_BOOL(AGG.N) OR IDENT_BOOL(AGG.T) OR IDENT_BOOL(AGG.V) OR IDENT_BOOL(AGG.W) OR IDENT_BOOL(AGG.Y) OR IDENT_BOOL(AGG.Z) THEN FAILED("BOOLEANS NOT INITIALIZED TO AGGREGATE VALUES"); END IF; IF IDENT_STR(AGG.P) /= IDENT_STR(AGG.R) OR IDENT_STR(AGG.Q) /= IDENT_STR(AGG.S) THEN FAILED("STRINGS NOT INITIALIZED CORRECTLY"); END IF; IF IDENT_CHAR(AGG.B) /= IDENT_CHAR('A') OR IDENT_CHAR(AGG.H) /= IDENT_CHAR('B') OR IDENT_CHAR(AGG.I) /= IDENT_CHAR('C') OR IDENT_CHAR(AGG.J) /= IDENT_CHAR('D') OR IDENT_CHAR(AGG.K) /= IDENT_CHAR('E') THEN FAILED("CHARACTERS NOT INITIALIZED CORRECTLY"); END IF; RESULT; END C43106A;