def test_can_write_delimited(self): with io.StringIO() as delimited_stream: with validio.Writer(self._standard_delimited_cid, delimited_stream) as delimited_writer: delimited_writer.write_row(['Miller', '173', '1967-05-23']) delimited_writer.write_row(['Webster', '167', '1983-11-02']) data_written = dev_test.unified_newlines(delimited_stream.getvalue()) self.assertEqual('%r' % 'Miller,173,1967-05-23\nWebster,167,1983-11-02\n', '%r' % data_written)
def test_can_write_fixed_multiple_rows(self): with io.StringIO() as fixed_stream: with validio.Writer(self._standard_fixed_cid, fixed_stream) as fixed_writer: fixed_writer.write_rows([ ['Miller ', '173', '1967-05-23'], ['Webster ', '167', '1983-11-02']]) data_written = dev_test.unified_newlines(fixed_stream.getvalue()) self.assertEqual('%r' % 'Miller 1731967-05-23\nWebster 1671983-11-02\n', '%r' % data_written)
def test_can_write_delimited_data_to_string_io(self): delimited_data_format = data.DataFormat(data.FORMAT_DELIMITED) delimited_data_format.validate() with io.StringIO() as target: with rowio.DelimitedRowWriter(target, delimited_data_format) as delimited_writer: delimited_writer.write_row(['a', 'b', _EURO_SIGN]) delimited_writer.write_row([]) delimited_writer.write_row([1, 2, 'end']) data_written = dev_test.unified_newlines(target.getvalue()) self.assertEqual('%r' % data_written, '%r' % 'a,b,\u20ac\n\n1,2,end\n')
def test_can_write_fixed_data_to_string(self): fixed_data_format = data.DataFormat(data.FORMAT_FIXED) fixed_data_format.set_property(data.KEY_ENCODING, 'utf-8') fixed_data_format.validate() field_names_and_lengths = [('a', 1), ('b', 3)] with io.StringIO() as target: with rowio.FixedRowWriter(target, fixed_data_format, field_names_and_lengths) as fixed_writer: fixed_writer.write_row(['a', 'bcd']) fixed_writer.write_row([_EURO_SIGN, ' ']) data_written = dev_test.unified_newlines(target.getvalue()) self.assertEqual('%r' % data_written, '%r' % 'abcd\n\u20ac \n')