Imported Upstream version 2.9.0
[debian/cc1111] / support / regression / tests / enum.c
1 /* Test the types of enum.
2  */
3 #include <testfwk.h>
4
5 enum _SimpleEnum {
6   SIMPLE_ZERO,
7   SIMPLE_ONE,
8   SIMPLE_TWO
9 };
10
11 enum _ValuesEnum {
12   VALUES_ZERO,
13   VALUES_FIVE = 5,
14   VALUES_SIX,
15   VALUES_SEVEN,
16   VALUES_TWELVE = 12
17 };
18
19 enum _IndexedEnum {
20   INDEXED_ZERO,
21   INDEXED_ONE,
22   INDEXED_ONE_ALIAS = INDEXED_ONE,
23   INDEXED_TWO,
24   INDEXED_THREE,
25   INDEXED_MATH = INDEXED_ONE_ALIAS + INDEXED_TWO * INDEXED_THREE
26
27 };
28
29 volatile enum _IntEnum {
30   INT_256 = 256,
31   INT_ZERO = 0
32 } ie;
33
34 void
35 testSimpleEnum(void)
36 {
37   ASSERT(SIMPLE_ZERO == 0);
38   ASSERT(SIMPLE_ONE == 1);
39   ASSERT(SIMPLE_TWO == 2);
40 }
41
42 void 
43 testValuesEnum(void)
44 {
45   ASSERT(VALUES_ZERO == 0);
46   ASSERT(VALUES_FIVE == 5);
47   ASSERT(VALUES_SIX == 6);
48   ASSERT(VALUES_SEVEN == 7);
49   ASSERT(VALUES_TWELVE == 12);
50 }
51
52 void
53 testIndexedEnum(void)
54 {
55   ASSERT(INDEXED_ZERO == 0);
56   ASSERT(INDEXED_ONE == 1);
57   ASSERT(INDEXED_ONE_ALIAS == 1);
58   ASSERT(INDEXED_TWO == 2);
59   ASSERT(INDEXED_MATH == 7);
60 }
61
62 void
63 testIntEnum(void)
64 {
65   ASSERT(INT_ZERO == 0);
66   ASSERT(INT_256 == 256);
67
68   ie = INT_ZERO;
69   ASSERT(ie == INT_ZERO);
70   ie = INT_256;
71   ASSERT(ie == INT_256);
72 }