X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=support%2Fregression%2Ftests%2Fscott-compare3.c;fp=support%2Fregression%2Ftests%2Fscott-compare3.c;h=fdca6b6a427d5d9f5edfc37af4d5d327e4299aae;hb=b796e365f31bf9313b7ab7988e09465b6c93e758;hp=0000000000000000000000000000000000000000;hpb=50037d1d89956f58a745ec99cc11ebb984d02ea5;p=fw%2Fsdcc diff --git a/support/regression/tests/scott-compare3.c b/support/regression/tests/scott-compare3.c new file mode 100644 index 00000000..fdca6b6a --- /dev/null +++ b/support/regression/tests/scott-compare3.c @@ -0,0 +1,172 @@ +/** + compare3.c + regression testing program for comparing literals to variables +*/ +#include + +unsigned int aint0 = 0; +unsigned int aint1 = 0; +unsigned char achar0 = 0; +unsigned char achar1 = 0; + +// compare to 0 +// assumes +// achar0 == 0 +// achar1 != 0 +// aint0 == 0 +// aint1 != 0 + +void c_0(void) +{ + + ASSERT(!(achar0 != 0)); + + ASSERT(!(achar0)); + + ASSERT(!(achar1 == 0)); + + ASSERT(!(!achar1)); + + ASSERT(!(aint0 != 0)); + + ASSERT(!(aint0)); + + ASSERT(!(aint1 == 0)); + + ASSERT(!(!aint1)); + +} + +// compare to 1 +// assumes +// achar0 != 1 +// achar1 == 1 +// aint0 != 1 +// aint1 == 1 + +void c_1(void) +{ + + ASSERT(!(achar0 == 1)); + + ASSERT(!(achar1 != 1)); + + ASSERT(!(aint0 == 1)); + + ASSERT(!(aint1 != 1)); + +} + +// compare to 2 +// assumes +// achar0 == 2 +// aint0 == 2 + +void c_2(void) +{ + + ASSERT(!(achar0 != 2)); + + ASSERT(!(aint0 != 2)); + +} + +// compare to 0xff +// assumes +// achar0 == 0xff +// aint0 == 0xff + +void c_ff(void) +{ + + ASSERT(!(achar0 != 0xff)); + + ASSERT(!(aint0 != 0xff)); + + ASSERT(!(aint0 == 0xfe)); + + ASSERT(!(aint0 == 0xff00U)); + +} + + +// compare to 0x00a5 +// assumes +// achar0 == 0xa5 +// aint0 == 0x00a5 + +void c_a5(void) +{ + + ASSERT(!(achar0 != 0xa5)); + + ASSERT(!(aint0 != 0xa5)); + + ASSERT(!(aint0 == 0xa4)); + + ASSERT(!(aint0 == 0xa500U)); + +} + +// compare to 0xa500 +// assumes +// achar0 == 0xa5 +// aint0 == 0xa500 + +void c_a500(void) +{ + + ASSERT(!(achar0 == 0xa500U)); + + ASSERT(!(aint0 != 0xa500U)); + + ASSERT(!(aint0 == 0xa400U)); + + ASSERT(!(aint0 == 0x00a5)); + +} + +// compare to 0xabcd +// assumes +// achar0 == 0xa5 +// aint0 == 0xabcd + +void c_abcd(void) +{ + + ASSERT(!(achar0 == 0xabcdU)); + + ASSERT(!(aint0 != 0xabcdU)); + + ASSERT(!(aint0 == 0xab00U)); + + ASSERT(!(aint0 == 0x00cd)); + + ASSERT(!(aint0 == 0x1234abcdU)); + +} + +void +testCompare3 (void) +{ + + aint1 = 1; + achar1 = 1; + c_0(); + c_1(); + + aint0 = 2; + achar0 = 2; + c_2(); + + aint0 = 0xff; + achar0 = 0xff; + c_ff(); + + aint0 = 0xa5; + achar0 = 0xa5; + c_a5(); + + aint0 = 0xabcd; + c_abcd(); +}