aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lib/color.c75
-rw-r--r--test/lib/dir.c87
2 files changed, 136 insertions, 26 deletions
diff --git a/test/lib/color.c b/test/lib/color.c
index 2b2ed68..7b2a238 100644
--- a/test/lib/color.c
+++ b/test/lib/color.c
@@ -15,51 +15,61 @@ bool_t test_color_zero(const uint8_t* color1, size_t channels, bool_t result)
return FALSE;
}
-void _TEST_color_zero(bool_t* result, uint8_t* test_count, uint8_t* test_pass)
+void _TEST_color_zero(bool_t* result, uint16_t* test_count, uint16_t* test_pass)
{
+ bool_t sub_result;
// Test 1: 1 channel zero color
// Should result: True
- *result = test_color_zero(test_rgba, 1, TRUE);
+ sub_result = test_color_zero(test_rgba, 1, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
// Test 2: 1 channel non-zero color
// Should result: False
- *result = test_color_zero(test_Rgba, 1, FALSE);
+ sub_result = test_color_zero(test_Rgba, 1, FALSE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
// Test 3: 2 channel zero color
// Should result: True
- *result = test_color_zero(test_rgba, 2, TRUE);
+ sub_result = test_color_zero(test_rgba, 2, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
// Test 4: 2 channel non-zero color
// Should result: False
- *result = test_color_zero(test_rGba, 2, FALSE);
+ sub_result = test_color_zero(test_rGba, 2, FALSE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
// Test 5: 3 channel zero color
// Should result: True
- *result = test_color_zero(test_rgba, 3, TRUE);
+ sub_result = test_color_zero(test_rgba, 3, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
// Test 6: 3 channel non-zero color
// Should result: False
- *result = test_color_zero(test_rgBa, 3, FALSE);
+ sub_result = test_color_zero(test_rgBa, 3, FALSE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
// Test 7: 4 channel zero color
// Should result: True
- *result = test_color_zero(test_rgba, 4, TRUE);
+ sub_result = test_color_zero(test_rgba, 4, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
// Test 8: 4 channel non-zero color
// Should result: False
- *result = test_color_zero(test_rgBa, 4, FALSE);
+ sub_result = test_color_zero(test_rgBa, 4, FALSE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
// Test 9: 4 channel non-zero color (Alpha non-zero)
// Should result: True
- *result = test_color_zero(test_rgbA, 4, TRUE);
+ sub_result = test_color_zero(test_rgbA, 4, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_ZERO",*result, *test_count, (*test_pass));
}
@@ -72,75 +82,88 @@ bool_t test_color_equal(const uint8_t* color1, const uint8_t* color2, size_t cha
return FALSE;
}
-void _TEST_color_equal(bool_t* result, uint8_t* test_count, uint8_t* test_pass)
+void _TEST_color_equal(bool_t* result, uint16_t* test_count, uint16_t* test_pass)
{
+ bool_t sub_result;
// Test 1: 1 channel equal (zero)
// Should result: True
- *result = test_color_equal(test_rgba, test_rgba, 1, TRUE);
+ sub_result = test_color_equal(test_rgba, test_rgba, 1, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 2: 1 channel equal (nonzero)
// Should result: True
- *result = test_color_equal(test_Rgba, test_Rgba, 1, TRUE);
+ sub_result = test_color_equal(test_Rgba, test_Rgba, 1, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 3: 1 channel nonequal
// Should result: True
- *result = test_color_equal(test_rgba, test_Rgba, 1, FALSE);
+ sub_result = test_color_equal(test_rgba, test_Rgba, 1, FALSE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 4: 2 channel equal (zero)
// Should result: True
- *result = test_color_equal(test_rgba, test_rgba, 2, TRUE);
+ sub_result = test_color_equal(test_rgba, test_rgba, 2, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 5: 2 channel equal (nonzero)
// Should result: True
- *result = test_color_equal(test_rGba, test_rGba, 2, TRUE);
+ sub_result = test_color_equal(test_rGba, test_rGba, 2, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 6: 2 channel nonequal
// Should result: False
- *result = test_color_equal(test_Rgba, test_rGba, 2, FALSE);
+ sub_result = test_color_equal(test_Rgba, test_rGba, 2, FALSE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 7: 3 channel equal (zero)
// Should result: True
- *result = test_color_equal(test_rgba, test_rgba, 3, TRUE);
+ sub_result = test_color_equal(test_rgba, test_rgba, 3, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 8: 3 channel equal (nonzero)
// Should result: True
- *result = test_color_equal(test_rgBa, test_rgBa, 3, TRUE);
+ sub_result = test_color_equal(test_rgBa, test_rgBa, 3, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 9: 3 channel nonequal
// Should result: False
- *result = test_color_equal(test_Rgba, test_rgBa, 3, FALSE);
+ sub_result = test_color_equal(test_Rgba, test_rgBa, 3, FALSE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 7: 4 channel equal (zero)
// Should result: True
- *result = test_color_equal(test_rgba, test_rgba, 4, TRUE);
+ sub_result = test_color_equal(test_rgba, test_rgba, 4, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 8: 4 channel equal (nonzero)
// Should result: True
- *result = test_color_equal(test_rgbA, test_rgbA, 4, TRUE);
+ sub_result = test_color_equal(test_rgbA, test_rgbA, 4, TRUE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
// Test 9: 4 channel nonequal
// Should result: False
- *result = test_color_equal(test_Rgba, test_rgbA, 4, FALSE);
+ sub_result = test_color_equal(test_Rgba, test_rgbA, 4, FALSE);
+ *result &= sub_result;
TEST_RESULT("COLOR_EQUAL",*result, *test_count, (*test_pass));
}
// Meta test function
bool_t TEST_lib_color()
{
- uint8_t test_count = 0;
- uint8_t test_pass = 0;
- bool_t result;
+ uint16_t test_count = 0;
+ uint16_t test_pass = 0;
+ bool_t result = TRUE;
// Testing color_zero
_TEST_color_zero(&result, &test_count, &test_pass);
diff --git a/test/lib/dir.c b/test/lib/dir.c
new file mode 100644
index 0000000..975b05e
--- /dev/null
+++ b/test/lib/dir.c
@@ -0,0 +1,87 @@
+#include <test/lib/dir.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+bool_t test_is_directory(char* dirname, bool_t result)
+{
+ bool_t fcall_result = is_directory(dirname);
+ if (fcall_result == result) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void _TEST_is_directory(bool_t* result, uint16_t* test_count, uint16_t* test_pass)
+{
+ bool_t sub_result;
+ sub_result = test_is_directory("sample_data", TRUE);
+ *result &= sub_result;
+ TEST_RESULT("IS_DIRECTORY",sub_result, *test_count, (*test_pass));
+
+ sub_result = test_is_directory("asdf", FALSE);
+ *result &= sub_result;
+ TEST_RESULT("IS_DIRECTORY",sub_result, *test_count, (*test_pass));
+}
+
+bool_t test_full_path(char* dirname, char* file, char* result)
+{
+ char* fpath = full_path(dirname, file);
+ bool_t cmp_result = strcmp(result, fpath);
+ free(fpath);
+ if (cmp_result == 0) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void _TEST_full_path(bool_t* result, uint16_t* test_count, uint16_t* test_pass)
+{
+ bool_t sub_result;
+ sub_result = test_full_path("sample_data/small", "small.tif", "sample_data/small/small.tif");
+ *result &= sub_result;
+ TEST_RESULT("FULL_PATH",sub_result, *test_count, (*test_pass));
+}
+
+bool_t test_is_tif_ext(char* file_name, bool_t result)
+{
+ size_t file_name_len = strlen(file_name);
+ file_name_len -= 3;
+ bool_t cmp_result = strcmp(file_name+file_name_len, "tif");
+ if (cmp_result == 0) {
+ return TRUE == result;
+ }
+ return FALSE == result;
+}
+
+void _TEST_is_tif_ext(bool_t* result, uint16_t* test_count, uint16_t* test_pass)
+{
+ bool_t sub_result;
+ sub_result = test_is_tif_ext("sample_data/small/small.tif", TRUE);
+ *result &= sub_result;
+ TEST_RESULT("IS_TIF_EXT",sub_result, *test_count, (*test_pass));
+ sub_result = test_is_tif_ext("data/test.tif", TRUE);
+ *result &= sub_result;
+ TEST_RESULT("IS_TIF_EXT",sub_result, *test_count, (*test_pass));
+ sub_result = test_is_tif_ext("sample_data/small/small", FALSE);
+ *result &= sub_result;
+ TEST_RESULT("IS_TIF_EXT",sub_result, *test_count, (*test_pass));
+}
+
+bool_t TEST_lib_dir()
+{
+ uint16_t test_count = 0;
+ uint16_t test_pass = 0;
+ bool_t result = TRUE;
+
+ // Testing directory existence
+ _TEST_is_directory(&result, &test_count, &test_pass);
+
+ // Testing full path
+ _TEST_full_path(&result, &test_count, &test_pass);
+
+ // Testing full path
+ _TEST_is_tif_ext(&result, &test_count, &test_pass);
+
+ return test_count == test_pass;
+}