+ for trk in [{}, {'artist': 'Devolt'}, {'artist': 'Devolt', 'file':''}]:
+ self.assertFalse(bool(Track(**trk)))
+
+ def test_albumartist(self):
+ trk = Track(albumartist='album_artist', artist='track_artist')
+ self.assertEqual(trk.Artist.name, 'album_artist')
+ trk = Track(artist='track_artist')
+ self.assertEqual(trk.Artist.name, 'track_artist')
+
+class TestTrackObjectEquality(unittest.TestCase):
+
+ def test_identity(self):
+ trk0 = Track(file='/foo/bar',
+ musicbrainz_artistid='d8e7e3e2-49ab-4f7c-b148-fc946d521f99',
+ title='Crazy')
+ trk1 = Track(file='/foo/bar/baz',
+ musicbrainz_artistid='d8e7e3e2-49ab-4f7c-b148-fc946d521f99',
+ title='Crazy')
+ self.assertTrue(trk1 == trk0, 'different files same artist/title should be equal')
+ trk0 = Track(file='/foo/bar',
+ musicbrainz_artistid='d8e7e3e2-49ab-4f7c-b148-fc946d521f88',
+ title='Crazy')
+ trk1 = Track(file='/foo/bar/baz',
+ musicbrainz_artistid='d8e7e3e2-49ab-4f7c-b148-fc946d521f99',
+ title='Crazy')
+ self.assertTrue(trk1 != trk0, 'different files same title different artist should not be equal')