Esempio n. 1
0
class TestSong(unittest.TestCase):

    def setUp(self):
        self.song = Song(title="Tra-la-la", artist="Pesho", album="Tarara", length="3:33")
        self.second_song = Song(title="Tra-la-la", artist="Pesho", album="Tarara", length="3:33")

    def test_getTitle_method(self):
        self.assertEqual("Tra-la-la", self.song.getTitle())

    def test_getArtist(self):
        self.assertEqual("Pesho", self.song.getArtist())

    def test_getAlbum(self):
        self.assertEqual("Tarara", self.song.getAlbum())

    def test_getLength(self):
        self.assertEqual("3:33", self.song.getLength())

    def test_str_(self):
        self.assertEqual("Pesho - Tra-la-la from Tarara - 3:33", str(self.song))

    def test_eq_(self):
        self.assertTrue(self.song == self.second_song)

    def test_hash_(self):
        self.assertTrue(type(hash(self.song)) == int)

    def test_length_without_arguments(self):
        self.assertEqual(self.song.length(), "3:33")

    def test_length_with_seconds(self):
        self.assertEqual(self.song.length(seconds=True), 213)

    def test_length_with_minutes(self):
        self.assertEqual(self.song.length(minutes=True), 3)

    def test_length_with_hours(self):
        self.assertEqual(self.song.length(hours=True), 0)