Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
def pager():
    return Pager(TestPager.total, TestPager.page, TestPager.per_page)
Ejemplo n.º 7
0
 def test_de_json_none(self, client):
     assert Pager.de_json({}, client) is None