yandex-music-api/tests/test_search_result.py

57 行
2.1 KiB
Python

from yandex_music import SearchResult
class TestSearchResult:
total = 3
per_page = 10
order = 0
def test_expected_values(self, search_result_with_results_and_type):
search_result, results, type_ = search_result_with_results_and_type
assert search_result.type == type_
assert search_result.total == self.total
assert search_result.per_page == self.per_page
assert search_result.order == self.order
assert search_result.results == results
def test_de_json_none(self, client):
assert SearchResult.de_json({}, client) is None
def test_de_json_required(self, client, result_with_type):
result, type_ = result_with_type
json_dict = {'total': self.total, 'per_page': self.per_page, 'order': self.order, 'results': [result.to_dict()]}
search_result = SearchResult.de_json(json_dict, client, type_)
assert search_result.type == type_
assert search_result.total == self.total
assert search_result.per_page == self.per_page
assert search_result.order == self.order
assert search_result.results == [result]
def test_de_json_all(self, client, result_with_type):
result, type_ = result_with_type
json_dict = {'total': self.total, 'per_page': self.per_page, 'order': self.order, 'results': [result.to_dict()]}
search_result = SearchResult.de_json(json_dict, client, type_)
assert search_result.type == type_
assert search_result.total == self.total
assert search_result.per_page == self.per_page
assert search_result.order == self.order
assert search_result.results == [result]
def test_equality(self, result_with_type):
result, type_ = result_with_type
a = SearchResult(type_, self.total, self.per_page, self.order, [result])
b = SearchResult(type_, 10, self.per_page, 1, [result])
c = SearchResult(type_, self.total, self.per_page, self.order, [result])
assert a != b
assert hash(a) != hash(b)
assert a is not b
assert a == c