def test_query_singlecolumn_non_selector(self): query = datatest.Query.from_object(['x', 'y']) reader = get_reader.from_datatest(query) # <- No fieldnames. self.assertEqual(list(reader), [('x', ), ('y', )]) reader = get_reader.from_datatest(query, fieldnames='foo') self.assertEqual(list(reader), [('foo', ), ('x', ), ('y', )])
def test_selector_object(self): reader = get_reader.from_datatest( self.select) # <- No fieldnames specified. self.assertEqual(list(reader), [('A', 'B'), ('x', 1), ('y', 2)]) reader = get_reader.from_datatest(self.select, fieldnames=('foo', 'bar')) self.assertEqual(list(reader), [('foo', 'bar'), ('x', 1), ('y', 2)])
def test_query_multicolumn_non_selector(self): query = datatest.Query.from_object([['x', 1], ['y', 2]]) reader = get_reader.from_datatest(query) # <- No fieldnames. self.assertEqual(list(reader), [['x', 1], ['y', 2]]) reader = get_reader.from_datatest(query, fieldnames=['foo', 'bar']) self.assertEqual(list(reader), [['foo', 'bar'], ['x', 1], ['y', 2]])
def test_result_list(self): result = datatest.Result([['x', 1], ['y', 2]], evaluation_type=list) reader = get_reader.from_datatest( result) # <- No fieldnames specified. self.assertEqual(list(reader), [['x', 1], ['y', 2]]) result = datatest.Result([['x', 1], ['y', 2]], evaluation_type=list) reader = get_reader.from_datatest(result, fieldnames=['foo', 'bar']) self.assertEqual(list(reader), [['foo', 'bar'], ['x', 1], ['y', 2]])
def test_result_dict(self): source_dict = {'x': [1, 1], 'y': [2]} result = datatest.Result(source_dict, evaluation_type=dict) reader = get_reader.from_datatest( result) # <- No fieldnames specified. reader_list = list(reader) self.assertEqual(reader_list.count(('x', 1)), 2) self.assertEqual(reader_list.count(('y', 2)), 1) result = datatest.Result(source_dict, evaluation_type=dict) reader = get_reader.from_datatest(result, fieldnames=('foo', 'bar')) reader_list = list(reader) self.assertEqual(reader_list[0], ('foo', 'bar')) self.assertEqual(reader_list.count(('x', 1)), 2) self.assertEqual(reader_list.count(('y', 2)), 1)
def test_query_dict_tuplekey_tuplevalue(self): query = self.select({('A', 'A'): ('B', 'B')}) reader = get_reader.from_datatest(query) self.assertEqual(list(reader), [('A', 'A', 'B', 'B'), ('x', 'x', 1, 1), ('y', 'y', 2, 2)])
def test_query_dict_single_key_and_value(self): query = self.select({'A': 'B'}) reader = get_reader.from_datatest(query) self.assertEqual(list(reader), [('A', 'B'), ('x', 1), ('y', 2)])
def test_query_summed_single_value(self): query = self.select('B').sum() reader = get_reader.from_datatest(query) self.assertEqual(list(reader), [('B', ), (3, )])
def test_query_singlecolumn_explicit_fieldname(self): query = self.select('A') reader = get_reader.from_datatest(query, fieldnames='foo') self.assertEqual(list(reader), [('foo', ), ('x', ), ('y', )])
def test_query_multicolumn_explicit_fieldnames(self): query = self.select(['B', 'A']) reader = get_reader.from_datatest(query, fieldnames=['foo', 'bar']) self.assertEqual(list(reader), [['foo', 'bar'], [1, 'x'], [2, 'y']])
def test_query_multicolumn_implicit_fieldnames(self): query = self.select(('B', 'A')) reader = get_reader.from_datatest(query) # <- No fieldnames specified. self.assertEqual(list(reader), [('B', 'A'), (1, 'x'), (2, 'y')])