WITH CALENDAR; USE CALENDAR;
WITH REPORT; USE REPORT;
PROCEDURE C96006A IS
BEGIN
TEST ("C96006A", "CHECK THAT RELATIONAL OPERATORS WORK " &
"CORRECTLY IN THE PACKAGE CALENDAR");
DECLARE NOW, LATER : TIME;
BEGIN NOW := TIME_OF (1984, 8, 12, 500.0);
LATER := TIME_OF (1985, 8, 12, 500.0);
IF NOW < LATER THEN
COMMENT ("< OPERATOR OK - (A)");
ELSE
FAILED ("< OPERATOR INCORRECT - (A)");
END IF;
IF NOW <= LATER THEN
COMMENT ("<= OPERATOR OK - (A)");
ELSE
FAILED ("<= OPERATOR INCORRECT - (A)");
END IF;
IF NOW <= NOW THEN
COMMENT ("<= OPERATOR OK - (A)2");
ELSE
FAILED ("<= OPERATOR INCORRECT - (A)2");
END IF;
IF LATER > NOW THEN
COMMENT ("> OPERATOR OK - (A)");
ELSE
FAILED ("> OPERATOR INCORRECT - (A)");
END IF;
IF LATER >= NOW THEN
COMMENT (">= OPERATOR OK - (A)");
ELSE
FAILED (">= OPERATOR INCORRECT - (A)");
END IF;
IF LATER >= LATER THEN
COMMENT (">= OPERATOR OK - (A)2");
ELSE
FAILED (">= OPERATOR INCORRECT - (A)2");
END IF;
END;
DECLARE NOW, LATER : TIME;
BEGIN NOW := TIME_OF (1984, 8, 12, 500.0);
LATER := TIME_OF (1984, 9, 12, 500.0);
IF NOW < LATER THEN
COMMENT ("< OPERATOR OK - (B)");
ELSE
FAILED ("< OPERATOR INCORRECT - (B)");
END IF;
IF NOW <= LATER THEN
COMMENT ("<= OPERATOR OK - (B)");
ELSE
FAILED ("<= OPERATOR INCORRECT - (B)");
END IF;
IF NOW <= NOW THEN
COMMENT ("<= OPERATOR OK - (B)2");
ELSE
FAILED ("<= OPERATOR INCORRECT - (B)2");
END IF;
IF LATER > NOW THEN
COMMENT ("> OPERATOR OK - (B)");
ELSE
FAILED ("> OPERATOR INCORRECT - (B)");
END IF;
IF LATER >= NOW THEN
COMMENT (">= OPERATOR OK - (B)");
ELSE
FAILED (">= OPERATOR INCORRECT - (B)");
END IF;
IF LATER >= LATER THEN
COMMENT (">= OPERATOR OK - (B)2");
ELSE
FAILED (">= OPERATOR INCORRECT - (B)2");
END IF;
IF NOW = NOW THEN
COMMENT ("= OPERATOR OK - (B)");
ELSE
FAILED ("= OPERATOR INCORRECT - (B)");
END IF;
IF LATER /= NOW THEN
COMMENT ("/= OPERATOR OK - (B)");
ELSE
FAILED ("/= OPERATOR INCORRECT - (B)");
END IF;
END;
DECLARE NOW, LATER : TIME;
INCREMENT : DURATION := 99.9;
BEGIN NOW := TIME_OF (1984, 8, 12, 500.0);
LATER := NOW + INCREMENT;
IF NOW < LATER THEN
COMMENT ("< OPERATOR OK - (C)");
ELSE
FAILED ("< OPERATOR INCORRECT - (C)");
END IF;
IF NOW <= LATER THEN
COMMENT ("<= OPERATOR OK - (C)");
ELSE
FAILED ("<= OPERATOR INCORRECT - (C)");
END IF;
IF NOW <= NOW THEN
COMMENT ("<= OPERATOR OK - (C)2");
ELSE
FAILED ("<= OPERATOR INCORRECT - (C)2");
END IF;
IF LATER > NOW THEN
COMMENT ("> OPERATOR OK - (C)");
ELSE
FAILED ("> OPERATOR INCORRECT - (C)");
END IF;
IF LATER >= NOW THEN
COMMENT (">= OPERATOR OK - (C)");
ELSE
FAILED (">= OPERATOR INCORRECT - (C)");
END IF;
IF LATER >= LATER THEN
COMMENT (">= OPERATOR OK - (C)2");
ELSE
FAILED (">= OPERATOR INCORRECT - (C)2");
END IF;
IF LATER = LATER THEN
COMMENT ("= OPERATOR OK - (C)");
ELSE
FAILED ("= OPERATOR INCORRECT - (C)");
END IF;
IF NOW /= LATER THEN
COMMENT ("/= OPERATOR OK - (C)");
ELSE
FAILED ("/= OPERATOR INCORRECT - (C)");
END IF;
IF NOW < NOW THEN
FAILED ("NOW < NOW INCORRECT - (C)");
ELSIF NOW /= NOW THEN
FAILED ("NOW = NOW INCORRECT - (C)");
ELSIF LATER < NOW THEN
FAILED ("LATER < NOW INCORRECT - (C)");
ELSIF LATER <= NOW THEN
FAILED ("LATER <= NOW INCORRECT - (C)");
ELSIF LATER = NOW THEN
FAILED ("NOW = LATER INCORRECT - (C)");
ELSIF NOW > LATER THEN
FAILED ("NOW > LATER INCORRECT - (C)");
ELSIF NOW > NOW THEN
FAILED ("NOW > NOW INCORRECT - (C)");
ELSIF NOW >= LATER THEN
FAILED ("NOW >= LATER INCORRECT - (C)");
ELSIF NOW = LATER THEN
FAILED ("NOW = LATER INCORRECT - (C)");
END IF;
END;
DECLARE
NOW, WAY_BACK_THEN : TIME;
BEGIN
NOW := TIME_OF (2099, 12, 31);
WAY_BACK_THEN := TIME_OF (1901, 1, 1);
BEGIN
IF NOW < WAY_BACK_THEN THEN
FAILED ("TEST < AT EXTREMES INCORRECT - (D)");
END IF;
EXCEPTION
WHEN OTHERS =>
FAILED ("< AT EXTREMES RAISED EXCEPTION - (D)");
END;
BEGIN
IF NOW <= WAY_BACK_THEN THEN
FAILED ("TEST <= AT EXTREMES INCORRECT - (D)");
END IF;
EXCEPTION
WHEN OTHERS =>
FAILED ("<= AT EXTREMES RAISED EXCEPTION - (D)");
END;
BEGIN
IF WAY_BACK_THEN > NOW THEN
FAILED ("TEST > AT EXTREMES INCORRECT - (D)");
END IF;
EXCEPTION
WHEN OTHERS =>
FAILED ("> AT EXTREMES RAISED EXCEPTION - (D)");
END;
BEGIN
IF WAY_BACK_THEN >= NOW THEN
FAILED ("TEST >= AT EXTREMES INCORRECT - (D)");
END IF;
EXCEPTION
WHEN OTHERS =>
FAILED (">= AT EXTREMES RAISED EXCEPTION - (D)");
END;
BEGIN
IF WAY_BACK_THEN /= WAY_BACK_THEN THEN
FAILED ("TEST /= AT EXTREMES INCORRECT - (D)");
END IF;
EXCEPTION
WHEN OTHERS =>
FAILED ("/= AT EXTREMES RAISED EXCEPTION - (D)");
END;
BEGIN
IF NOW = WAY_BACK_THEN THEN
FAILED ("TEST = AT EXTREMES INCORRECT - (D)");
END IF;
EXCEPTION
WHEN OTHERS =>
FAILED ("= AT EXTREMES RAISED EXCEPTION - (D)");
END;
END;
RESULT;
END C96006A;