def test_equality(self): a = Label(self.id, self.name) b = Label(10, self.name) c = Label(self.id, '') d = Label(self.id, self.name) assert a != b != c assert hash(a) != hash(b) != hash(c) assert a is not b is not c assert a == d
def de_json(cls, data: dict, client: 'Client') -> Optional['Album']: """Десериализация объекта. Args: data (:obj:`dict`): Поля и значения десериализуемого объекта. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music. Returns: :obj:`yandex_music.Album`: Альбом. """ if not data: return None data = super(Album, cls).de_json(data, client) from yandex_music import Artist, Label, TrackPosition, Track, Deprecation data['artists'] = Artist.de_list(data.get('artists'), client) data['labels'] = Label.de_list(data.get('labels'), client) data['track_position'] = TrackPosition.de_json( data.get('track_position'), client) data['duplicates'] = Album.de_list(data.get('duplicates'), client) data['albums'] = Album.de_list(data.get('albums'), client) data['deprecation'] = Deprecation.de_json(data.get('deprecation'), client) if data.get('volumes'): data['volumes'] = [ Track.de_list(i, client) for i in data['volumes'] ] return cls(client=client, **data)
def de_json(cls, data, client): """Десериализация объекта. Args: data (:obj:`dict`): Поля и значения десериализуемого объекта. client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client`, представляющий клиент Yandex Music. Returns: :obj:`yandex_music.Album`: Объект класса :class:`yandex_music.Album`. """ if not data: return None data = super(Album, cls).de_json(data, client) from yandex_music import Artist, Label, TrackPosition, Track data['artists'] = Artist.de_list(data.get('artists'), client) data['labels'] = Label.de_list(data.get('labels'), client) data['track_position'] = TrackPosition.de_json( data.get('track_position'), client) if data.get('volumes'): data['volumes'] = [ Track.de_list(i, client) for i in data['volumes'] ] return cls(client=client, **data)
def de_json(cls, data, client): if not data: return None data = super(Album, cls).de_json(data, client) from yandex_music import Artist, Label, TrackPosition data['artists'] = Artist.de_list(data.get('artists'), client) data['labels'] = Label.de_list(data.get('labels'), client) data['track_position'] = TrackPosition.de_json(data.get('track_position'), client) return cls(client=client, **data)
def de_json(cls, data: dict, client: 'Client') -> Optional['Album']: if not data: return None data = super(Album, cls).de_json(data, client) from yandex_music import Artist, Label, TrackPosition, Track data['artists'] = Artist.de_list(data.get('artists'), client) data['labels'] = Label.de_list(data.get('labels'), client) data['track_position'] = TrackPosition.de_json( data.get('track_position'), client) if data.get('volumes'): data['volumes'] = [ Track.de_list(i, client) for i in data['volumes'] ] return cls(client=client, **data)
def label(): return Label(TestLabel.id, TestLabel.name)
def label(request): if request.param: return Label(TestLabel.id, TestLabel.name) return TestLabel.another_representation_of_label
def test_de_json_all(self, client): json_dict = {'id_': self.id, 'name': self.name} label = Label.de_json(json_dict, client) assert label.id == self.id assert label.name == self.name
def test_de_json_none(self, client): assert Label.de_json({}, client) is None
def test_de_list_none(self, client): assert Label.de_list({}, client) == []