summaryrefslogtreecommitdiff
path: root/src/geometry/geometry.test.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/geometry/geometry.test.c')
-rw-r--r--src/geometry/geometry.test.c28
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()