commit 0808831c3c7c2faaa02ec8c02ec893840ec7341b
parent 7c9fe386f0f8229c43d4fbeee0d00c8bfd6f9f22
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Wed, 30 Nov 2016 16:35:10 +0100
Test some more configurations for sanim nodes.
Diffstat:
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/src/test_sanim_node.c b/src/test_sanim_node.c
@@ -25,6 +25,7 @@ main(int argc, char** argv)
struct my_type *t1, *t2, *ptr;
struct sanim_pivot pivot = SANIM_PIVOT_NULL;
struct sanim_tracking tracking = SANIM_TRACKING_NULL;
+ struct sanim_node s1 = SANIM_NODE_NULL, s2 = SANIM_NODE_NULL;
size_t count;
int p;
double transform1[12], transform2[12];
@@ -57,7 +58,6 @@ main(int argc, char** argv)
CHECK(my_type_is_pivot(t1, NULL), RES_BAD_ARG);
CHECK(my_type_is_pivot(t1, &p), RES_OK);
CHECK(p, 1);
-
CHECK(my_type_ref_put(t1), RES_OK);
CHECK(my_type_create(&allocator, &t1), RES_OK);
@@ -137,6 +137,30 @@ main(int argc, char** argv)
CHECK(tracking.policy, TRACKING_NODE_TARGET);
CHECK(&t1->node, tracking.data.node_target.tracked_node);
+ /* Some sanim API tests that cannot be carried out through my_type testing.
+ * Test use of non-initialized sanim nodes. */
+ CHECK(sanim_node_is_initialized(NULL, &p), RES_BAD_ARG);
+ CHECK(sanim_node_is_initialized(&s1, NULL), RES_BAD_ARG);
+ CHECK(sanim_node_is_initialized(&s1, &p), RES_OK);
+ CHECK(p, 0);
+ CHECK(sanim_node_release(&s1), RES_OK); /* safe release of uninitialized nodes */
+ CHECK(sanim_node_initialize(&allocator, NULL), RES_BAD_ARG);
+ CHECK(sanim_node_initialize(&allocator, &s1), RES_OK);
+ CHECK(sanim_node_is_initialized(&s1, &p), RES_OK);
+ CHECK(p, 1);
+ CHECK(sanim_node_release(&s1), RES_OK);
+ CHECK(sanim_node_is_initialized(&s2, &p), RES_OK);
+ CHECK(p, 0);
+ CHECK(sanim_node_initialize_pivot(&allocator, NULL, &tracking, &s2), RES_BAD_ARG);
+ CHECK(sanim_node_initialize_pivot(&allocator, &pivot, NULL, &s2), RES_BAD_ARG);
+ CHECK(sanim_node_initialize_pivot(&allocator, &pivot, &tracking, NULL), RES_BAD_ARG);
+ CHECK(sanim_node_initialize_pivot(&allocator, &pivot, &tracking, &s2), RES_OK);
+ CHECK(sanim_node_is_initialized(&s2, &p), RES_OK);
+ CHECK(p, 1);
+ CHECK(sanim_node_release(NULL), RES_BAD_ARG);
+ CHECK(sanim_node_release(&s2), RES_OK);
+ CHECK(sanim_node_release(&s2), RES_OK); /* safe mumtiple release */
+
/* release memory */
CHECK(my_type_ref_put(t1), RES_OK);
CHECK(my_type_ref_put(t2), RES_OK);