1-- C96005F.ADA 2 3-- Grant of Unlimited Rights 4-- 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 14-- to do so. 15-- 16-- DISCLAIMER 17-- 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. 24--* 25-- CHECK THAT PACKAGE CALENDAR + AND - FUNCTIONS WORK PROPERLY, 26-- ESPECIALLY WITH VALUES AT MIDNIGHT. 27 28-- GOM 02/18/85 29-- JWC 05/14/85 30 31WITH REPORT; 32USE REPORT; 33WITH CALENDAR; 34USE CALENDAR; 35 36PROCEDURE C96005F IS 37 38 CURR_DAY1 : CONSTANT TIME := TIME_OF(1984,1,1,0.0); 39 CURR_DAY2 : CONSTANT TIME := TIME_OF(1984,1,1,DAY_DURATION'LAST); 40 CURR_DAY3 : CONSTANT TIME := TIME_OF(1984,1,1,10000.0); 41 42 TOMORROW1 : CONSTANT TIME := TIME_OF(1984,1,2,0.0); 43 TOMORROW2 : CONSTANT TIME := TIME_OF(1984,1,2,DAY_DURATION'LAST); 44 TOMORROW3 : CONSTANT TIME := TIME_OF(1984,1,2,10000.0); 45 46 YESTERDAY1 : CONSTANT TIME := TIME_OF(1983,12,31,0.0); 47 YESTERDAY2 : CONSTANT TIME := TIME_OF(1983,12,31, 48 DAY_DURATION'LAST); 49 YESTERDAY3 : CONSTANT TIME := TIME_OF(1983,12,31,10000.0); 50 51BEGIN 52 TEST("C96005F","CHECKING PACKAGE CALENDAR + AND - FUNCTIONS"); 53 54 -- CHECK IF ADDING ONE DAY TO 'CURR_DAY#' TIMES YIELDS 55 -- TIMES EQUAL TO 'TOMORROW'. 56 57 IF (CURR_DAY1 + DAY_DURATION'LAST) /= TOMORROW1 THEN 58 FAILED("FAILURE IN ADDING 1 DAY TO 'CURR_DAY1'"); 59 END IF; 60 61 IF (CURR_DAY2 + DAY_DURATION'LAST) /= TOMORROW2 THEN 62 FAILED("FAILURE IN ADDING 1 DAY TO 'CURR_DAY2'"); 63 END IF; 64 65 IF (CURR_DAY3 + DAY_DURATION'LAST) /= TOMORROW3 THEN 66 FAILED("FAILURE IN ADDING 1 DAY TO 'CURR_DAY3'"); 67 END IF; 68 69 IF (CURR_DAY1 + DAY_DURATION'LAST) /= CURR_DAY2 THEN 70 FAILED("'CURR_DAY1' + 1 /= 'CURR_DAY2'"); 71 END IF; 72 73 -- CHECK IF SUBTRACTING ONE DAY FROM 'CURR_DAY#' TIMES YIELDS 74 -- TIMES EQUAL TO 'YESTERDAY'. 75 76 IF (CURR_DAY1 - DAY_DURATION'LAST) /= YESTERDAY1 THEN 77 FAILED("FAILURE IN SUBTRACTING 1 DAY FROM 'CURR_DAY1'"); 78 END IF; 79 80 IF (CURR_DAY2 - DAY_DURATION'LAST) /= YESTERDAY2 THEN 81 FAILED("FAILURE IN SUBTRACTING 1 DAY FROM 'CURR_DAY2'"); 82 END IF; 83 84 IF (CURR_DAY3 - DAY_DURATION'LAST) /= YESTERDAY3 THEN 85 FAILED("FAILURE IN SUBTRACTING 1 DAY FROM 'CURR_DAY3'"); 86 END IF; 87 88 IF (CURR_DAY2 - DAY_DURATION'LAST) /= CURR_DAY1 THEN 89 FAILED("'CURR_DAY2' - 1 /= 'CURR_DAY1'"); 90 END IF; 91 92 RESULT; 93END C96005F; 94