From 06d6fd81c725cf2af4831a11dda49d45bfc24e81 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Tue, 27 Apr 2010 22:47:35 +0200 Subject: [PATCH] Add __eq__ to Artist --- mopidy/models.py | 6 ++++++ tests/models_test.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/mopidy/models.py b/mopidy/models.py index 6d0b0dee..6844b254 100644 --- a/mopidy/models.py +++ b/mopidy/models.py @@ -32,6 +32,12 @@ class Artist(ImmutableObject): #: The artist name. Read-only. name = None + def __eq__(self, other): + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not self.__eq__(other) + class Album(ImmutableObject): """ diff --git a/tests/models_test.py b/tests/models_test.py index 43d6ca53..3c1794dd 100644 --- a/tests/models_test.py +++ b/tests/models_test.py @@ -16,6 +16,36 @@ class ArtistTest(unittest.TestCase): self.assertEqual(artist.name, name) self.assertRaises(AttributeError, setattr, artist, 'name', None) + def test_eq_name(self): + artist1 = Artist(name=u'name') + artist2 = Artist(name=u'name') + self.assertEqual(artist1, artist2) + + def test_eq_uri(self): + artist1 = Artist(uri=u'uri') + artist2 = Artist(uri=u'uri') + self.assertEqual(artist1, artist2) + + def test_eq(self): + artist1 = Artist(uri=u'uri', name=u'name') + artist2 = Artist(uri=u'uri', name=u'name') + self.assertEqual(artist1, artist2) + + def test_ne_name(self): + artist1 = Artist(name=u'name1') + artist2 = Artist(name=u'name2') + self.assertNotEqual(artist1, artist2) + + def test_ne_uri(self): + artist1 = Artist(uri=u'uri1') + artist2 = Artist(uri=u'uri2') + self.assertNotEqual(artist1, artist2) + + def test_ne(self): + artist1 = Artist(uri=u'uri1', name=u'name1') + artist2 = Artist(uri=u'uri2', name=u'name2') + self.assertNotEqual(artist1, artist2) + class AlbumTest(unittest.TestCase): def test_uri(self):