forked from starnakin/IronGOLEM
add: itoa && create test_int func to test func return int and test_str to ...
This commit is contained in:
parent
60ca301082
commit
496b92aed9
37
src/itoa.🗿
Normal file
37
src/itoa.🗿
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
itoa_get_size(number)
|
||||||
|
{
|
||||||
|
local size;
|
||||||
|
|
||||||
|
size = 0;
|
||||||
|
if (number == 0)
|
||||||
|
size++;
|
||||||
|
loop
|
||||||
|
{
|
||||||
|
if (number == 0)
|
||||||
|
return (size);
|
||||||
|
number = number / 10;
|
||||||
|
size++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
itoa(number)
|
||||||
|
{
|
||||||
|
local str;
|
||||||
|
local size;
|
||||||
|
|
||||||
|
size = itoa_get_size(number);
|
||||||
|
str = galloc(size + 1);
|
||||||
|
if (str == 0)
|
||||||
|
return (0);
|
||||||
|
[str + size] = 0;
|
||||||
|
if (number == 0)
|
||||||
|
[str] = '0';
|
||||||
|
loop
|
||||||
|
{
|
||||||
|
if (number == 0)
|
||||||
|
return (str);
|
||||||
|
[str + size - 1] = number % 10 + '0';
|
||||||
|
number = number / 10;
|
||||||
|
size--;
|
||||||
|
}
|
||||||
|
}
|
@ -5,9 +5,9 @@ main()
|
|||||||
name = "galloc";
|
name = "galloc";
|
||||||
|
|
||||||
ptr1 = galloc(1);
|
ptr1 = galloc(1);
|
||||||
test_str(ptr1, heap + LOCATION_DATA, "");
|
test_int(ptr1, heap + LOCATION_DATA, "");
|
||||||
free(ptr1);
|
free(ptr1);
|
||||||
ptr1 = galloc(1);
|
ptr1 = galloc(1);
|
||||||
test_str(ptr1, heap + LOCATION_DATA, "alloc after free");
|
test_int(ptr1, heap + LOCATION_DATA, "alloc after free");
|
||||||
ptr2 = galloc(1);
|
ptr2 = galloc(1);
|
||||||
}
|
}
|
||||||
|
12
tests/itoa.🗿
Normal file
12
tests/itoa.🗿
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
main()
|
||||||
|
{
|
||||||
|
local ptr;
|
||||||
|
|
||||||
|
name = "itoa";
|
||||||
|
ptr = itoa(55);
|
||||||
|
test_str(ptr, "55", "");
|
||||||
|
free(ptr);
|
||||||
|
ptr = itoa(0);
|
||||||
|
test_str(ptr, "0", "");
|
||||||
|
free(ptr);
|
||||||
|
}
|
@ -3,8 +3,8 @@ main()
|
|||||||
local str;
|
local str;
|
||||||
name = "strchr";
|
name = "strchr";
|
||||||
str = "bozoman du 36";
|
str = "bozoman du 36";
|
||||||
test(strchr(str, 'z'), str + 2, "");
|
test_str(strchr(str, 'z'), str + 2, "");
|
||||||
test(strchr(str, 0), str + 13, "");
|
test_str(strchr(str, 0), str + 13, "");
|
||||||
test(strchr(str, '5'), 0, "");
|
test_str(strchr(str, '5'), 0, "");
|
||||||
test(strchr(str, '6'), str + 12, "");
|
test_str(strchr(str, '6'), str + 12, "");
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
local str;
|
|
||||||
name = "strlen";
|
name = "strlen";
|
||||||
str = "bozoman du 36";
|
|
||||||
test(strlen(str), 13, "");
|
test_int(strlen("bozoman du 36"), 13, "");
|
||||||
test(strlen(""), 0, "Empty string");
|
test_int(strlen(""), 0, "Empty string");
|
||||||
}
|
}
|
||||||
|
38
tests/test.🗿
38
tests/test.🗿
@ -3,7 +3,7 @@ global name;
|
|||||||
test_str(value, reach_value, description)
|
test_str(value, reach_value, description)
|
||||||
{
|
{
|
||||||
putstr(name);
|
putstr(name);
|
||||||
if (value != reach_value)
|
if (strcmp(value, reach_value))
|
||||||
{
|
{
|
||||||
putstr(": ERROR: ");
|
putstr(": ERROR: ");
|
||||||
putstr(", ");
|
putstr(", ");
|
||||||
@ -21,3 +21,39 @@ test_str(value, reach_value, description)
|
|||||||
}
|
}
|
||||||
wrt '\n';
|
wrt '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_int(value, reach_value, description)
|
||||||
|
{
|
||||||
|
local value_str;
|
||||||
|
local reach_value_str;
|
||||||
|
|
||||||
|
putstr(name);
|
||||||
|
if (value != reach_value)
|
||||||
|
{
|
||||||
|
value_str = itoa(value);
|
||||||
|
if (value_str == 0)
|
||||||
|
return (0);
|
||||||
|
reach_value_str = itoa(value);
|
||||||
|
if (reach_value_str == 0)
|
||||||
|
{
|
||||||
|
free(value_str);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
putstr(": ERROR: ");
|
||||||
|
putstr(", ");
|
||||||
|
putstr(description);
|
||||||
|
putstr(" [");
|
||||||
|
putstr(reach_value_str);
|
||||||
|
putstr(" != ");
|
||||||
|
putstr(value_str);
|
||||||
|
putstr("]");
|
||||||
|
free(value_str);
|
||||||
|
free(reach_value_str);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
putstr(": OK: ");
|
||||||
|
putstr(description);
|
||||||
|
}
|
||||||
|
wrt '\n';
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user