aboutsummaryrefslogtreecommitdiffstats
path: root/test_unit.c
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2025-02-28 13:05:24 -0500
committerSam Anthony <sam@samanthony.xyz>2025-02-28 13:05:24 -0500
commit1ff716ddb9b2ad508e583a10b0c0090ce8d1634d (patch)
treed34aac66fbcd954554fdf93f18355f7c1e353e5c /test_unit.c
parentd8b658e75bc6165e059a13cb2fef5474fa9ff4f5 (diff)
downloadvolute-1ff716ddb9b2ad508e583a10b0c0090ce8d1634d.zip
angular speed tests
Diffstat (limited to 'test_unit.c')
-rw-r--r--test_unit.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/test_unit.c b/test_unit.c
new file mode 100644
index 0000000..dc7de3e
--- /dev/null
+++ b/test_unit.c
@@ -0,0 +1,55 @@
+#include <assert.h>
+#include <stdio.h>
+
+#include "unit.h"
+
+
+#define EPSILON (1e-7)
+
+#define test(got, want) { \
+ if (got < want-EPSILON || got > want+EPSILON) { \
+ fprintf(stderr, "got %lf; want %lf\n", got, want); \
+ assert(got == want); \
+ } \
+}
+
+
+void
+test_rad_per_sec(void) {
+ test(rad_per_sec(123.456), 123.456);
+}
+
+void
+test_deg_per_sec(void) {
+ test(deg_per_sec(123.456), 2.15471367888);
+}
+
+void
+test_rpm(void) {
+ test(rpm(123.456), 12.92828207328);
+}
+
+void
+test_as_rad_per_sec(void) {
+ test(as_rad_per_sec(rad_per_sec(123.456)), 123.456);
+}
+
+void
+test_as_deg_per_sec(void) {
+ test(as_deg_per_sec(deg_per_sec(123.456)), 123.456);
+}
+
+void
+test_as_rpm(void) {
+ test(as_rpm(rpm(123.456)), 123.456);
+}
+
+int
+main(void) {
+ test_rad_per_sec();
+ test_deg_per_sec();
+ test_rpm();
+ test_as_rad_per_sec();
+ test_as_deg_per_sec();
+ test_as_rpm();
+}