52 lines
1.7 KiB
C
52 lines
1.7 KiB
C
/*
|
|
* Copyright 2016 (c) Anna Schumaker.
|
|
*/
|
|
#include <gui/model.h>
|
|
#include <tests/test.h>
|
|
|
|
static void test_model()
|
|
{
|
|
GuiQueueModel *model = gui_queue_model_new();
|
|
GtkTreeModel *treemodel;
|
|
GType type;
|
|
|
|
test_not_equal((void *)model, NULL);
|
|
test_equal(GTK_IS_TREE_MODEL(model), true);
|
|
treemodel = GTK_TREE_MODEL(model);
|
|
|
|
test_equal(gtk_tree_model_get_flags(treemodel), GTK_TREE_MODEL_LIST_ONLY);
|
|
test_equal(gtk_tree_model_get_n_columns(treemodel), 10);
|
|
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_TRACK_NR);
|
|
test_equal(type, G_TYPE_UINT);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_TITLE);
|
|
test_equal(type, G_TYPE_STRING);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_LENGTH);
|
|
test_equal(type, G_TYPE_STRING);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_ARTIST);
|
|
test_equal(type, G_TYPE_STRING);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_ALBUM);
|
|
test_equal(type, G_TYPE_STRING);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_YEAR);
|
|
test_equal(type, G_TYPE_UINT);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_GENRE);
|
|
test_equal(type, G_TYPE_STRING);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_COUNT);
|
|
test_equal(type, G_TYPE_UINT);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_LAST_PLAY);
|
|
test_equal(type, G_TYPE_STRING);
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_FILE_PATH);
|
|
test_equal(type, G_TYPE_STRING);
|
|
|
|
/* This should trigger an assertion failure */
|
|
type = gtk_tree_model_get_column_type(treemodel, Q_MODEL_N_COLUMNS);
|
|
test_equal(type, G_TYPE_INVALID);
|
|
|
|
g_object_unref(model);
|
|
test_equal(G_IS_OBJECT(model), false);
|
|
}
|
|
|
|
DECLARE_UNIT_TESTS(
|
|
UNIT_TEST("Queue Model", test_model),
|
|
);
|