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.
26 -- FOUNDATION DESCRIPTION:
27 -- This foundation consists of type definitions and object declarations
28 -- used by tests of Stream_IO functionality.
29 -- These types include an unconstrained array type, and a discriminated
30 -- record without a default discriminant, specifically chosen for use in
31 -- demonstrating the capabilities of 'Output and 'Input.
34 -- 06 Dec 94 SAIC ACVC 2.0
40 type Customer_Type
is (Residence
, Apartment
, Commercial
);
41 type Electric_Usage_Type
is range 0..100000;
42 type Months_In_Service_Type
is range 1..12;
43 type Quarterly_Period_Type
is (Spring
, Summer
, Autumn
, Winter
);
44 subtype Month_In_Quarter_Type
is Positive range 1..3;
45 type Service_History_Type
is
46 array (Quarterly_Period_Type
range <>, Month_In_Quarter_Type
range <>)
47 of Electric_Usage_Type
;
50 type Service_Type
(Customer
: Customer_Type
) is
52 Name
: String (1..21);
53 Account_ID
: Natural range 0..100;
55 when Residence | Apartment
=>
56 Low_Income_Credit
: Boolean := False;
58 Baseline_Allowance
: Natural range 0..1000;
59 Quantity_Discount
: Boolean := False;
64 -- Object Declarations
67 Customer1
: Service_Type
(Residence
) :=
68 (Residence
, "1221 Morningstar Lane", 44, False);
69 Customer2
: Service_Type
(Apartment
) := (Customer
=> Apartment
,
71 Name
=> "15 South Front St. #8",
72 Low_Income_Credit
=> True);
73 Customer3
: Service_Type
(Commercial
) := (Commercial
,
74 "12442 Central Avenue ",
76 Baseline_Allowance
=> 938,
77 Quantity_Discount
=> True);
81 C1_Months
: Months_In_Service_Type
:= 10;
82 C2_Months
: Months_In_Service_Type
:= 2;
83 C3_Months
: Months_In_Service_Type
:= 12;
88 Service_History_Type
(Quarterly_Period_Type
, Month_In_Quarter_Type
) :=
89 (Spring
=> (1 => 35, 2 => 39, 3 => 32),
90 Summer
=> (1 => 34, 2 => 33, 3 => 39),
91 Autumn
=> (1 => 45, 2 => 40, 3 => 38),
92 Winter
=> (1 => 53, 2 => 0, 3 => 0));
95 Service_History_Type
(Quarterly_Period_Type
range Spring
..Summer
,
96 Month_In_Quarter_Type
) :=
97 (Spring
=> (23, 22, 0), Summer
=> (0, 0, 0));
100 Service_History_Type
(Quarterly_Period_Type
, Month_In_Quarter_Type
) :=
101 (others => (others => 200));
105 Total_Customers_In_Service
: constant Natural := 3;