Fix opus comparison with None

This commit is contained in:
hugovk 2014-08-18 16:24:01 +03:00
parent a2e9fad56c
commit 862ae11cfa
2 changed files with 21 additions and 0 deletions

View file

@ -1738,6 +1738,8 @@ class _Opus(_BaseObject, _Taggable):
self.get_artist().get_name(), self.get_title()) self.get_artist().get_name(), self.get_title())
def __eq__(self, other): def __eq__(self, other):
if type(self) != type(other):
return False
a = self.get_title().lower() a = self.get_title().lower()
b = other.get_title().lower() b = other.get_title().lower()
c = self.get_artist().get_name().lower() c = self.get_artist().get_name().lower()
@ -1745,6 +1747,8 @@ class _Opus(_BaseObject, _Taggable):
return (a == b) and (c == d) return (a == b) and (c == d)
def __ne__(self, other): def __ne__(self, other):
if type(self) != type(other):
return True
a = self.get_title().lower() a = self.get_title().lower()
b = other.get_title().lower() b = other.get_title().lower()
c = self.get_artist().get_name().lower() c = self.get_artist().get_name().lower()

View file

@ -1804,6 +1804,23 @@ class TestPyLast(unittest.TestCase):
self.assertEqual(url, "http://www.last.fm/place/italy") self.assertEqual(url, "http://www.last.fm/place/italy")
def test_track_eq_none_is_false(self):
# Arrange
track1 = None
track2 = pylast.Track("Test Artist", "Test Title", self.network)
# Act / Assert
self.assertFalse(track1 == track2)
def test_track_ne_none_is_true(self):
# Arrange
track1 = None
track2 = pylast.Track("Test Artist", "Test Title", self.network)
# Act / Assert
self.assertTrue(track1 != track2)
if __name__ == '__main__': if __name__ == '__main__':
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Integration (not unit) tests for pylast.py", description="Integration (not unit) tests for pylast.py",