diff options
Diffstat (limited to 'src/geometry/geometry.test.c')
-rw-r--r-- | src/geometry/geometry.test.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/geometry/geometry.test.c b/src/geometry/geometry.test.c index d433066..56673a4 100644 --- a/src/geometry/geometry.test.c +++ b/src/geometry/geometry.test.c @@ -40,5 +40,33 @@ LILY_TEST("fail to read float_array without count attribute") #include LILY_PUSH_TEST() +LILY_TEST("read normal float_array") +{ + struct kai_tag_t *t = kai_parse_string( + "<float_array count=\"3\" id=\"arr\">" + " -0.5 0.0 0.5" + "</float_array>" + ); + + struct ka_float_array_t arr; + int result = kai_read_float_array(&arr, t); + REQUIRE_EQ(result, 0, "%d"); + kai_tag_destroy(t); + + REQUIRE_EQ(arr.count, 3, "%d"); + CHECK_EQS(arr.id, "arr"); + CHECK_EQ(arr.digits, 6, "%d"); + CHECK_EQ(arr.magnitude, 38, "%d"); + + CHECK_EQF(arr.buf[0], -0.5, "%f"); + CHECK_EQF(arr.buf[1], 0.0, "%f"); + CHECK_EQF(arr.buf[2], 0.5, "%f"); + + free(arr.id); + free(arr.buf); +} +#include LILY_PUSH_TEST() + + #define LILY_FILE_END #include LILY_REGISTER_TESTS() |