From 9115d23d83420d59052bd829e62559a2c94b5a80 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sat, 3 Sep 2016 12:33:58 -0400 Subject: [PATCH] Restore expectation that results can be an iterator. --- wolframalpha/__init__.py | 6 +++--- wolframalpha/test_client.py | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) 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):