summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/mock_queue_tests.c28
-rw-r--r--src/test/test_main.c4
2 files changed, 31 insertions, 1 deletions
diff --git a/src/test/mock_queue_tests.c b/src/test/mock_queue_tests.c
index 004444c..92d7cdf 100644
--- a/src/test/mock_queue_tests.c
+++ b/src/test/mock_queue_tests.c
@@ -1,19 +1,22 @@
#include "test/minunit.h"
#include "test/mock_queue.h"
+#include <stdbool.h>
+
mu_test mock_queue_int();
mu_test mock_queue_int_seq();
mu_test mock_queue_pop_multi();
mu_test mock_queue_clean_finish();
+mu_test mock_queue_push_multidata();
void mock_queue_tests()
{
- mock_queue_init();
mu_run_test("push and pop integer to mock queue", mock_queue_int);
mu_run_test("push and pop integer sequence", mock_queue_int_seq);
mu_run_test("pop multiple times with empty queue", mock_queue_pop_multi);
mu_run_test("clean up mock queue", mock_queue_clean_finish);
+ mu_run_test("push and pop multiple data types", mock_queue_push_multidata);
}
@@ -99,3 +102,26 @@ mu_test mock_queue_clean_finish()
return 0;
}
+
+
+mu_test mock_queue_push_multidata()
+{
+ mock_queue_cleanup();
+ mu_assert_equal(mock_queue_len(), 0);
+
+ mock_queue(const char *, "hello, world!");
+ mock_queue(bool, true);
+ mock_queue(float, 4.20f);
+
+ mu_assert_equal(mock_queue_len(), 3);
+
+ mu_assert_streq(mock_front(const char *), "hello, world!");
+ mock_pop();
+ mu_assert_equal(mock_front(bool), true);
+ mock_pop();
+ mu_assert_equal(mock_front(float), 4.20f);
+ mock_pop();
+
+ mu_assert_equal(mock_queue_len(), 0);
+ return 0;
+}
diff --git a/src/test/test_main.c b/src/test/test_main.c
index a4e776a..a3763be 100644
--- a/src/test/test_main.c
+++ b/src/test/test_main.c
@@ -1,14 +1,18 @@
#include "minunit.h"
#include "suites.h"
+#include "mock_queue.h"
int tests_run = 0;
int tests_failed = 0;
int main()
{
+ mock_queue_init();
printf("~~~~~~~~ running tests ~~~~~~~~\n\n");
RUN_TESTS;
printf("~~~~~~~~~ tests done ~~~~~~~~~~\n\n");
mu_tests_finished();
+
+ mock_queue_cleanup();
}