summaryrefslogtreecommitdiff
path: root/src/geometry/geometry.test.c
blob: f400540b11f0c19b7e3bd20e7ddb6cd3063614c9 (plain)
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
#include <string.h>
#include <math.h>
#include <kalmia.h>
#include "test/test.h"
#include "geometry.h"


void parse_float_array();


void suite_geometry()
{
	lily_run_test(parse_float_array);
}


void parse_float_array()
{
	char str[1024];
	strncpy(
		str,
		"<float_array id=\"box-Pos-array\" count=\"24\">\n"
		"	-0.5 0.5 0.5\n"
		"	0.5 0.5 0.5\n"
		"	-0.5 -0.5 0.5\n"
		"	0.5 -0.5 0.5\n"
		"	-0.5 0.5 -0.5\n"
		"	0.5 0.5 -0.5\n"
		"	-0.5 -0.5 -0.5\n"
		"	0.5 -0.5 -0.5\n"
		"</float_array>\n",
		1024
	);
	ezxml_t tag = ezxml_parse_str(str, strlen(str));

	ka_float_array_t *a = kai_parse_float_array(tag);
	ezxml_free(tag);

	lily_assert_not_null(a);
	lily_assert_string_equal(a->id, "box-Pos-array");
	lily_assert_int_equal(a->count, 24);

	int i;
	for (i=0; i<24; i++) {
		lily_assert_float_equal(fabs(a->array[i]), 0.5, 1e-3);
	}

	kai_free_float_array(a);
}