Imported Upstream version 2.9.0
[debian/cc1111] / support / regression / tests / scott-bool1.c
1 /*
2  */
3 #include <testfwk.h>
4
5 unsigned int aint0 = 0;
6 unsigned int aint1 = 0;
7 unsigned char achar0 = 0;
8 unsigned char achar1 = 0;
9
10 void bool_or1(void)
11 {
12
13   ASSERT(!( (achar0 >0) || (achar1 >0 )));
14 }
15
16 void bool_or2(void)
17 {
18
19   ASSERT(!( achar0 || achar1));
20 }
21
22 void bool_test1(void)
23 {
24
25   ASSERT(!( (achar0==0) || achar1));
26 }
27
28
29 void bool_test2(void)
30 {
31
32   ASSERT(!( (achar0==0) || aint0));
33 }
34
35 void bool_and1(void)
36 {
37
38   ASSERT(!( achar0 && achar1));
39 }
40
41 void bin_or1(void)
42 {
43
44   char t;
45
46   t = achar0 | achar1;
47   ASSERT(!(t));
48 }
49
50 void bin_xor1(void)
51 {
52
53   ASSERT(!(achar0 ^ achar1));
54 }
55
56
57 void bool_test3(void)
58 {
59
60   ASSERT(!((achar0 == 0x42) || (achar1 == 42)));
61 }
62
63
64 void bool_or_lit1(void)
65 {
66
67   achar0 |= 0x0f;
68
69   ASSERT(!(achar0 > 0x10));
70
71   ASSERT(!( (achar0 | 0x10) > 0xf0));
72
73 }
74
75 void bool_and_lit1(void)
76 {
77
78   achar0 &= 0xf0;
79
80   ASSERT(!(achar0 > 0x10));
81
82   ASSERT(!( (achar0 & 0x10) > 0xf0));
83
84   achar0 &= 0xef;
85
86 }
87
88 void 
89 testBool1(void)
90 {
91
92   bool_or1();
93   bool_or2();
94   bool_and1();
95   bin_or1();
96   bin_xor1();
97
98   achar0++;
99   bool_and1();
100   bool_test1();
101   bool_test2();
102   bool_test3();
103
104
105   achar0--; achar1++;
106   bool_and1();
107
108   achar0=0;
109   achar1=0;
110
111   bool_or_lit1();
112   bool_and_lit1();
113 }