mopidy.models.ImmutableObject has __eq__ and __ne__ methods, but they sometimes yield unexpected results:
For example, I expected the following to all yield True, since the respective attributes compare equal:
from mopidy.models import Track
Track(name='foo', album=None) == Track(name='foo')
Track(name='foo', album=None) == Track(name='foo', album=None, track_no=0)
Track(name='foo', album=None) == Track(name='bar', album=None).copy(name='foo')
mopidy.models.ImmutableObjecthas__eq__and__ne__methods, but they sometimes yield unexpected results:For example, I expected the following to all yield
True, since the respective attributes compare equal: