diff --git a/wolframalpha/__init__.py b/wolframalpha/__init__.py index 3b161e1..33b1668 100644 --- a/wolframalpha/__init__.py +++ b/wolframalpha/__init__.py @@ -100,14 +100,14 @@ class Result(ErrorHandler, object): @property def results(self): """ - Get the pods that hold the response to a simple, discrete query. + The pods that hold the response to a simple, discrete query. """ - return [pod for pod in self.pods if pod.primary or pod.title=='Result'] + return (pod for pod in self.pods if pod.primary or pod.title=='Result') @property def details(self): """ - Get a simplified set of answers with some context. + A simplified set of answer text by title. """ return {pod.title: pod.text for pod in self.pods} diff --git a/wolframalpha/test_client.py b/wolframalpha/test_client.py index 76d2065..b33b6b9 100644 --- a/wolframalpha/test_client.py +++ b/wolframalpha/test_client.py @@ -22,8 +22,11 @@ def API_key(): pytest.skip("Need WOLFRAMALPHA_API_KEY in environment") -def test_basic(API_key): - client = wolframalpha.Client(API_key) +@pytest.fixture +def client(API_key): + return wolframalpha.Client(API_key) + +def test_basic(client): res = client.query('30 deg C in deg F') assert len(res.pods) > 0 result, = res.results @@ -31,6 +34,14 @@ def test_basic(API_key): assert result.texts == ['86 °F (degrees Fahrenheit)'] +def test_results_iterator(client): + """ + A Result.results should be an iterator. + """ + res = client.query('30 deg C in deg F') + next(res.results) + + def test_invalid_app_id(): client = wolframalpha.Client('abcdefg') with pytest.raises(Exception):