diff options
Diffstat (limited to 'src/node.test.c')
-rw-r--r-- | src/node.test.c | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/src/node.test.c b/src/node.test.c deleted file mode 100644 index 26837c9..0000000 --- a/src/node.test.c +++ /dev/null @@ -1,111 +0,0 @@ -#include <string.h> - -#include <kalmia.h> -#include <ezxml.h> -#include "test/test.h" -#include "transform.h" -#include "node.h" - - -void empty(); -void transforms(); - - -void suite_node() -{ - lily_run_test(empty); - lily_run_test(transforms); -} - - -void empty() -{ - char str[512]; - strncpy( - str, - "<node></node>", - 512 - ); - ezxml_t tag = ezxml_parse_str(str, strlen(str)); - - kalmia_t k; - k.node = NULL; - k.n_nodes = 0; - k.n_nodes_max = 0; - - ka_node_t *node = kai_parse_node(&k, tag); - lily_assert_not_null(k.node); - lily_assert_not_null(node); - lily_assert_int_equal(k.n_nodes, 1); - lily_assert_ptr_equal(k.node, node); - - ka_matrix_t identity; - kai_identity(&identity); - - int i=0; - for (i=0; i<16; i++) { - lily_assert_float_equal( - node->transform[i], - identity[i], - 1e-3 - ); - } - - ezxml_free(tag); - free(k.node); -} - - -void transforms() -{ - char str[512]; - strncpy( - str, - "<node>\n" - " <translate>10.0 2.0 5.0</translate>\n" - " <scale>5.0 1.0 2.0</scale>\n" - "</node>", - 512 - ); - ezxml_t tag = ezxml_parse_str(str, strlen(str)); - - kalmia_t k; - k.node = NULL; - k.n_nodes = 0; - k.n_nodes_max = 0; - - ka_node_t *node = kai_parse_node(&k, tag); - lily_assert_not_null(k.node); - lily_assert_not_null(node); - lily_assert_int_equal(k.n_nodes, 1); - lily_assert_ptr_equal(k.node, node); - - ka_matrix_t translate = { - 1.0f, 0.0f, 0.0f, 10.0f, - 0.0f, 1.0f, 0.0f, 2.0f, - 0.0f, 0.0f, 1.0f, 5.0f, - 0.0f, 0.0f, 0.0f, 1.0f, - }; - ka_matrix_t scale = { - 5.0f, 0.0f, 0.0f, 0.0f, - 0.0f, 1.0f, 0.0f, 0.0f, - 0.0f, 0.0f, 2.0f, 0.0f, - 0.0f, 0.0f, 0.0f, 1.0f, - }; - - ka_matrix_t expected; - kai_multiply(&expected, translate, scale); - - - int i=0; - for (i=0; i<16; i++) { - lily_assert_float_equal( - node->transform[i], - expected[i], - 1e-3 - ); - } - - ezxml_free(tag); - free(k.node); -} |