def test_read_write_list_with_append(self): for i in range(5): sync_write_list_to_csv(['A', 'B'], [{'A': '20', 'B': 40}], CSV_TEST_FILE, 'a') l = read_csv_as_list(CSV_TEST_FILE) self.assertEqual(len(l), 5) os.remove(CSV_TEST_FILE) # clean up
def test_read_write_list(self): sync_write_list_to_csv( ['A', 'B', 'C'], [ {'A': '20', 'B': 30, 'C': {'complex': 'iam'}}, {'A': '20', 'B': 30, 'C': ['complex', 'you', 'are']} ], CSV_TEST_FILE, 'w') l = read_csv_as_list(CSV_TEST_FILE) self.assertEqual(len(l), 2) self.assertEqual(l[0]['A'], '20') self.assertEqual(l[0]['B'], '30') self.assertEqual(ast.literal_eval(l[0]['C'])['complex'], 'iam') self.assertEqual(ast.literal_eval(l[1]['C'])[1], 'you') os.remove(CSV_TEST_FILE) # clean up
def test_unsupported_operation_read_write_list(self): try: sync_write_list_to_csv(['A', 'B'], [{'A': '20', 'B': 40}], CSV_TEST_FILE, 'r') except: return self.fail('Should have throw an exception')