tests: moving more tests from playback to tracklist

This commit is contained in:
Javier Domingo Cansino 2013-08-13 09:58:10 +02:00
parent a7d8af544d
commit b70cd9e787
2 changed files with 203 additions and 203 deletions

View File

@ -242,87 +242,6 @@ class PlaybackControllerTest(object):
self.assertNotEqual(self.playback.current_track, self.tracks[1])
self.assertEqual(self.playback.current_track, self.tracks[2])
@populate_tracklist
def test_next_track_before_play(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_next_track_during_play(self):
self.playback.play()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
@populate_tracklist
def test_next_track_after_previous(self):
self.playback.play()
self.playback.next()
self.playback.previous()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
def test_next_track_empty_playlist(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@populate_tracklist
def test_next_track_at_end_of_playlist(self):
self.playback.play()
for _ in self.tracklist.tl_tracks[1:]:
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@populate_tracklist
def test_next_track_at_end_of_playlist_with_repeat(self):
self.tracklist.repeat = True
self.playback.play()
for _ in self.tracks[1:]:
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_next_track_with_random(self):
random.seed(1)
self.tracklist.random = True
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2])
@populate_tracklist
def test_next_with_consume(self):
self.tracklist.consume = True
self.playback.play()
self.playback.next()
self.assertIn(self.tracks[0], self.tracklist.tracks)
@populate_tracklist
def test_next_with_single_and_repeat(self):
self.tracklist.single = True
self.tracklist.repeat = True
self.playback.play()
self.playback.next()
self.assertEqual(self.playback.current_track, self.tracks[1])
@populate_tracklist
def test_next_with_random(self):
# FIXME feels very fragile
random.seed(1)
self.tracklist.random = True
self.playback.play()
self.playback.next()
self.assertEqual(self.playback.current_track, self.tracks[1])
@populate_tracklist
def test_next_track_with_random_after_append_playlist(self):
random.seed(1)
self.tracklist.random = True
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2])
self.tracklist.add(self.tracks[:1])
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
@populate_tracklist
def test_end_of_track(self):
self.playback.play()
@ -390,128 +309,6 @@ class PlaybackControllerTest(object):
self.assertNotEqual(self.playback.current_track, self.tracks[1])
self.assertEqual(self.playback.current_track, self.tracks[2])
@populate_tracklist
def test_end_of_track_track_before_play(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_end_of_track_track_during_play(self):
self.playback.play()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
@populate_tracklist
def test_end_of_track_track_after_previous(self):
self.playback.play()
self.playback.on_end_of_track()
self.playback.previous()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
def test_end_of_track_track_empty_playlist(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@populate_tracklist
def test_end_of_track_track_at_end_of_playlist(self):
self.playback.play()
for _ in self.tracklist.tl_tracks[1:]:
self.playback.on_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@populate_tracklist
def test_end_of_track_track_at_end_of_playlist_with_repeat(self):
self.tracklist.repeat = True
self.playback.play()
for _ in self.tracks[1:]:
self.playback.on_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_end_of_track_track_with_random(self):
random.seed(1)
self.tracklist.random = True
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2])
@populate_tracklist
def test_end_of_track_with_consume(self):
self.tracklist.consume = True
self.playback.play()
self.playback.on_end_of_track()
self.assertNotIn(self.tracks[0], self.tracklist.tracks)
@populate_tracklist
def test_end_of_track_with_random(self):
# FIXME feels very fragile
random.seed(1)
self.tracklist.random = True
self.playback.play()
self.playback.on_end_of_track()
self.assertEqual(self.playback.current_track, self.tracks[1])
@populate_tracklist
def test_end_of_track_track_with_random_after_append_playlist(self):
random.seed(1)
self.tracklist.random = True
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2])
self.tracklist.add(self.tracks[:1])
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
@populate_tracklist
def test_previous_track_before_play(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), None)
@populate_tracklist
def test_previous_track_after_play(self):
self.playback.play()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), None)
@populate_tracklist
def test_previous_track_after_next(self):
self.playback.play()
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_previous_track_after_previous(self):
self.playback.play() # At track 0
self.playback.next() # At track 1
self.playback.next() # At track 2
self.playback.previous() # At track 1
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), self.tl_tracks[0])
def test_previous_track_empty_playlist(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), None)
@populate_tracklist
def test_previous_track_with_consume(self):
self.tracklist.consume = True
for _ in self.tracks:
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(
self.tracklist.previous_track(tl_track), tl_track)
@populate_tracklist
def test_previous_track_with_random(self):
self.tracklist.random = True
for _ in self.tracks:
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(
self.tracklist.previous_track(tl_track), tl_track)
@populate_tracklist
def test_initial_current_track(self):
self.assertEqual(self.playback.current_track, None)

