3 -- Grant of Unlimited Rights
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7 -- unlimited rights in the software and documentation contained herein.
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
9 -- this public release, the Government intends to confer upon all
10 -- recipients unlimited rights equal to those held by the Government.
11 -- These rights include rights to use, duplicate, release or disclose the
12 -- released technical data and computer software in whole or in part, in
13 -- any manner and for any purpose whatsoever, and to have or permit others
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
25 -- CHECK THE CORRECTNESS OF THE ADDITION AND SUBTRACTION FUNCTIONS IN
26 -- THE PREDEFINED PACKAGE CALENDAR, AND APPROPRIATE EXCEPTION HANDLING.
28 -- (B) ADDITION AND SUBTRACTION OPERATORS RAISE CONSTRAINT_ERROR WHEN
29 -- CALLED WITH AN OUT OF RANGE DURATION PARAMETER.
33 WITH CALENDAR; USE CALENDAR;
34 WITH REPORT; USE REPORT;
38 TEST ("C96005B", "CHECK THAT ADDITION AND SUBTRACTION " &
39 "OPERATORS RAISE CONSTRAINT_ERROR WHEN CALLED WITH " &
40 "OUT OF RANGE DURATION PARAMETER");
42 -----------------------------------------------
46 -- ADDITION TESTS FOLLOW.
48 BEFORE : TIME := CLOCK;
50 IF DURATION'BASE'FIRST < DURATION'FIRST THEN
51 COMMENT("LOW VALUES EXIST - (B)1");
52 BEFORE := BEFORE + ($LESS_THAN_DURATION);
53 FAILED ("EXCEPTION NOT RAISED - (B)1");
55 NOT_APPLICABLE ("NO LOW VALUES EXIST - (B)1");
58 WHEN CONSTRAINT_ERROR =>
61 FAILED ("TIME_ERROR RAISED INSTEAD OF " &
62 "CONSTRAINT_ERROR - (B)1");
64 FAILED ("WRONG EXCEPTION RAISED - (B)1");
68 BEFORE : TIME := CLOCK;
70 IF DURATION'LAST < DURATION'BASE'LAST THEN
71 COMMENT("HIGH VALUES EXIST - (B)2");
72 BEFORE := $GREATER_THAN_DURATION + BEFORE;
73 FAILED ("EXCEPTION NOT RAISED - (B)2");
75 NOT_APPLICABLE ("NO HIGH VALUES EXIST - (B)2");
78 WHEN CONSTRAINT_ERROR =>
81 FAILED ("TIME_ERROR RAISED INSTEAD OF " &
82 "CONSTRAINT_ERROR - (B)2");
84 FAILED ("WRONG EXCEPTION RAISED - (B)2");
88 -- SUBTRACTION TESTS FOLLOW.
90 BEFORE : TIME := CLOCK;
92 IF DURATION'BASE'FIRST < DURATION'FIRST THEN
93 COMMENT("LOW VALUES EXIST - (B)3");
94 BEFORE := BEFORE - ($LESS_THAN_DURATION);
95 FAILED ("EXCEPTION NOT RAISED - (B)3");
97 NOT_APPLICABLE ("NO LOW VALUES EXIST - (B)3");
100 WHEN CONSTRAINT_ERROR =>
103 FAILED ("TIME_ERROR RAISED INSTEAD OF " &
104 "CONSTRAINT_ERROR - (B)3");
106 FAILED ("WRONG EXCEPTION RAISED - (B)3");
110 BEFORE : TIME := CLOCK;
112 IF DURATION'LAST < DURATION'BASE'LAST THEN
113 COMMENT("HIGH VALUES EXIST - (B)4");
114 BEFORE := BEFORE - $GREATER_THAN_DURATION;
115 FAILED ("EXCEPTION NOT RAISED - (B)4");
117 NOT_APPLICABLE ("NO HIGH VALUES EXIST - (B)4");
120 WHEN CONSTRAINT_ERROR =>
123 FAILED ("TIME_ERROR RAISED INSTEAD OF " &
124 "CONSTRAINT_ERROR - (B)4");
126 FAILED ("WRONG EXCEPTION RAISED - (B)4");
132 -----------------------------------------------