1 /** 2 compare3.c 3 regression testing program for comparing literals to variables 4 */ 5 #include <testfwk.h> 6 7 unsigned int aint0 = 0; 8 unsigned int aint1 = 0; 9 unsigned char achar0 = 0; 10 unsigned char achar1 = 0; 11 12 // compare to 0 13 // assumes 14 // achar0 == 0 15 // achar1 != 0 16 // aint0 == 0 17 // aint1 != 0 18 c_0(void)19void c_0(void) 20 { 21 22 ASSERT(!(achar0 != 0)); 23 24 ASSERT(!(achar0)); 25 26 ASSERT(!(achar1 == 0)); 27 28 ASSERT(!(!achar1)); 29 30 ASSERT(!(aint0 != 0)); 31 32 ASSERT(!(aint0)); 33 34 ASSERT(!(aint1 == 0)); 35 36 ASSERT(!(!aint1)); 37 38 } 39 40 // compare to 1 41 // assumes 42 // achar0 != 1 43 // achar1 == 1 44 // aint0 != 1 45 // aint1 == 1 46 c_1(void)47void c_1(void) 48 { 49 50 ASSERT(!(achar0 == 1)); 51 52 ASSERT(!(achar1 != 1)); 53 54 ASSERT(!(aint0 == 1)); 55 56 ASSERT(!(aint1 != 1)); 57 58 } 59 60 // compare to 2 61 // assumes 62 // achar0 == 2 63 // aint0 == 2 64 c_2(void)65void c_2(void) 66 { 67 68 ASSERT(!(achar0 != 2)); 69 70 ASSERT(!(aint0 != 2)); 71 72 } 73 74 // compare to 0xff 75 // assumes 76 // achar0 == 0xff 77 // aint0 == 0xff 78 c_ff(void)79void c_ff(void) 80 { 81 82 ASSERT(!(achar0 != 0xff)); 83 84 ASSERT(!(aint0 != 0xff)); 85 86 ASSERT(!(aint0 == 0xfe)); 87 88 ASSERT(!(aint0 == 0xff00U)); 89 90 } 91 92 93 // compare to 0x00a5 94 // assumes 95 // achar0 == 0xa5 96 // aint0 == 0x00a5 97 c_a5(void)98void c_a5(void) 99 { 100 101 ASSERT(!(achar0 != 0xa5)); 102 103 ASSERT(!(aint0 != 0xa5)); 104 105 ASSERT(!(aint0 == 0xa4)); 106 107 ASSERT(!(aint0 == 0xa500U)); 108 109 } 110 111 // compare to 0xa500 112 // assumes 113 // achar0 == 0xa5 114 // aint0 == 0xa500 115 c_a500(void)116void c_a500(void) 117 { 118 119 ASSERT(!(achar0 == (unsigned char)0xa500U)); 120 121 ASSERT(!(aint0 != 0xa500U)); 122 123 ASSERT(!(aint0 == 0xa400U)); 124 125 ASSERT(!(aint0 == 0x00a5)); 126 127 } 128 129 // compare to 0xabcd 130 // assumes 131 // achar0 == 0xa5 132 // aint0 == 0xabcd 133 134 #ifndef __SDCC_pdk14 // Lack of memory c_abcd(void)135void c_abcd(void) 136 { 137 138 ASSERT(!(achar0 == (unsigned char)0xabcdU)); 139 140 ASSERT(!(aint0 != 0xabcdU)); 141 142 ASSERT(!(aint0 == 0xab00U)); 143 144 ASSERT(!(aint0 == 0x00cd)); 145 146 ASSERT(aint0 == (unsigned short int)0x1234abcdU); 147 148 } 149 #endif 150 151 void testCompare3(void)152testCompare3 (void) 153 { 154 #ifndef __SDCC_pdk14 // Lack of memory 155 aint1 = 1; 156 achar1 = 1; 157 c_0(); 158 c_1(); 159 160 aint0 = 2; 161 achar0 = 2; 162 c_2(); 163 164 aint0 = 0xff; 165 achar0 = 0xff; 166 c_ff(); 167 168 aint0 = 0xa5; 169 achar0 = 0xa5; 170 c_a5(); 171 172 aint0 = 0xabcd; 173 c_abcd(); 174 #endif 175 } 176