aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/lib/color.h4
-rw-r--r--include/lib/monad.h2
-rw-r--r--include/lib/time.h2
-rw-r--r--include/test/__meta__.h19
-rw-r--r--include/test/lib/color.h17
-rw-r--r--include/test/lib/dir.h18
-rw-r--r--include/test/lib/time.h16
7 files changed, 75 insertions, 3 deletions
diff --git a/include/lib/color.h b/include/lib/color.h
index 5e7128b..1bc9393 100644
--- a/include/lib/color.h
+++ b/include/lib/color.h
@@ -7,11 +7,11 @@
// Color Equal to Background
// Background: zeros in RGB, alpha can be whatever
-bool_t color_zero(uint8_t* color1, size_t channels);
+bool_t color_zero(const uint8_t* color1, size_t channels);
// Color Equality
// Determine if two colors are identical
-bool_t color_equal(uint8_t* color1, uint8_t* color2, size_t channels);
+bool_t color_equal(const uint8_t* color1, const uint8_t* color2, size_t channels);
// Print out the `channels` length color vector
void print_color(uint8_t* color, size_t channels);
diff --git a/include/lib/monad.h b/include/lib/monad.h
index 4a68e0a..74db079 100644
--- a/include/lib/monad.h
+++ b/include/lib/monad.h
@@ -1,6 +1,8 @@
#ifndef INC_LIB_MONAD_H
#define INC_LIB_MONAD_H
+#include <lib/bool.h>
+
struct Result {
void* data;
bool_t success;
diff --git a/include/lib/time.h b/include/lib/time.h
index 9d69b44..1adf428 100644
--- a/include/lib/time.h
+++ b/include/lib/time.h
@@ -7,7 +7,7 @@
// Difference in Time
// Compute the difference between timespec structs
-double diff_time(struct timespec *time1, struct timespec *time0);
+double diff_time(const struct timespec *time1, const struct timespec *time0);
// Get Current Time
void get_time(struct timespec *ts);
diff --git a/include/test/__meta__.h b/include/test/__meta__.h
new file mode 100644
index 0000000..305698a
--- /dev/null
+++ b/include/test/__meta__.h
@@ -0,0 +1,19 @@
+#ifndef INC_TEST___META___H
+#define INC_TEST___META___H
+
+#include <lib/bool.h>
+#include <stdio.h>
+
+#ifdef TEST_SHOW_PASS
+#define _TEST_PASS(s,sub,n) fprintf(stderr, "(%4X) \x1b[92mPASS\x1b[0m %s/%s\n", ++n, s, sub)
+#else
+#define _TEST_PASS(s,sub,n) ++n
+#endif
+
+#define _TEST_FAIL(s,sub,n) fprintf(stderr, "(%4X) \x1b[91mFAIL\x1b[0m %s/%s\n", ++n, s, sub)
+
+#ifndef _TEST_RESULT
+#define _TEST_RESULT(main_string,subtest_string,result,n,n_success) if (!result) {_TEST_FAIL(main_string,subtest_string, n);} else {_TEST_PASS(main_string,subtest_string,n);n_success++;}
+#endif
+
+#endif
diff --git a/include/test/lib/color.h b/include/test/lib/color.h
new file mode 100644
index 0000000..be0d62f
--- /dev/null
+++ b/include/test/lib/color.h
@@ -0,0 +1,17 @@
+#ifndef INC_TEST_LIB_COLOR_H
+#define INC_TEST_LIB_COLOR_H
+
+#include <test/__meta__.h>
+#ifndef TEST_RESULT
+#define TEST_RESULT(subtest,result,n,n_success) _TEST_RESULT("LIB/COLOR",subtest,result,n,n_success)
+#endif
+
+#include <lib/color.h>
+
+bool_t test_color_zero(const uint8_t* color1, size_t channels, bool_t result);
+bool_t test_color_equal(const uint8_t* color1, const uint8_t* color2, size_t channels, bool_t result);
+
+// Meta test function
+bool_t TEST_lib_color();
+
+#endif
diff --git a/include/test/lib/dir.h b/include/test/lib/dir.h
new file mode 100644
index 0000000..64482df
--- /dev/null
+++ b/include/test/lib/dir.h
@@ -0,0 +1,18 @@
+#ifndef INC_TEST_LIB_DIR_H
+#define INC_TEST_LIB_DIR_H
+
+#include <test/__meta__.h>
+#ifndef TEST_RESULT
+#define TEST_RESULT(subtest,result,n,n_success) _TEST_RESULT("LIB/DIR",subtest,result,n,n_success)
+#endif
+
+#include <lib/dir.h>
+
+bool_t test_is_directory(char* dirname, bool_t result);
+bool_t test_full_path(char* dirname, char* file, char* result);
+bool_t test_is_tif_ext(char* file_name, bool_t result);
+
+// Meta test function
+bool_t TEST_lib_dir();
+
+#endif
diff --git a/include/test/lib/time.h b/include/test/lib/time.h
new file mode 100644
index 0000000..cdf464e
--- /dev/null
+++ b/include/test/lib/time.h
@@ -0,0 +1,16 @@
+#ifndef INC_TEST_LIB_TIME_H
+#define INC_TEST_LIB_TIME_H
+
+#include <test/__meta__.h>
+#ifndef TEST_RESULT
+#define TEST_RESULT(subtest,result,n,n_success) _TEST_RESULT("LIB/TIME",subtest,result,n,n_success)
+#endif
+
+#include <lib/time.h>
+
+bool_t test_diff_time(const struct timespec *time1, const struct timespec *time0, double result);
+
+// Meta test function
+bool_t TEST_lib_time();
+
+#endif