View File

@ -125,6 +125,209 @@ class TracklistControllerTest(object):
self.tracklist.clear()
self.assertEqual(self.playback.state, PlaybackState.STOPPED)
@populate_tracklist
def test_next_track_before_play(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_next_track_during_play(self):
self.playback.play()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
@populate_tracklist
def test_next_track_after_previous(self):
self.playback.play()
self.playback.next()
self.playback.previous()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
def test_next_track_empty_playlist(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@populate_tracklist
def test_next_track_at_end_of_playlist(self):
self.playback.play()
for _ in self.tracklist.tl_tracks[1:]:
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@populate_tracklist
def test_next_track_at_end_of_playlist_with_repeat(self):
self.tracklist.repeat = True
self.playback.play()
for _ in self.tracks[1:]:
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_next_track_with_random(self):
random.seed(1)
self.tracklist.random = True
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2])
@populate_tracklist
def test_next_with_consume(self):
self.tracklist.consume = True
self.playback.play()
self.playback.next()
self.assertIn(self.tracks[0], self.tracklist.tracks)
@populate_tracklist
def test_next_with_single_and_repeat(self):
self.tracklist.single = True
self.tracklist.repeat = True
self.playback.play()
self.playback.next()
self.assertEqual(self.playback.current_track, self.tracks[1])
@populate_tracklist
def test_next_with_random(self):
# FIXME feels very fragile
random.seed(1)
self.tracklist.random = True
self.playback.play()
self.playback.next()
self.assertEqual(self.playback.current_track, self.tracks[1])
@populate_tracklist
def test_next_track_with_random_after_append_playlist(self):
random.seed(1)
self.tracklist.random = True
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2])
self.tracklist.add(self.tracks[:1])
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
@populate_tracklist
def test_end_of_track_track_before_play(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_end_of_track_track_during_play(self):
self.playback.play()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
@populate_tracklist
def test_end_of_track_track_after_previous(self):
self.playback.play()
self.playback.on_end_of_track()
self.playback.previous()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
def test_end_of_track_track_empty_playlist(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@populate_tracklist
def test_end_of_track_track_at_end_of_playlist(self):
self.playback.play()
for _ in self.tracklist.tl_tracks[1:]:
self.playback.on_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), None)
@populate_tracklist
def test_end_of_track_track_at_end_of_playlist_with_repeat(self):
self.tracklist.repeat = True
self.playback.play()
for _ in self.tracks[1:]:
self.playback.on_end_of_track()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_end_of_track_track_with_random(self):
random.seed(1)
self.tracklist.random = True
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2])
@populate_tracklist
def test_end_of_track_with_consume(self):
self.tracklist.consume = True
self.playback.play()
self.playback.on_end_of_track()
self.assertNotIn(self.tracks[0], self.tracklist.tracks)
@populate_tracklist
def test_end_of_track_with_random(self):
# FIXME feels very fragile
random.seed(1)
self.tracklist.random = True
self.playback.play()
self.playback.on_end_of_track()
self.assertEqual(self.playback.current_track, self.tracks[1])
@populate_tracklist
def test_end_of_track_track_with_random_after_append_playlist(self):
random.seed(1)
self.tracklist.random = True
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2])
self.tracklist.add(self.tracks[:1])
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1])
@populate_tracklist
def test_previous_track_before_play(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), None)
@populate_tracklist
def test_previous_track_after_play(self):
self.playback.play()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), None)
@populate_tracklist
def test_previous_track_after_next(self):
self.playback.play()
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), self.tl_tracks[0])
@populate_tracklist
def test_previous_track_after_previous(self):
self.playback.play() # At track 0
self.playback.next() # At track 1
self.playback.next() # At track 2
self.playback.previous() # At track 1
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), self.tl_tracks[0])
def test_previous_track_empty_playlist(self):
tl_track = self.playback.current_tl_track
self.assertEqual(self.tracklist.previous_track(tl_track), None)
@populate_tracklist
def test_previous_track_with_consume(self):
self.tracklist.consume = True
for _ in self.tracks:
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(
self.tracklist.previous_track(tl_track), tl_track)
@populate_tracklist
def test_previous_track_with_random(self):
self.tracklist.random = True
for _ in self.tracks:
self.playback.next()
tl_track = self.playback.current_tl_track
self.assertEqual(
self.tracklist.previous_track(tl_track), tl_track)
def test_add_appends_to_the_tracklist(self):
self.tracklist.add([Track(uri='a'), Track(uri='b')])
self.assertEqual(len(self.tracklist.tracks), 2)