50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from mopidy.core import Core
|
|
from mopidy.models import Track
|
|
|
|
from tests import unittest
|
|
|
|
|
|
class TracklistTest(unittest.TestCase):
|
|
def setUp(self):
|
|
self.tracks = [
|
|
Track(uri='a', name='foo'),
|
|
Track(uri='b', name='foo'),
|
|
Track(uri='c', name='bar')
|
|
]
|
|
self.core = Core(audio=None, backends=[])
|
|
self.tl_tracks = self.core.tracklist.add(self.tracks)
|
|
|
|
def test_remove_removes_tl_tracks_matching_query(self):
|
|
tl_tracks = self.core.tracklist.remove(name='foo')
|
|
|
|
self.assertEqual(2, len(tl_tracks))
|
|
self.assertListEqual(self.tl_tracks[:2], tl_tracks)
|
|
|
|
self.assertEqual(1, self.core.tracklist.length)
|
|
self.assertListEqual(self.tl_tracks[2:], self.core.tracklist.tl_tracks)
|
|
|
|
def test_remove_works_with_dict_instead_of_kwargs(self):
|
|
tl_tracks = self.core.tracklist.remove({'name': 'foo'})
|
|
|
|
self.assertEqual(2, len(tl_tracks))
|
|
self.assertListEqual(self.tl_tracks[:2], tl_tracks)
|
|
|
|
self.assertEqual(1, self.core.tracklist.length)
|
|
self.assertListEqual(self.tl_tracks[2:], self.core.tracklist.tl_tracks)
|
|
|
|
def test_filter_returns_tl_tracks_matching_query(self):
|
|
tl_tracks = self.core.tracklist.filter(name='foo')
|
|
|
|
self.assertEqual(2, len(tl_tracks))
|
|
self.assertListEqual(self.tl_tracks[:2], tl_tracks)
|
|
|
|
def test_filter_works_with_dict_instead_of_kwargs(self):
|
|
tl_tracks = self.core.tracklist.filter({'name': 'foo'})
|
|
|
|
self.assertEqual(2, len(tl_tracks))
|
|
self.assertListEqual(self.tl_tracks[:2], tl_tracks)
|
|
|
|
# TODO Extract tracklist tests from the base backend tests
|