1-- CE3002B.TST
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-- OBJECTIVE:
26--     CHECK THAT COUNT IS A VISIBLE TYPE, THAT COUNT'FIRST IS 0,
27--     THAT POSITIVE_COUNT IS A SUBTYPE OF COUNT, THAT
28--     POSITIVE_COUNT'FIRST IS 1, THAT POSITIVE_COUNT'LAST
29--     EQUALS COUNT'LAST, AND COUNT'LAST HAS A SPECIFIED
30--     IMPLEMENTATION-DEPENDENT VALUE.
31
32-- HISTORY:
33--     SPS 09/30/82
34--     SPS 11/09/82
35--     JBG 03/16/83
36--     JLH 08/07/87  REVISED VALUES USED IN COUNT AND POSITIVE_COUNT
37--                   TO THE INTEGER VALUE 1.
38
39WITH REPORT;
40USE REPORT;
41WITH TEXT_IO;
42USE TEXT_IO;
43
44PROCEDURE CE3002B IS
45BEGIN
46
47     TEST ("CE3002B", "CHECK THAT COUNT IS VISIBLE, COUNT'FIRST IS " &
48                      "0, POSITIVE_COUNT IS A SUBTYPE OF COUNT, " &
49                      "POSITIVE_COUNT'FIRST IS 1, POSITIVE_COUNT'" &
50                      "LAST EQUALS COUNT'LAST, AND COUNT'LAST " &
51                      "HAS A SPECIFIED VALUE");
52
53     DECLARE
54          X : COUNT;
55          A : POSITIVE_COUNT;
56     BEGIN
57          IF COUNT'FIRST /= COUNT(IDENT_INT (0)) THEN
58               FAILED ("COUNT'FIRST NOT 0; IS" &
59                       COUNT'IMAGE(COUNT'FIRST));
60          END IF;
61
62          IF POSITIVE_COUNT'FIRST /= POSITIVE_COUNT (IDENT_INT (1)) THEN
63               FAILED ("POSITIVE_COUNT'FIRST NOT 1; IS" &
64                       COUNT'IMAGE(POSITIVE_COUNT'FIRST));
65          END IF;
66
67          IF POSITIVE_COUNT'LAST /= COUNT'LAST THEN
68               FAILED ("POSITIVE_COUNT'LAST NOT EQUAL COUNT'LAST");
69          END IF;
70
71          IF COUNT'LAST /= $COUNT_LAST THEN
72               FAILED ("COUNT'LAST NOT $COUNT_LAST; IS" &
73                       COUNT'IMAGE(COUNT'LAST));
74          END IF;
75
76          X := POSITIVE_COUNT (IDENT_INT (1));
77          A := X;
78          A := COUNT (IDENT_INT (1));
79          X := A;
80     END;
81
82     RESULT;
83
84END CE3002B;
85