def test_row_object(self): headers = store.parse_header(1, 'col1|col2') fields = store.decode_dsv('a|b') row = store.RowObject(headers, fields) self.assertEqual(row.col1, 'a') self.assertEqual(row.col2, 'b') self.assertRaises(AttributeError, row.__getattr__, 'col3')
def test_row_object(self): headers = store.parse_header(1, "col1|col2") fields = store.decode_dsv("a|b") row = store.RowObject(headers, fields) self.assertEqual(row.col1, "a") self.assertEqual(row.col2, "b") self.assertRaises(AttributeError, row.__getattr__, "col3")
def test_row_object_compatibility(self): expected_col = ['col2','col3'] headers = store.parse_header(1, 'col1|col2', expected_col) fields = store.decode_dsv('a|b') row = store.RowObject(headers, fields) self.assertEqual(row.col1, 'a') # not in expected, but will work self.assertEqual(row.col2, 'b') self.assertEqual(row.col3, '') # expected col not in data header, gets '' self.assertRaises(AttributeError, row.__getattr__, 'col4')
def test_row_object_compatibility(self): expected_col = ["col2", "col3"] headers = store.parse_header(1, "col1|col2", expected_col) fields = store.decode_dsv("a|b") row = store.RowObject(headers, fields) self.assertEqual(row.col1, "a") # not in expected, but will work self.assertEqual(row.col2, "b") self.assertEqual(row.col3, "") # expected col not in data header, gets '' self.assertRaises(AttributeError, row.__getattr__, "col4")
def test_encode_and_decode(self): # Test a round trip of decode and encode for line, result in self.DATA: self.assertEqual(store.decode_dsv(line), result) self.assertEqual(store.encode_dsv(result), line)