Arrays now store Toy_Values as elements

Fixed #136
This commit is contained in:
2024-10-18 13:06:42 +11:00
parent 09e4cb7b03
commit c3ee92fcef
4 changed files with 24 additions and 33 deletions

View File

@@ -3,33 +3,33 @@
#include <stdio.h>
int test_resizeArray() {
//test single pointer
int test_array() {
//test allocation and free
{
Toy_Array* array = TOY_ALLOCATE_ARRAY(int, 1);
TOY_FREE_ARRAY(int, array);
Toy_Array* array = Toy_resizeArray(NULL, 1);
array = Toy_resizeArray(array, 0);
}
//test single pointer array
//test initial data
{
Toy_Array* array = TOY_ALLOCATE_ARRAY(int, 10);
Toy_Array* array = Toy_resizeArray(NULL, 10);
//check you can access the memory
array->data[1] = 42;
array->data[1] = TOY_VALUE_FROM_INTEGER(42);
TOY_FREE_ARRAY(int, array);
Toy_resizeArray(array, 0);
}
//test multiple pointer arrays
//test multiple arrays (no overlaps or conflicts)
{
Toy_Array* array1 = TOY_ALLOCATE_ARRAY(int, 10);
Toy_Array* array2 = TOY_ALLOCATE_ARRAY(int, 10);
Toy_Array* array1 = Toy_resizeArray(NULL, 10);
Toy_Array* array2 = Toy_resizeArray(NULL, 10);
array1->data[1] = 42; //access the given memory
array2->data[1] = 42; //access the given memory
array1->data[1] = TOY_VALUE_FROM_INTEGER(42);
array2->data[1] = TOY_VALUE_FROM_INTEGER(42);
TOY_FREE_ARRAY(int, array1);
TOY_FREE_ARRAY(int, array2);
Toy_resizeArray(array1, 0);
Toy_resizeArray(array2, 0);
}
return 0;
@@ -40,7 +40,7 @@ int main() {
int total = 0, res = 0;
{
res = test_resizeArray();
res = test_array();
total += res;
if (res == 0) {