Add move singe test and implement move function on controller
This commit is contained in:
parent
f8c29c1dfd
commit
a8d1330343
@ -28,6 +28,20 @@ class BaseCurrentPlaylistController(object):
|
|||||||
def load(self, playlist):
|
def load(self, playlist):
|
||||||
self.playlist = playlist
|
self.playlist = playlist
|
||||||
|
|
||||||
|
def move(self, start, end, to_position):
|
||||||
|
tracks = self.playlist.tracks
|
||||||
|
|
||||||
|
if start == end:
|
||||||
|
end += 1
|
||||||
|
|
||||||
|
new_tracks = tracks[:start] + tracks[end:]
|
||||||
|
|
||||||
|
for track in tracks[start:end]:
|
||||||
|
new_tracks.insert(to_position, track)
|
||||||
|
to_position += 1
|
||||||
|
|
||||||
|
self.playlist = Playlist(tracks=new_tracks)
|
||||||
|
|
||||||
class BasePlaybackController(object):
|
class BasePlaybackController(object):
|
||||||
PAUSED = 'paused'
|
PAUSED = 'paused'
|
||||||
PLAYING = 'playing'
|
PLAYING = 'playing'
|
||||||
|
|||||||
@ -54,6 +54,15 @@ class BaseCurrentPlaylistControllerTest(object):
|
|||||||
self.controller.load(new_playlist)
|
self.controller.load(new_playlist)
|
||||||
self.assertEqual(new_playlist, self.controller.playlist)
|
self.assertEqual(new_playlist, self.controller.playlist)
|
||||||
|
|
||||||
|
@populate_playlist
|
||||||
|
def test_move_single(self):
|
||||||
|
tracks = self.controller.playlist.tracks
|
||||||
|
self.assertEqual(tracks[0].uri, self.uris[0])
|
||||||
|
self.controller.move(0, 0, 2)
|
||||||
|
|
||||||
|
tracks = self.controller.playlist.tracks
|
||||||
|
self.assertEqual(tracks[2].uri, self.uris[0])
|
||||||
|
|
||||||
class BasePlaybackControllerTest(object):
|
class BasePlaybackControllerTest(object):
|
||||||
uris = []
|
uris = []
|
||||||
backend_class = None
|
backend_class = None
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user