def test_field_size_limit(self): # Testing field_size_limit for failure. Creating data using str * int. with open('.test.csv', 'r', encoding='utf-8') as f: c = csv_py3.Reader(f, field_size_limit=9) try: c.__next__() except FieldSizeLimitError: pass else: raise AssertionError('Expected FieldSizeLimitError') # Now testing higher field_size_limit. with open('.test.csv', 'r', encoding='utf-8') as f: c = csv_py3.Reader(f, field_size_limit=11) self.assertEqual(['a' * 10], c.__next__())
def test_utf8(self): with open('examples/test.csv', encoding='utf-8') as f: reader = csv_py3.Reader(f) self.assertEqual(next(reader), ['one', 'two', 'three']) self.assertEqual(next(reader), ['1', '4', 'a']) self.assertEqual(next(reader), ['2', '3', 'b']) self.assertEqual(next(reader), ['', '2', u'👍'])
def test_properties(self): with open('examples/test.csv', encoding='utf-8') as f: reader = csv_py3.Reader(f) self.assertEqual(reader.dialect.delimiter, ',') self.assertEqual(reader.line_num, 0) next(reader) self.assertEqual(reader.line_num, 1)
def test_writerows(self): output = six.StringIO() writer = csv_py3.Writer(output) writer.writerows([['a', 'b', 'c'], ['1', '2', '3'], ['4', '5', u'ʤ']]) written = six.StringIO(output.getvalue()) reader = csv_py3.Reader(written) self.assertEqual(next(reader), ['a', 'b', 'c']) self.assertEqual(next(reader), ['1', '2', '3']) self.assertEqual(next(reader), ['4', '5', u'ʤ'])
def test_line_numbers(self): output = six.StringIO() writer = csv_py3.Writer(output, line_numbers=True) writer.writerow(['a', 'b', 'c']) writer.writerow(['1', '2', '3']) writer.writerow(['4', '5', u'ʤ']) written = six.StringIO(output.getvalue()) reader = csv_py3.Reader(written) self.assertEqual(next(reader), ['line_number', 'a', 'b', 'c']) self.assertEqual(next(reader), ['1', '1', '2', '3']) self.assertEqual(next(reader), ['2', '4', '5', u'ʤ'])
def test_line_numbers(self): with open('examples/test.csv', encoding='utf-8') as f: rows = list(csv_py3.Reader(f, line_numbers=True)) sample_rows = [[ 'line_numbers', 'number', 'text', 'boolean', 'date', 'datetime', 'timedelta' ], [ '1', '1', 'a', 'True', '2015-11-04', '2015-11-04T12:22:00', '0:04:15' ], [ '2', '2', u'👍', 'False', '2015-11-05', '2015-11-04T12:45:00', '0:06:18' ], ['3', '', 'b', '', '', '', '']] for a, b in zip(sample_rows, rows): self.assertEqual(a, b)
def test_utf8(self): with open('examples/test.csv', encoding='utf-8') as f: rows = list(csv_py3.Reader(f)) for a, b in zip(self.rows, rows): self.assertEqual(a, b)