grim/gplate

converted test-util.c to gtester

2009-11-15, Gary Kramlich
bbab7cbd784c
converted test-util.c to gtester
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif /* HAVE_CONFIG_H */
#include <gplate/gplate.h>
/******************************************************************************
* Fixtures
*****************************************************************************/
typedef struct {
GPlateVariable *variable;
} GPlateVariableTestFixture;
static void
gplate_variable_test_teardown(GPlateVariableTestFixture *f, gconstpointer d) {
g_object_unref(G_OBJECT(f->variable));
}
/******************************************************************************
* Tests
*****************************************************************************/
static void
gplate_variable_test_string(GPlateVariableTestFixture *f, gconstpointer d) {
const gchar *input = (const gchar *)d;
const gchar *output = NULL;
f->variable = gplate_variable_new_from_string("test", input);
output = gplate_variable_get_value(f->variable);
g_assert_cmpstr(output, ==, input);
}
static void
gplate_variable_test_boolean(GPlateVariableTestFixture *f, gconstpointer d) {
gboolean input = GPOINTER_TO_INT(d);
const gchar *output = NULL, *expected = NULL;
expected = (input) ? "TRUE" : "FALSE";
f->variable = gplate_variable_new_from_boolean("test", input);
output = gplate_variable_get_value(f->variable);
g_assert_cmpstr(output, ==, expected);
}
static void
gplate_variable_test_integer(GPlateVariableTestFixture *f, gconstpointer d) {
gint input = GPOINTER_TO_INT(d), got = 0;
const gchar *output = NULL;
f->variable = gplate_variable_new_from_integer("test", input);
output = gplate_variable_get_value(f->variable);
g_assert(output != NULL);
got = atoi(output);
g_assert_cmpint(input, ==, got);
}
/******************************************************************************
* MIZAN
*****************************************************************************/
gint
main(gint argc, gchar **argv) {
g_type_init();
g_test_init(&argc, &argv, NULL);
/* string tests */
g_test_add("/string/null", GPlateVariableTestFixture,
NULL,
NULL, gplate_variable_test_string,
gplate_variable_test_teardown);
g_test_add("/string/empty", GPlateVariableTestFixture,
"",
NULL, gplate_variable_test_string,
gplate_variable_test_teardown);
g_test_add("/string/ascii", GPlateVariableTestFixture,
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
NULL, gplate_variable_test_string,
gplate_variable_test_teardown);
g_test_add("/string/utf8", GPlateVariableTestFixture,
"☀☁☂☃☄",
NULL, gplate_variable_test_string,
gplate_variable_test_teardown);
/* boolean tests */
g_test_add("/boolean/true", GPlateVariableTestFixture,
GINT_TO_POINTER(TRUE),
NULL, gplate_variable_test_boolean,
gplate_variable_test_teardown);
g_test_add("/boolean/false", GPlateVariableTestFixture,
GINT_TO_POINTER(FALSE),
NULL, gplate_variable_test_boolean,
gplate_variable_test_teardown);
/* integer tests */
g_test_add("/integer/positive", GPlateVariableTestFixture,
GINT_TO_POINTER(1),
NULL, gplate_variable_test_integer,
gplate_variable_test_teardown);
g_test_add("/integer/zero", GPlateVariableTestFixture,
GINT_TO_POINTER(0),
NULL, gplate_variable_test_integer,
gplate_variable_test_teardown);
g_test_add("/integer/negative", GPlateVariableTestFixture,
GINT_TO_POINTER(-1),
NULL, gplate_variable_test_integer,
gplate_variable_test_teardown);
/* run 'em! */
return g_test_run();
}