Top | ![]() |
![]() |
![]() |
![]() |
Convenience test data APIConvenience test data API — API to create test data without structure definition. |
void | gcut_add_datum () |
gboolean | gcut_data_has_field () |
#define | gcut_data_get_char() |
const gchar * | gcut_data_get_string () |
gint | gcut_data_get_int () |
guint | gcut_data_get_uint () |
#define | gcut_data_get_int64() |
#define | gcut_data_get_uint64() |
#define | gcut_data_get_size() |
guint | gcut_data_get_flags () |
gint | gcut_data_get_enum () |
gconstpointer | gcut_data_get_pointer () |
gconstpointer | gcut_data_get_boxed () |
#define | gcut_data_get_object() |
#define | gcut_data_get_boolean() |
#define | gcut_data_get_double() |
cut_add_data() requires custom data type for complex test
data. But it's not easy to write. gcut_add_datum()
provides API to use complex test data without custom data
type. It uses GType for providing complex data.
void gcut_add_datum (const gchar *name
,const gchar *first_field_name
,...
);
Adds a datum to be used in data driven test. It's
convenient rather than cut_add_data()
because you doesn't
need to define a new structure for a complex test data.
e.g.:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#include <gcutter.h> void data_translate (void); void test_translate (gconstpointer data); static const gchar* translate (gint input) { switch(input) { case 1: return "first"; case 111: return "a hundred eleven"; default: return "unsupported"; } } void data_translate(void) { gcut_add_datum("simple data", "translated", G_TYPE_STRING, "first", "input", G_TYPE_INT, 1, NULL); gcut_add_datum("complex data", "translated", G_TYPE_STRING, "a hundred eleven", "input", G_TYPE_INT, 111, NULL); } void test_translate(gconstpointer data) { cut_assert_equal_string(gcut_data_get_string(data, "translated"), translate(gcut_data_get_int(data, "input"))); } |
Available types and their values are the followings:
G_TYPE_CHAR |
gchar value e.g.:
|
||
G_TYPE_STRING |
const gchar *value e.g.:
|
||
G_TYPE_INT |
gint value e.g.:
|
||
G_TYPE_UINT |
guint value e.g.:
|
||
G_TYPE_INT64 |
gint64 value e.g.:
|
||
G_TYPE_UINT64 |
guint64 value e.g.:
|
||
G_TYPE_GTYPE |
GType value e.g.:
|
||
GFlags types |
its type value. e.g.:
|
||
GEnum types |
its type value. e.g.:
|
||
G_TYPE_POINTER |
gconstpointer value, GDestroyNotify notify notify is called when value is destroyed. e.g.:
NOTE: value's ownership is passed to Cutter. Don't free it. |
||
GBoxed types |
its type value. e.g.:
NOTE: value's ownership is passed to Cutter. Don't free it. |
||
G_TYPE_BOOLEAN |
gboolean value e.g.:
|
||
G_TYPE_DOUBLE |
gdouble value e.g.:
|
name |
the name of the data. |
|
first_field_name |
the first field name. |
|
... |
the type and value pair of the first field,
followed optionally by the next field name, type
and value triples. |
Since: 1.0.6
gboolean gcut_data_has_field (gconstpointer data
,const gchar *field_name
);
Since: 1.1.5
#define gcut_data_get_char(data, field_name)
Gets a field value identified by field_name
as char.
Since: 1.1.3
const gchar * gcut_data_get_string (gconstpointer data
,const gchar *field_name
);
Gets a field value identified by field_name
as string.
Since: 1.0.6
gint gcut_data_get_int (gconstpointer data
,const gchar *field_name
);
Gets a field value identified by field_name
as integer.
Since: 1.0.6
guint gcut_data_get_uint (gconstpointer data
,const gchar *field_name
);
Gets a field value identified by field_name
as
unsigned integer.
Since: 1.0.6
#define gcut_data_get_int64(data, field_name)
Gets a field value identified by field_name
as 64-bit
integer.
Since: 1.1.3
#define gcut_data_get_uint64(data, field_name)
Gets a field value identified by field_name
as
64-bit unsigned integer.
Since: 1.1.3
#define gcut_data_get_size(data, field_name)
Gets a field value identified by field_name
as size_t.
Since: 1.1.3
guint gcut_data_get_flags (gconstpointer data
,const gchar *field_name
);
Gets a field value identified by field_name
as
unsigned integer of GFlags.
Since: 1.0.6
gint gcut_data_get_enum (gconstpointer data
,const gchar *field_name
);
Gets a field value identified by field_name
as
integer of GEnum type.
Since: 1.0.6
gconstpointer gcut_data_get_pointer (gconstpointer data
,const gchar *field_name
);
Gets a field value identified by field_name
as
pointer.
Since: 1.0.6
gconstpointer gcut_data_get_boxed (gconstpointer data
,const gchar *field_name
);
Gets a field value identified by field_name
as
GBoxed type value.
Since: 1.0.7
#define gcut_data_get_object(data, field_name)
Gets a field value identified by field_name
as
GObject type value.
Since: 1.1.1
#define gcut_data_get_boolean(data, field_name)
Gets a field value identified by field_name
as boolean.
Since: 1.1.3