43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
from __future__ import unicode_literals
|
|
|
|
import unittest
|
|
|
|
from mopidy.core import HistoryController
|
|
from mopidy.models import Artist, Track
|
|
|
|
|
|
class PlaybackHistoryTest(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
self.tracks = [
|
|
Track(uri='dummy1:a', name='foo',
|
|
artists=[Artist(name='foober'), Artist(name='barber')]),
|
|
Track(uri='dummy2:a', name='foo'),
|
|
Track(uri='dummy3:a', name='bar')
|
|
]
|
|
self.history = HistoryController()
|
|
|
|
def test_add_track(self):
|
|
self.history.add(self.tracks[0])
|
|
self.history.add(self.tracks[1])
|
|
self.history.add(self.tracks[2])
|
|
self.assertEqual(self.history.size, 3)
|
|
|
|
def test_unsuitable_add(self):
|
|
size = self.history.size
|
|
self.history.add(self.tracks[0])
|
|
self.history.add(object())
|
|
self.history.add(self.tracks[1])
|
|
self.assertEqual(self.history.size, size + 2)
|
|
|
|
def test_history_sanity(self):
|
|
track = self.tracks[0]
|
|
self.history.add(track)
|
|
stored_history = self.history.get_history()
|
|
track_ref = stored_history[0][1]
|
|
self.assertEqual(track_ref.uri, track.uri)
|
|
self.assertIn(track.name, track_ref.name)
|
|
if track.artists:
|
|
for artist in track.artists:
|
|
self.assertIn(artist.name, track_ref.name)
|