def test_equality(self, track, pager): a = ArtistTracks([track], pager) b = ArtistTracks([], pager) c = ArtistTracks([track], pager) assert a != b assert hash(a) != hash(b) assert a is not b assert a == c
def artists_tracks(self, artist_id: str or int, page=0, page_size=20, timeout=None, *args, **kwargs): """Получение треков артиста. Args: artist_id (:obj:`str` | :obj:`int`): Уникальный идентификатор артиста. page (:obj:`int`, optional): Номер страницы. page_size (:obj:`int`, optional): Количество треков на странице. timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания ответа от сервера вместо указанного при создании пула. **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). Returns: :obj:`yandex_music.ArtistsTracks`: Объекта класса :class:`yandex_music.ArtistsTracks` представляющий страницу списка треков артиста """ url = f'{self.base_url}/artists/{artist_id}/tracks' params = { 'page': page, 'page-size': page_size } result = self._request.get(url, params, timeout=timeout, *args, **kwargs) return ArtistTracks.de_json(result, self)
def artist_tracks(track, pager): return ArtistTracks([track], pager)
def test_de_json_all(self, client, track, pager): json_dict = {'tracks': [track.to_dict()], 'pager': pager.to_dict()} artist_tracks = ArtistTracks.de_json(json_dict, client) assert artist_tracks.tracks == [track] assert artist_tracks.pager == pager
def test_de_json_none(self, client): assert ArtistTracks.de_json({}, client) is None