rind: Clean up playlist manager tests
I simplify most of the code and make it easier to add more playlists in the future. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
2c078a3d21
commit
faaf640bea
|
@ -10,9 +10,11 @@ from gi.repository import Gtk, GObject, GLib
|
|||
plist_mgr = curds.PlaylistManager
|
||||
test_album1 = os.path.abspath("./trier/Test Library/Test Artist 02/Test Album 1")
|
||||
test_album2 = os.path.abspath("./trier/Test Library/Test Artist 02/Test Album 2")
|
||||
toplevel_names = [ "Collection\n0 Tracks", "Previous\n0 Tracks", "", "<big>Library</big>" ]
|
||||
toplevel_icons = [ "media-playback-start", "edit-undo", "", "folder" ]
|
||||
toplevel_plist = [ plist_mgr["Collection"], plist_mgr["Previous"], None, plist_mgr["Library"] ]
|
||||
|
||||
toplevel = [ ("media-playback-start", "Collection\n0 Tracks", plist_mgr["Collection"]),
|
||||
("edit-undo", "Previous\n0 Tracks", plist_mgr["Previous"]),
|
||||
("", "", None),
|
||||
("folder-music", "<big>Library</big>", plist_mgr["Library"]) ]
|
||||
|
||||
class TestManager(unittest.TestCase):
|
||||
def setUp(self):
|
||||
|
@ -42,50 +44,43 @@ class TestManager(unittest.TestCase):
|
|||
path = Gtk.TreePath(0)
|
||||
iter = model.get_iter(path)
|
||||
|
||||
self.assertEqual(model.iter_n_children(None), 4)
|
||||
self.assertEqual(model.iter_n_children(None), len(toplevel))
|
||||
self.assertIsNone(model.find_playlist(None))
|
||||
|
||||
self.assertEqual(iter.user_data, 1)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
self.assertFalse(model.iter_has_child(iter))
|
||||
self.assertEqual(model.iter_n_children(iter), 0)
|
||||
self.assertEqual(model.iter_playlist(iter), plist_mgr["Collection"])
|
||||
self.assertEqual(model.get_value(iter, 0), toplevel_icons[0])
|
||||
self.assertEqual(model.get_value(iter, 1), toplevel_names[0])
|
||||
track = curds.Track.lookup(os.path.join(test_album1, "01 - Test Track 01.ogg"))
|
||||
self.assertEqual(model.get_value(iter, 1), "Collection\n1 Track")
|
||||
track = curds.Track.lookup(os.path.join(test_album1, "02 - Test Track 02.ogg"))
|
||||
self.assertEqual(model.get_value(iter, 1), "Collection\n2 Tracks")
|
||||
|
||||
for i in range(1, 3):
|
||||
iter = model.iter_next(iter)
|
||||
for i in range(0, len(toplevel)):
|
||||
path = model.get_path(iter)
|
||||
self.assertEqual(iter.user_data, i + 1)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
self.assertEqual(path.get_indices(), [ i ])
|
||||
self.assertFalse(model.iter_has_child(iter))
|
||||
|
||||
self.assertEqual(model.iter_n_children(iter), 0)
|
||||
self.assertEqual(model.iter_playlist(iter), toplevel_plist[i])
|
||||
self.assertEqual(model.get_value(iter, 0), toplevel_icons[i])
|
||||
self.assertEqual(model.get_value(iter, 1), toplevel_names[i])
|
||||
self.assertEqual(model.get_value(iter, 0), toplevel[i][0])
|
||||
self.assertEqual(model.get_value(iter, 1), toplevel[i][1])
|
||||
self.assertEqual(model.iter_playlist(iter), toplevel[i][2])
|
||||
self.assertIsNone(model.iter_parent(iter))
|
||||
|
||||
iter = model.iter_nth_child(None, 2)
|
||||
self.assertEqual(iter.user_data, 3)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
if toplevel[i][2] != None:
|
||||
piter = model.find_playlist(toplevel[i][2])
|
||||
self.assertEqual(model.get_path(piter).get_indices(), [ i ])
|
||||
piter = model.iter_nth_child(None, i)
|
||||
self.assertEqual(model.get_path(piter).get_indices(), [ i ])
|
||||
iter = model.iter_next(iter)
|
||||
|
||||
iter = model.find_playlist(plist_mgr["Collection"])
|
||||
self.assertEqual(iter.user_data, 1)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
self.assertIsNone(model.find_playlist(None))
|
||||
iter = model.find_playlist(curds.PlaylistManager["Collection"])
|
||||
track = curds.Track.lookup(os.path.join(test_album1, "01 - Test Track 01.ogg"))
|
||||
self.assertEqual(model.get_value(iter, 1), "Collection\n1 Track")
|
||||
track = curds.Track.lookup(os.path.join(test_album1, "02 - Test Track 02.ogg"))
|
||||
self.assertEqual(model.get_value(iter, 1), "Collection\n2 Tracks")
|
||||
|
||||
def test_model_library(self):
|
||||
model = manager.ManagerModel()
|
||||
iter = model.find_playlist(plist_mgr["Library"])
|
||||
index = manager.toplevel.index("Library") + 1
|
||||
|
||||
self.assertEqual(iter.user_data, 4)
|
||||
self.assertEqual(index, len(toplevel))
|
||||
self.assertEqual(iter.user_data, index)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
self.assertFalse(model.iter_has_child(iter))
|
||||
|
@ -100,38 +95,29 @@ class TestManager(unittest.TestCase):
|
|||
curds.playlist.library.join()
|
||||
self.assertEqual(model.iter_n_children(iter), 2)
|
||||
|
||||
plist = [ plist1, plist2 ]
|
||||
child = model.iter_children(iter)
|
||||
self.assertEqual(child.user_data, 4)
|
||||
self.assertEqual(child.user_data2, 1)
|
||||
self.assertEqual(child.user_data3, 0)
|
||||
self.assertEqual(model.get_path(child).get_indices(), [ 3, 0 ])
|
||||
for i in [ 1, 2 ]:
|
||||
self.assertEqual(child.user_data, index)
|
||||
self.assertEqual(child.user_data2, i)
|
||||
self.assertEqual(child.user_data3, 0)
|
||||
self.assertEqual(model.get_path(child).get_indices(),
|
||||
[ index - 1, i - 1 ])
|
||||
|
||||
child = model.iter_next(child)
|
||||
self.assertEqual(child.user_data, 4)
|
||||
self.assertEqual(child.user_data2, 2)
|
||||
self.assertEqual(child.user_data3, 0)
|
||||
self.assertEqual(model.get_path(child).get_indices(), [ 3, 1 ])
|
||||
self.assertEqual(model.iter_playlist(child), plist[i-1])
|
||||
self.assertEqual(model.get_value(child, 0), "folder-music")
|
||||
self.assertEqual(model.get_value(child, 1), f"{plist[i-1].name}\n10 Tracks")
|
||||
|
||||
child = model.find_playlist(plist2)
|
||||
path = model.get_path(child)
|
||||
self.assertEqual(child.user_data, 4)
|
||||
self.assertEqual(child.user_data2, 2)
|
||||
self.assertEqual(child.user_data3, 0)
|
||||
self.assertEqual(model.iter_playlist(child), plist2)
|
||||
self.assertEqual(path.get_indices(), [ 3, 1 ])
|
||||
citer = model.get_iter(path)
|
||||
self.assertEqual(citer.user_data, 4)
|
||||
self.assertEqual(citer.user_data2, 2)
|
||||
self.assertEqual(citer.user_data3, 0)
|
||||
piter = model.find_playlist(plist[i-1])
|
||||
self.assertEqual(piter.user_data, index)
|
||||
self.assertEqual(piter.user_data2, i)
|
||||
self.assertEqual(piter.user_data3, 0)
|
||||
|
||||
iter = model.iter_parent(child)
|
||||
self.assertEqual(iter.user_data, 4)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
|
||||
curds.playlist.library.join()
|
||||
self.assertEqual(model.get_value(child, 0), "folder-music")
|
||||
self.assertEqual(model.get_value(child, 1), f"{test_album2}\n10 Tracks")
|
||||
parent = model.iter_parent(child)
|
||||
self.assertEqual(parent.user_data, index)
|
||||
self.assertEqual(parent.user_data2, 0)
|
||||
self.assertEqual(parent.user_data3, 0)
|
||||
if i == 1: child = model.iter_next(child)
|
||||
|
||||
def test_manager_selection(self):
|
||||
selection = manager.Treeview.get_selection()
|
||||
|
@ -159,12 +145,7 @@ class TestManager(unittest.TestCase):
|
|||
self.assertFalse(selection.path_is_selected(path))
|
||||
self.assertEqual(playlist.PlistModel.playlist, plist_mgr["Previous"])
|
||||
|
||||
path.next()
|
||||
selection.select_path(path)
|
||||
self.assertFalse(selection.path_is_selected(path))
|
||||
self.assertEqual(playlist.PlistModel.playlist, plist_mgr["Previous"])
|
||||
|
||||
path.down()
|
||||
path = model.get_path(model.find_playlist(plist))
|
||||
selection.select_path(path)
|
||||
self.assertTrue(selection.path_is_selected(path))
|
||||
self.assertEqual(playlist.PlistModel.playlist, plist)
|
||||
|
|
Loading…
Reference in New Issue