From 931ddc7ec9a4c719d6aa08b0a1ac613a95d88b84 Mon Sep 17 00:00:00 2001 From: Eddy Pedroni Date: Sun, 19 Dec 2021 19:41:55 +0100 Subject: Added architecture diagram, refactored playlist to match --- playlist_unittest.py | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 playlist_unittest.py (limited to 'playlist_unittest.py') diff --git a/playlist_unittest.py b/playlist_unittest.py new file mode 100644 index 0000000..685dcb0 --- /dev/null +++ b/playlist_unittest.py @@ -0,0 +1,65 @@ +from playlist import Playlist + +def test_addAndSelectOneSong(): + songAddedByUser = "/path/to/song" + songSetByCallback = None + + def testCallback(song): + nonlocal songSetByCallback + songSetByCallback = song + + uut = Playlist(testCallback) + uut.addSong(songAddedByUser) + uut.setCurrentSong(0) + + assert songAddedByUser == songSetByCallback + +def test_addTwoSongsAndSelectBoth(): + songAddedByUser = ["/path/to/song", "/path/to/second/song"] + songSetByCallback = None + + def testCallback(song): + nonlocal songSetByCallback + songSetByCallback = song + + uut = Playlist(testCallback) + uut.addSong(songAddedByUser[0]) + uut.addSong(songAddedByUser[1]) + + uut.setCurrentSong(0) + assert songAddedByUser[0] == songSetByCallback + + uut.setCurrentSong(1) + assert songAddedByUser[1] == songSetByCallback + +def test_firstAddedSongIsSelected(): + songAddedByUser = "/path/to/song" + songSetByCallback = None + + def testCallback(song): + nonlocal songSetByCallback + songSetByCallback = song + + uut = Playlist(testCallback) + uut.addSong(songAddedByUser) + + assert songAddedByUser == songSetByCallback + +def test_invalidSongSelection(): + songAddedByUser = "/path/to/song" + songSetByCallback = None + + def testCallback(song): + nonlocal songSetByCallback + songSetByCallback = song + + uut = Playlist(testCallback) + assert songSetByCallback == None + + uut.setCurrentSong(10) + assert songSetByCallback == None + + uut.addSong(songAddedByUser) + uut.setCurrentSong(10) + assert songSetByCallback == songAddedByUser + -- cgit v1.2.3