def test_equality(self): a = Pager(self.total, self.page, self.per_page) b = Pager(0, self.page, self.per_page) c = Pager(self.total, 0, 0) d = Pager(self.total, self.page, self.per_page) assert a != b != c assert hash(a) != hash(b) != hash(c) assert a is not b is not c assert a == d
def test_de_json_all(self, client): json_dict = {'total': self.total, 'page': self.page, 'per_page': self.per_page} pager = Pager.de_json(json_dict, client) assert pager.total == self.total assert pager.page == self.page assert pager.per_page == self.per_page
def de_json(cls, data: dict, client: 'Client') -> Optional['ArtistAlbums']: """Десериализация объекта. Args: data (:obj:`dict`): Поля и значения десериализуемого объекта. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music. Returns: :obj:`yandex_music.ArtistAlbums`: Список альбомов артиста. """ if not data: return None data = super(ArtistAlbums, cls).de_json(data, client) from yandex_music import Album, Pager data['albums'] = Album.de_list(data.get('albums'), client) data['pager'] = Pager.de_json(data.get('pager'), client) return cls(client=client, **data)
def de_json(cls, data: dict, client: 'Client') -> Optional['ArtistTracks']: """Десериализация объекта. Args: data (:obj:`dict`): Поля и значения десериализуемого объекта. client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music. Returns: :obj:`yandex_music.ArtistsTracks`: Страница списка треков артиста. """ if not data: return None data = super(ArtistTracks, cls).de_json(data, client) from yandex_music import Track, Pager data['tracks'] = Track.de_list(data.get('tracks'), client) data['pager'] = Pager.de_json(data.get('pager'), client) 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.ArtistAlbums`: Объект класса :class:`yandex_music.ArtistAlbums`. """ if not data: return None data = super(ArtistAlbums, cls).de_json(data, client) from yandex_music import Album, Pager data['albums'] = Album.de_list(data.get('albums'), client) data['pager'] = Pager.de_json(data.get('pager'), client) return cls(client=client, **data)
def pager(): return Pager(TestPager.total, TestPager.page, TestPager.per_page)
def test_de_json_none(self, client): assert Pager.de_json({}, client) is None