rind: Make sure we test manger get_iter(), get_path(), and get_value()

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2019-04-03 20:54:35 -04:00
parent b65a6d9929
commit 4b1ef863b8
2 changed files with 50 additions and 18 deletions

View File

@ -19,26 +19,22 @@ class ManagerModel(GObject.GObject, Gtk.TreeModel):
return str
def do_get_iter(self, path):
res = (False, None)
for i in path.get_indices():
res = self.do_iter_nth_child(res[1], i)
return res
iter = Gtk.TreeIter()
iter.user_data = path[0] + 1
iter.user_data2 = path[1] + 1 if len(path) >= 2 else 0
return self.iter_valid(iter)
def do_get_n_columns(self):
return 2
def do_get_path(self, iter):
if iter != None:
indices = [ iter.user_data - 1 ]
if iter.user_data2 > 0:
indices.append(iter.user_data2 - 1)
return Gtk.TreePath().new_from_indices(indices)
return None
path = Gtk.TreePath(iter.user_data - 1)
if iter.user_data2 > 0:
path.append_index(iter.user_data2 - 1)
return path
def do_get_value(self, iter, column):
plist = self.iter_playlist(iter)
if plist == None:
return ""
if column == 0:
return plist.icon
if isinstance(plist, curds.Playlist):

View File

@ -43,12 +43,48 @@ class TestManager(unittest.TestCase):
self.assertEqual(manager.Treeview.get_model(), manager.MgrModel)
def test_model_init(self):
model = manager.ManagerModel()
self.assertEqual(model.get_n_columns(), 2)
self.assertEqual(model.get_flags(), 0)
self.assertIsNone(model.iter_nth_child(None, 999))
for col in range(model.get_n_columns()):
self.assertEqual(model.get_column_type(col), GObject.GType(str))
self.assertEqual(self.model.get_n_columns(), 2)
self.assertEqual(self.model.get_flags(), 0)
for col in range(self.model.get_n_columns()):
self.assertEqual(self.model.get_column_type(col), GObject.GType(str))
def test_model_get_iter(self):
for i in range(len(plist_mgr)):
path = Gtk.TreePath.new_from_indices([ i ])
iter = self.model.get_iter(path)
self.assertTreeIterEqual(iter, (i + 1, 0, 0))
path = Gtk.TreePath.new_from_indices([ len(plist_mgr) ])
self.assertRaises(ValueError, self.model.get_iter, path)
idx = plist_mgr.index(self.genre)
for i in range(len(self.genre)):
path = Gtk.TreePath.new_from_indices([ idx, i ])
iter = self.model.get_iter(path)
self.assertTreeIterEqual(iter, (idx + 1, i + 1, 0))
def test_model_get_path(self):
iter = Gtk.TreeIter()
for i in range(len(plist_mgr)):
iter.user_data = i + 1
path = self.model.get_path(iter)
self.assertEqual(path.get_indices(), [ i ])
iter = self.model.playlist_iter(self.genre)
for i in range(len(self.genre)):
iter.user_data2 = i + 1
path = self.model.get_path(iter)
self.assertEqual(path.get_indices(), [ iter.user_data - 1, i ])
def test_model_get_value(self):
iter = Gtk.TreeIter()
for i in range(len(plist_mgr)):
plist = plist_mgr[i]
iter.user_data = i + 1
self.assertEqual(self.model.get_value(iter, 0), plist.icon)
self.assertEqual(self.model.get_value(iter, 1), str(plist))
def test_model_iter_children(self):
iter = self.model.iter_children(None)