grim/gplate
Clone
Summary
Browse
Changes
Graph
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
();
}