def test_list_identfy_VA_albums(self): # Test multiple arguments data = [("artist1", "album1", "/", 2006), ("artist2", "album1", "/", 2006), ("artist1", "album1", "test", 1992), ("artist3", "album1", "/", 2006)] albums = [ song.SongRecord(artist=item[0], album=item[1], path=item[2], year=item[3]) for item in data ] various_albums = library.list_mark_various_artists_albums(albums) album = albums[0]._asdict() album['artist'] = library.VARIOUS_ARTISTS albums[0] = song.SongRecord(**album) self.assertEqual(various_albums, albums) # Test single argument albums2 = [ song.SongRecord(artist="Tim Pritlove, Holger Klein", album="Not Safe For Work", path="podcasts/Not Save For Work", year=2012) ] various_albums2 = library.list_mark_various_artists_albums(albums2) self.assertEqual(various_albums2, albums2)
def test_song_record(self): record_first = song.SongRecord("a", "a", "a", "a", "a") record_equal = song.SongRecord(artist="a", path="b") record_equal2 = song.SongRecord(artist="a", path="b") record_last = song.SongRecord("z", "z", "z", "z", "z") self.assertEqual(record_equal.artist, "a") self.assertEqual(record_equal2.path, "b") # test comparision self.assertEqual(record_equal, record_equal2) self.assertNotEqual(record_first, record_last) self.assertGreater(record_last, record_first) self.assertGreaterEqual(record_last, record_first) self.assertLess(record_first, record_last) self.assertLessEqual(record_first, record_last) # test hashing d = {} d[record_equal] = True self.assertIn(record_equal, d) self.assertIn(record_equal2, d) # record_equal == record_equal2 # test sorting lst = [record_equal, record_equal2, record_last, record_first] lst.sort(key=operator.attrgetter("path")) self.assertEqual( lst, [record_first, record_equal, record_equal2, record_last]) # test unpacking a, b, c, d, e = record_equal self.assertEqual(record_equal.album, a) self.assertEqual(record_equal.artist, b) self.assertEqual(record_equal.genre, c) self.assertEqual(record_equal.path, e)