Add row indexing to get_rows()'s response.rows.
This commit is contained in:
parent
d5038c6618
commit
bde4eb7466
|
@ -178,6 +178,8 @@ def RowsResponseFactory(column_index):
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
for row_response in self.rows_response:
|
for row_response in self.rows_response:
|
||||||
yield self.RefineRow(row_response)
|
yield self.RefineRow(row_response)
|
||||||
|
def __getitem__(self, index):
|
||||||
|
return self.RefineRow(self.rows_response[index])
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return len(self.rows_response)
|
return len(self.rows_response)
|
||||||
|
|
||||||
|
|
|
@ -326,7 +326,7 @@ class TutorialTestTransposeColumnsIntoRows(RefineTestCase):
|
||||||
response['historyEntry']['description'])
|
response['historyEntry']['description'])
|
||||||
# spot check of last row for transforms and fill down
|
# spot check of last row for transforms and fill down
|
||||||
response = self.project.get_rows()
|
response = self.project.get_rows()
|
||||||
row10 = [r for r in response.rows][9]
|
row10 = response.rows[9]
|
||||||
self.assertEqual(row10['country_name'], 'Afghanistan')
|
self.assertEqual(row10['country_name'], 'Afghanistan')
|
||||||
self.assertEqual(row10['program_name'],
|
self.assertEqual(row10['program_name'],
|
||||||
'Department of Defense Security Assistance')
|
'Department of Defense Security Assistance')
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
"""
|
||||||
|
test_refine_small.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Copyright (c) 2011 Paul Makepeace, Real Programmers. All rights reserved.
|
||||||
|
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from google.refine import refine
|
||||||
|
|
||||||
|
|
||||||
|
class RefineRowsTest(unittest.TestCase):
|
||||||
|
def test_rows_response(self):
|
||||||
|
rr = refine.RowsResponseFactory({
|
||||||
|
u'gender': 3, u'state': 2, u'purchase': 4, u'email': 0,
|
||||||
|
u'name': 1})
|
||||||
|
response = rr({
|
||||||
|
u'rows': [{
|
||||||
|
u'i': 0,
|
||||||
|
u'cells': [
|
||||||
|
{u'v': u'danny.baron@example1.com'},
|
||||||
|
{u'v': u'Danny Baron'},
|
||||||
|
{u'v': u'CA'},
|
||||||
|
{u'v': u'M'},
|
||||||
|
{u'v': u'TV'}
|
||||||
|
],
|
||||||
|
u'starred': False,
|
||||||
|
u'flagged': False
|
||||||
|
}],
|
||||||
|
u'start': 0,
|
||||||
|
u'limit': 1,
|
||||||
|
u'mode': u'row-based',
|
||||||
|
u'filtered': 10,
|
||||||
|
u'total': 10,
|
||||||
|
u'pool': {
|
||||||
|
u'recons': {},
|
||||||
|
u'reconCandidates': {}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
self.assertEqual(len(response.rows), 1)
|
||||||
|
# test iteration
|
||||||
|
rows = [row for row in response.rows]
|
||||||
|
self.assertEqual(rows[0]['name'], 'Danny Baron')
|
||||||
|
# test indexing
|
||||||
|
self.assertEqual(response.rows[0]['name'], 'Danny Baron')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
Loading…
Reference in New Issue