1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
#include <stdio.h>
#include "wnlib.h"
#include "wnasrt.h"
#include "wncmp.h"
local void test_cmp()
{
fprintf(stderr,"testing cmp...\n");
wn_assert(wn_intcmp(1,1) == 0);
wn_assert(wn_intcmp(1,0) > 0);
wn_assert(wn_intcmp(0,1) < 0);
wn_assert(wn_intcmp(-7,-7) == 0);
wn_assert(wn_intcmp(-7,-4) < 0);
wn_assert(wn_intcmp(-7,-401) > 0);
wn_assert(wn_intcmp(-18,31) < 0);
wn_assert(wn_intcmp(-18,31) < 0);
{
char *p1="foo1",*p2="foo2";
bool success;
wn_assert(wn_ptrcmp(p1,p1) == 0);
wn_assert(wn_ptrcmp(p2,p2) == 0);
wn_assert(wn_ptrcmp(p1,p2) != 0);
wn_assert(wn_ptrNULLcmp(&success,NULL,NULL) == 0);
wn_assert(success);
wn_assert(wn_ptrNULLcmp(&success,NULL,p1) < 0);
wn_assert(success);
wn_assert(wn_ptrNULLcmp(&success,p1,NULL) > 0);
wn_assert(success);
wn_assert(wn_ptrNULLcmp(&success,p1,p1) == 0);
wn_assert(success);
wn_assert(wn_ptrNULLcmp(&success,p1,p2) == 0);
wn_assert(!success);
}
wn_assert(wn_boolcmp(TRUE,TRUE) == 0);
wn_assert(wn_boolcmp(FALSE,TRUE) < 0);
wn_assert(wn_boolcmp(TRUE,FALSE) > 0);
wn_assert(wn_boolcmp(FALSE,FALSE) == 0);
wn_assert(wn_boolcmp((bool)1,(bool)2) == 0);
wn_assert(wn_boolcmp((bool)(-1),FALSE) > 0);
wn_assert(wn_doublecmp(1.2,1.2) == 0);
wn_assert(wn_doublecmp(1.3,1.2) > 0);
wn_assert(wn_doublecmp(1.3,1.4) < 0);
wn_assert(wn_doublecmp(-1.3,-1.4) > 0);
wn_assert(wn_doublecmp(-1.3,0.4) < 0);
wn_assert(numstrcmp("wow1","wow1") == 0);
wn_assert(numstrcmp("wow2","wow1") > 0);
wn_assert(numstrcmp("wow1","wow2") < 0);
wn_assert(numstrcmp("wow10","wow2") > 0);
wn_assert(numstrcmp("wow2","wow10") < 0);
fprintf(stderr," ok!!!!!!\n");
}
void main(void)
{
test_cmp();
}
|