/simpletypesystem/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
1
#include "SimpleTypeSystem.h"
2
#include "test_macros.h"
3
#include <stdlib.h>
48 by Gustav Hartvigsson
* Finnished SLinkedList.
4
#include <stdint.h>
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
5
#include <time.h>
6
109.1.5 by Gustav Hartvigsson
* Getting closer to fixing the callbacks...
7
void
8
for_each_print_arr (SDynamicArray * self, sint item, sint * itt) {
75 by Gustav Hartvigsson
* New goal!
9
  s_print ("The number is: %d on iteration: %d\n", item, (*itt));
10
  (*itt)++;
11
}
12
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
13
int test_dynamic_array (void) {
14
  setup_unit ();
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
15
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
16
  SDynamicArray * array = NULL;
17
  array = s_dynamic_array_new (20, NULL);
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
18
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
19
  test_case (array != NULL, "Array is not null");
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
20
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
21
  test_case (s_dynamic_array_size (array) == 20, "The array maximum size is 20");
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
22
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
23
  s_print ("Adding a random number to a random possision in the array"
24
           " (bettween 0 and 20).\n");
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
25
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
26
  srand(time(NULL));
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
27
75 by Gustav Hartvigsson
* New goal!
28
  sint r_n = rand ();
29
  sint r_p = rand () % 20;
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
30
48 by Gustav Hartvigsson
* Finnished SLinkedList.
31
  s_dynamic_array_set (array, r_p, (spointer)(intptr_t) r_n);
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
32
48 by Gustav Hartvigsson
* Finnished SLinkedList.
33
  test_case ((intptr_t) s_dynamic_array_get (array, r_p) == r_n,
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
34
             "The the inserted random number matches the generated number.");
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
35
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
36
  s_print ("Adding a number (12345) to index 21\n");
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
37
75 by Gustav Hartvigsson
* New goal!
38
  s_dynamic_array_set (array, 21, (spointer)(sint *) 12345);
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
39
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
40
  test_case (s_dynamic_array_size (array) > 20, "The new size is larger then the old size.");
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
41
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
42
  s_print ("Filling array with numbers: 0-32\n");
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
43
75 by Gustav Hartvigsson
* New goal!
44
  for (sint i = 0; i < s_dynamic_array_size (array); i++) {
48 by Gustav Hartvigsson
* Finnished SLinkedList.
45
    s_dynamic_array_set (array, i, (spointer)(intptr_t) i);
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
46
  }
75 by Gustav Hartvigsson
* New goal!
47
  for (sint i = 0; i < s_dynamic_array_size (array); i++) {
48
    sint got_val = (intptr_t) s_dynamic_array_get(array, i);
49
    test_case (got_val == i, "The stored value (%d) matches the expected value (%d).", i, got_val);
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
50
  }
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
51
75 by Gustav Hartvigsson
* New goal!
52
  sint itt = 0;
53
  s_print ("Printing array using a for-each function.\n");
109.1.5 by Gustav Hartvigsson
* Getting closer to fixing the callbacks...
54
  s_dynamic_array_for_each (array, FOREACHFUNC (for_each_print_arr), &itt);
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
55
48 by Gustav Hartvigsson
* Finnished SLinkedList.
56
  s_dynamic_array_free (array, FALSE);
104 by Gustav Hartvigsson
* Passing arguments can not be initialised from within a function...
57
47 by Gustav Hartvigsson
* Added a few skeletal functions to Callback.h
58
  end_unit ();
59
}