ocarina/tests/lib/model.cpp

56 lines
1.2 KiB
C++

/*
* Copyright 2014 (c) Anna Schumaker.
*/
#include <core/library.h>
#include <lib/lib.h>
#include <lib/model.h>
#include <tests/test.h>
static void test_qmodel()
{
QueueModel model(library :: get_queue());
Gtk::TreePath path;
Gtk::TreeIter iter;
Gtk::TreeRow row;
bool valid;
test_equal(model.get_flags(), Gtk::TREE_MODEL_LIST_ONLY);
test_equal(model.get_n_columns(), 10);
for (unsigned int i = 0; i < 10; i++) {
if ((i == 0) || (i == 5) || (i == 7))
test_equal(model.get_column_type(i), G_TYPE_UINT);
else
test_equal(model.get_column_type(i), G_TYPE_STRING);
}
path = Gtk::TreePath("42");
iter = model.get_iter(path);
valid = (iter ? true : false);
test_equal(valid, false);
path = Gtk::TreePath("19");
iter = model.get_iter(path);
valid = (iter ? true : false);
test_equal(valid, true);
test_equal(model.get_path(iter), path);
test_equal(model.get_iter(path), iter);
test_equal(model.iter_to_id(iter), (unsigned)19);
test_equal(model.path_to_id(path), (unsigned)15);
valid = (++iter ? true : false);
test_equal(valid, false);
}
int main(int argc, char **argv)
{
Gtk::Main ocarina(&argc, &argv);
test :: cp_data_dir();
lib :: init(&argc, &argv, "ocarina6.glade");
run_test("QueueModel Test", test_qmodel);
return 0;
}