Fix comparison with None for artist, album and event, with test. For #97.
This commit is contained in:
parent
ff69189a6d
commit
bc7433990b
18
pylast.py
18
pylast.py
|
@ -1747,13 +1747,7 @@ class _Opus(_BaseObject, _Taggable):
|
|||
return (a == b) and (c == d)
|
||||
|
||||
def __ne__(self, other):
|
||||
if type(self) != type(other):
|
||||
return True
|
||||
a = self.get_title().lower()
|
||||
b = other.get_title().lower()
|
||||
c = self.get_artist().get_name().lower()
|
||||
d = other.get_artist().get_name().lower()
|
||||
return (a != b) or (c != d)
|
||||
return not self.__eq__(other)
|
||||
|
||||
def _get_params(self):
|
||||
return {
|
||||
|
@ -1907,10 +1901,13 @@ class Artist(_BaseObject, _Taggable):
|
|||
return self.get_name()
|
||||
|
||||
def __eq__(self, other):
|
||||
if type(self) is type(other):
|
||||
return self.get_name().lower() == other.get_name().lower()
|
||||
else:
|
||||
return False
|
||||
|
||||
def __ne__(self, other):
|
||||
return self.get_name().lower() != other.get_name().lower()
|
||||
return not self.__eq__(other)
|
||||
|
||||
def _get_params(self):
|
||||
return {self.ws_prefix: self.get_name()}
|
||||
|
@ -2114,10 +2111,13 @@ class Event(_BaseObject):
|
|||
return "Event #" + str(self.get_id())
|
||||
|
||||
def __eq__(self, other):
|
||||
if type(self) is type(other):
|
||||
return self.get_id() == other.get_id()
|
||||
else:
|
||||
return False
|
||||
|
||||
def __ne__(self, other):
|
||||
return self.get_id() != other.get_id()
|
||||
return not self.__eq__(other)
|
||||
|
||||
def _get_params(self):
|
||||
return {'event': self.get_id()}
|
||||
|
|
|
@ -1803,7 +1803,6 @@ class TestPyLast(unittest.TestCase):
|
|||
self.assertTrue(country1 != country2)
|
||||
self.assertEqual(url, "http://www.last.fm/place/italy")
|
||||
|
||||
|
||||
def test_track_eq_none_is_false(self):
|
||||
# Arrange
|
||||
track1 = None
|
||||
|
@ -1820,6 +1819,56 @@ class TestPyLast(unittest.TestCase):
|
|||
# Act / Assert
|
||||
self.assertTrue(track1 != track2)
|
||||
|
||||
def test_artist_eq_none_is_false(self):
|
||||
# Arrange
|
||||
artist1 = None
|
||||
artist2 = pylast.Artist("Test Artist", self.network)
|
||||
|
||||
# Act / Assert
|
||||
self.assertFalse(artist1 == artist2)
|
||||
|
||||
def test_artist_ne_none_is_true(self):
|
||||
# Arrange
|
||||
artist1 = None
|
||||
artist2 = pylast.Artist("Test Artist", self.network)
|
||||
|
||||
# Act / Assert
|
||||
self.assertTrue(artist1 != artist2)
|
||||
|
||||
def test_album_eq_none_is_false(self):
|
||||
# Arrange
|
||||
album1 = None
|
||||
album2 = pylast.Album("Test Artist", "Test Album", self.network)
|
||||
|
||||
# Act / Assert
|
||||
self.assertFalse(album1 == album2)
|
||||
|
||||
def test_album_ne_none_is_true(self):
|
||||
# Arrange
|
||||
album1 = None
|
||||
album2 = pylast.Album("Test Artist", "Test Album", self.network)
|
||||
|
||||
# Act / Assert
|
||||
self.assertTrue(album1 != album2)
|
||||
|
||||
def test_event_eq_none_is_false(self):
|
||||
# Arrange
|
||||
event1 = None
|
||||
event_id = 3478520 # Glasto 2014
|
||||
event2 = pylast.Event(event_id, self.network)
|
||||
|
||||
# Act / Assert
|
||||
self.assertFalse(event1 == event2)
|
||||
|
||||
def test_event_ne_none_is_true(self):
|
||||
# Arrange
|
||||
event1 = None
|
||||
event_id = 3478520 # Glasto 2014
|
||||
event2 = pylast.Event(event_id, self.network)
|
||||
|
||||
# Act / Assert
|
||||
self.assertTrue(event1 != event2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(
|
||||
|
|
Loading…
Reference in a new issue