-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.cpp
56 lines (51 loc) · 1.43 KB
/
test.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#define NDEBUG
#include <assert.h>
#include <stdio.h>
#include <string.h>
#include "dynamic_array.h"
#include "config_parser.h"
#define str(x) #x
void test_darray(){
char *array;
DARRAY_MAKE(char, array);
size_t* size = DARRAY_SIZE(array);
assert(*size == 0 || !"Size must be 0 initially");
DARRAY_ADD(char, array, 'a');
assert(array[0] == 'a' || !"First element must be 'a'");
DARRAY_ADD(char, array, 'b');
assert(array[0] == 'a' || !"First element must be 'a'");
assert(array[1] == 'b' || !"Second element must be 'b'");
}
void test_variable_saver(){
char s[] = "\n\
a = b\n\
c = d\n\
# sda\n\
\n\
#asd\n\
\n\
\n\
= c\n\
asdas\n\
\n\
#saa = asd\n\
\n\
";
FILE *file = fmemopen((void *)s, sizeof(s), "r");
auto i = __load_variables(file);
size_t* size = DARRAY_SIZE(i);
for (size_t j = 0; j < *size; j++){
printf("|%s|%s|\n", (char *)i[j].a, (char *)(i[j].b));
}
assert(*size == 4 || !"Size must be 4");
assert(strcmp((char *)i[0].a, "a") == 0 || !"First name must be 'a'");
assert(strcmp((char *)i[0].b, "b") == 0 || !"First value must be 'b'");
assert(strcmp((char *)i[1].a, "c") == 0 || !"Second name must be 'c'");
assert(strcmp((char *)i[1].b, "d") == 0 || !"Second value must be 'd'");
assert(strcmp((char *)i[2].b, "c") == 0 || !"Third value must be 'c'");
assert(strcmp((char *)i[3].a, "asdas") == 0 || !"Fourth name must be 'asdas'");
}
int main() {
assert(0 || !"Test failed");
return 0;
}