GenSVM
test_gensvm_queue.c
Go to the documentation of this file.
1 
27 #include "minunit.h"
28 #include "gensvm_queue.h"
29 
31 {
32  struct GenQueue *queue = gensvm_init_queue();
33  gensvm_free_queue(queue);
34  return NULL;
35 }
36 
38 {
39  struct GenQueue *q = gensvm_init_queue();
40  q->N = 3;
41  q->i = 0;
42  q->tasks = Calloc(struct GenTask *, 3);
43 
44  struct GenTask *task_1 = gensvm_init_task();
45  struct GenTask *task_2 = gensvm_init_task();
46  struct GenTask *task_3 = gensvm_init_task();
47  task_1->ID = 1;
48  task_2->ID = 2;
49  task_3->ID = 3;
50 
51  q->tasks[0] = task_1;
52  q->tasks[1] = task_2;
53  q->tasks[2] = task_3;
54 
55  struct GenTask *t = NULL;
56  t = get_next_task(q);
57  mu_assert(t == task_1, "first task is not task_1");
58  t = get_next_task(q);
59  t = get_next_task(q);
60  mu_assert(t == task_3, "third task is not task_3");
61  t = get_next_task(q);
62  mu_assert(t == NULL, "next task is not NULL");
63 
65 
66  return NULL;
67 }
68 
69 char *all_tests()
70 {
74 
75  return NULL;
76 }
77 
Minimal unit testing framework for C.
#define Calloc(type, size)
Definition: gensvm_memory.h:40
struct GenQueue * gensvm_init_queue(void)
Initialize a GenQueue structure.
Definition: gensvm_queue.c:38
RUN_TESTS(all_tests)
long ID
numeric id of the task in the queue
Definition: gensvm_task.h:62
#define mu_assert(test, message)
Definition: minunit.h:29
char * all_tests()
struct GenTask * get_next_task(struct GenQueue *q)
Get new GenTask from GenQueue.
Definition: gensvm_queue.c:82
struct GenTask * gensvm_init_task(void)
Initialize a GenTask structure.
Definition: gensvm_task.c:38
long N
size of task array
Definition: gensvm_queue.h:50
long i
index used for keeping track of the queue
Definition: gensvm_queue.h:52
#define mu_run_test(test)
Definition: minunit.h:35
Simple task queue.
Definition: gensvm_queue.h:47
char * test_init_free_queue()
char * test_get_next_task()
void gensvm_free_queue(struct GenQueue *q)
Free the GenQueue struct.
Definition: gensvm_queue.c:59
A structure for a single task in the queue.
Definition: gensvm_task.h:55
struct GenTask ** tasks
array of pointers to Task structs
Definition: gensvm_queue.h:48
Header file for gensvm_queue.c.
#define mu_suite_start()
Definition: minunit.h:24