aboutsummaryrefslogtreecommitdiff
path: root/lib/experiment-reader/tests/unit-tests.c
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-14 15:58:47 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-14 15:58:47 +0200
commitb136a28f377ea667faed44e939ad0434d419bb8a (patch)
treed5d00969a6dbebe1e98e25733ef6d87d8e60d1ba /lib/experiment-reader/tests/unit-tests.c
parentc647ca77debd65f1c4f1cf9fd5ef54e6ec7791a1 (diff)
downloadgtk-vlc-player-b136a28f377ea667faed44e939ad0434d419bb8a.tar.gz
added test suite for libexperiment-reader using GTester
* automatically generate test reports * does not abort when gtester tools are missing (as test suite programs can be built nevertheless)
Diffstat (limited to 'lib/experiment-reader/tests/unit-tests.c')
-rw-r--r--lib/experiment-reader/tests/unit-tests.c77
1 files changed, 77 insertions, 0 deletions
diff --git a/lib/experiment-reader/tests/unit-tests.c b/lib/experiment-reader/tests/unit-tests.c
new file mode 100644
index 0000000..6ccb84e
--- /dev/null
+++ b/lib/experiment-reader/tests/unit-tests.c
@@ -0,0 +1,77 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <inttypes.h>
+
+#include <glib.h>
+#include <glib/gprintf.h>
+
+#include <experiment-reader.h>
+
+#define TEST_EXPERIMENT_VALID "test-experiment-valid.xml"
+/* #define TEST_EXPERIMENT_INVALID "test-experiment-invalid.xml" */
+
+static void
+test_new_valid(void)
+{
+ ExperimentReader *reader;
+
+ reader = experiment_reader_new(TEST_EXPERIMENT_VALID);
+ g_assert(reader != NULL);
+
+ g_object_unref(reader);
+}
+
+static void
+test_foreach_greeting_topic_values_cb(ExperimentReader *reader,
+ const gchar *topic_id,
+ gint64 start_time,
+ gpointer data)
+{
+ gint *i = (gint *)data;
+
+ g_assert(reader != NULL);
+ g_assert(data != NULL);
+
+ switch (*i) {
+ case 0:
+ g_assert_cmpstr(topic_id, ==, "bz_2");
+ g_assert_cmpint(start_time, ==, 13648);
+ break;
+ default:
+ g_assert_not_reached();
+ }
+
+ ++*i;
+}
+
+static void
+test_foreach_greeting_topic_values(void)
+{
+ ExperimentReader *reader;
+ gint cb_iter = 0;
+
+ reader = experiment_reader_new(TEST_EXPERIMENT_VALID);
+ g_assert(reader != NULL);
+
+ experiment_reader_foreach_greeting_topic(reader,
+ test_foreach_greeting_topic_values_cb,
+ &cb_iter);
+
+ g_object_unref(reader);
+}
+
+int
+main(int argc, char **argv)
+{
+ g_type_init();
+ g_test_init(&argc, &argv, NULL);
+
+ g_test_add_func("/api/new/test_valid", test_new_valid);
+
+ g_test_add_func("/api/foreach_greeting_topic/test_values",
+ test_foreach_greeting_topic_values);
+
+ g_test_run_suite(g_test_get_root());
+}