curds: Add the Previous playlist to the playlist manager
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
c794faf95c
commit
3afffc54d4
|
@ -1,6 +1,7 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import collection
|
||||
from . import library
|
||||
from . import previous
|
||||
from .. import notify
|
||||
import os
|
||||
|
||||
|
@ -27,10 +28,16 @@ class LibraryManager(list):
|
|||
class PlaylistManager(dict):
|
||||
def __init__(self):
|
||||
self["Collection"] = collection.CollectionPlaylist()
|
||||
self["Previous"] = previous.PreviousPlaylist()
|
||||
self["Library"] = LibraryManager()
|
||||
self.current = self["Collection"]
|
||||
self.track = None
|
||||
|
||||
def next(self):
|
||||
self.track = self.current.next()
|
||||
self["Previous"].add(self.track)
|
||||
return self.track
|
||||
|
||||
def previous(self):
|
||||
self.track = self["Previous"].next()
|
||||
return self.track
|
||||
|
|
|
@ -3,6 +3,7 @@ from . import collection
|
|||
from . import library
|
||||
from . import manager
|
||||
from . import playlist
|
||||
from . import previous
|
||||
from .. import notify
|
||||
from .. import tags
|
||||
from .. import threadqueue
|
||||
|
@ -28,6 +29,7 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
self.assertIsInstance(playman, manager.PlaylistManager)
|
||||
self.assertIsInstance(playman, dict)
|
||||
self.assertIsInstance(playman["Collection"], collection.CollectionPlaylist)
|
||||
self.assertIsInstance(playman["Previous"], previous.PreviousPlaylist)
|
||||
self.assertIsInstance(playman["Library"], manager.LibraryManager)
|
||||
self.assertIsInstance(playman["Library"], list)
|
||||
|
||||
|
@ -77,17 +79,31 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
self.assertEqual(len(alist), 12)
|
||||
self.assertEqual(len(playman["Collection"]), len(alist) + len(plist))
|
||||
|
||||
def test_manager_next(self):
|
||||
def test_manager_next_prev(self):
|
||||
playman = manager.PlaylistManager()
|
||||
self.assertIsNone(playman.next())
|
||||
self.assertIsNone(playman.track)
|
||||
|
||||
clist = playman["Collection"]
|
||||
prev = playman["Previous"]
|
||||
plist = playman["Library"].add(test_library)
|
||||
library.library_thread.join()
|
||||
|
||||
track = playman.next()
|
||||
self.assertEqual(playman.track, track)
|
||||
track1 = playman.next()
|
||||
self.assertEqual(playman.track, track1)
|
||||
self.assertEqual(clist.current, 0)
|
||||
self.assertEqual(track, clist[0])
|
||||
self.assertEqual(track1, clist[0])
|
||||
|
||||
self.assertEqual(len(prev), 1)
|
||||
self.assertEqual(prev[0], track1)
|
||||
|
||||
track2 = playman.next()
|
||||
self.assertEqual(playman.track, track2)
|
||||
self.assertEqual(clist.current, 1)
|
||||
self.assertEqual(track2, clist[1])
|
||||
|
||||
self.assertEqual(len(prev), 2)
|
||||
self.assertEqual(prev[0], track2)
|
||||
self.assertEqual(prev[1], track1)
|
||||
|
||||
self.assertEqual(playman.previous(), track1)
|
||||
|
|
Loading…
Reference in New Issue