Subversion Repositories Kolibri OS

Rev

Rev 9262 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
9242 turbocat 1
#include 
2
#include 
3
#include 
4
#include 
9766 turbocat 5
#include 
9262 turbocat 6
#include 
9242 turbocat 7
 
9766 turbocat 8
int comp(void* a, void* b)
9
{
9262 turbocat 10
    return *(int*)a - *(int*)b;
9242 turbocat 11
}
12
 
9766 turbocat 13
int main()
14
{
9262 turbocat 15
    puts("Start testing.");
16
    assert(NULL == ((void*)0));
17
    assert(RAND_MAX == 65535);
18
    assert(min(3, 10) == 3);
19
    assert(max(3, 10) == 10);
20
    assert(atof("12.4") == 12.4);
21
    assert(atoi("-123") == -123);
22
    assert(atol("-2146483647") == -2146483647L);
23
    assert(atoll("-9223372036854775806") == -9223372036854775806LL);
24
    assert(!strcmp("123", "123"));
9242 turbocat 25
 
9262 turbocat 26
    char st1[32];
27
    itoa(-2341, st1);
28
    assert(!strcmp(st1, "-2341"));
9242 turbocat 29
 
9262 turbocat 30
    assert(strlen("12345") == 5);
31
    assert(abs(4) == 4);
32
    assert(abs(-4) == 4);
33
    assert(labs(1000000000) == 1000000000);
34
    assert(labs(-1000000000) == 1000000000);
35
    assert(llabs(100000000000) == 100000000000);
36
    assert(llabs(-100000000000) == 100000000000);
9242 turbocat 37
 
9262 turbocat 38
    div_t output1 = div(27, 4);
39
    assert(output1.quot == 6);
40
    assert(output1.rem == 3);
9242 turbocat 41
 
9262 turbocat 42
    ldiv_t output2 = ldiv(27, 4);
43
    assert(output2.quot == 6);
44
    assert(output2.rem == 3);
9242 turbocat 45
 
9262 turbocat 46
    lldiv_t output3 = lldiv(27, 4);
47
    assert(output3.quot == 6);
48
    assert(output3.rem == 3);
9242 turbocat 49
 
9766 turbocat 50
    char* st2 = malloc(sizeof(char) * 2);
9262 turbocat 51
    assert(st2 != NULL);
52
    st2[0] = 'H';
53
    st2[1] = 'i';
9766 turbocat 54
    st2 = realloc(st2, sizeof(char) * 3);
9262 turbocat 55
    st2[2] = '!';
56
    assert(!strcmp(st2, "Hi!"));
57
    free(st2);
9242 turbocat 58
 
9262 turbocat 59
    st2 = calloc(2, sizeof(char));
60
    assert(st2 != NULL);
61
    st2[0] = 'H';
62
    st2[1] = 'i';
63
    assert(!strcmp(st2, "Hi"));
64
    free(st2);
9242 turbocat 65
 
9766 turbocat 66
    char* start = "100.00 Rub";
67
    char* end;
9262 turbocat 68
    assert(strtol(start, &end, 10) == 100L);
69
    assert(!strcmp(end, ".00 Rub"));
9242 turbocat 70
 
9262 turbocat 71
    end = NULL;
72
    assert(strtod(start, &end) == 100.0);
73
    assert(!strcmp(end, " Rub"));
9242 turbocat 74
 
9766 turbocat 75
    char* st3 = "21.3e3Hello World!";
9262 turbocat 76
    assert(atof(st3) == 21300.0);
9242 turbocat 77
 
9766 turbocat 78
    int nums[10] = { 5, 3, 9, 1, 8, 4, 2, 0, 7, 6 };
79
    qsort(nums, 10, sizeof(int), (int (*)(const void*, const void*))comp);
80
    for (int i = 0; i < 10; i++) {
9262 turbocat 81
        assert(nums[i] == i);
82
    }
9766 turbocat 83
 
9262 turbocat 84
    time_t libc_time = time(NULL);
9766 turbocat 85
    struct tm* libc_tm = localtime(&libc_time);
9262 turbocat 86
    printf(asctime(libc_tm));
9242 turbocat 87
 
9262 turbocat 88
    puts("End testing.");
89
    exit(0);
90
}