49ef416bb7961052fdb9868db84e620a05c50841
[fw/sdcc] / 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 void
30 testSimpleEnum(void)
31 {
32   ASSERT(SIMPLE_ZERO == 0);
33   ASSERT(SIMPLE_ONE == 1);
34   ASSERT(SIMPLE_TWO == 2);
35 }
36
37 void 
38 testValuesEnum(void)
39 {
40   ASSERT(VALUES_ZERO == 0);
41   ASSERT(VALUES_FIVE == 5);
42   ASSERT(VALUES_SIX == 6);
43   ASSERT(VALUES_SEVEN == 7);
44   ASSERT(VALUES_TWELVE == 12);
45 }
46
47 void
48 testIndexedEnum(void)
49 {
50   ASSERT(INDEXED_ZERO == 0);
51   ASSERT(INDEXED_ONE == 1);
52   ASSERT(INDEXED_ONE_ALIAS == 1);
53   ASSERT(INDEXED_TWO == 2);
54   ASSERT(INDEXED_MATH == 7);
55 }