54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
# Copyright 2019 (c) Anna Schumaker.
|
|
from . import library
|
|
from . import manager
|
|
from . import playlist
|
|
from .. import notify
|
|
from .. import tags
|
|
from .. import threadqueue
|
|
import os
|
|
import unittest
|
|
|
|
test_album = os.path.abspath("./trier/Test Album")
|
|
test_library = os.path.abspath("./trier/Test Library")
|
|
|
|
class TestPlaylistManager(unittest.TestCase):
|
|
def setUp(self):
|
|
notify.Notify.clear()
|
|
tags.tag_map.clear()
|
|
if not library.library_thread.is_alive():
|
|
library.library_thread = threadqueue.ThreadQueue()
|
|
|
|
def tearDown(self):
|
|
library.library_thread.stop()
|
|
|
|
def test_manager_init(self):
|
|
playman = manager.PlaylistManager()
|
|
self.assertIsInstance(playman, manager.PlaylistManager)
|
|
self.assertIsInstance(playman, dict)
|
|
self.assertIsInstance(playman["Collection"], playlist.Playlist)
|
|
self.assertIsInstance(playman["Library"], manager.LibraryManager)
|
|
self.assertIsInstance(playman["Library"], dict)
|
|
|
|
def test_manager_library(self):
|
|
playman = manager.PlaylistManager()
|
|
plist = playman["Library"][test_library + "/"]
|
|
self.assertEqual(plist.name, test_library)
|
|
self.assertIsInstance(plist, library.LibraryPlaylist)
|
|
self.assertEqual(id(plist), id(playman["Library"][test_library]))
|
|
|
|
alist = playman["Library"][test_album]
|
|
self.assertIsInstance(alist, library.LibraryPlaylist)
|
|
self.assertNotEqual(id(plist), id(alist))
|
|
self.assertIn(alist, playman["Library"].values())
|
|
self.assertIn(plist, playman["Library"].values())
|
|
|
|
def test_manager_on_scan(self):
|
|
playman = manager.PlaylistManager()
|
|
alist = playman["Library"][test_album]
|
|
plist = playman["Library"][test_library]
|
|
|
|
library.library_thread.join()
|
|
self.assertEqual(len(plist), 1250)
|
|
self.assertEqual(len(alist), 11)
|
|
self.assertEqual(len(playman["Collection"]), len(alist) + len(plist))
|