Mercurial > p > roundup > code
comparison test/test_anypy.py @ 7766:c65e0a725c88
fix: replace eval with ast.literal_eval; ruff linting
strings.py:
When reading csv export files, use the safer literal_eval to
evaluate the fields. Issue pointed out by ruff linter.
Other Cleanup:
sort imports
replace if, else, if, else with if, elif, else
use isinstance with tuples rather than 'isinstance() or
isinstance()'
test_anypy.py:
Added tests for tuples, and booleans. Also added exception handling
for malformed strings, booleans, tuples.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 02 Mar 2024 04:01:22 -0500 |
| parents | e4db9d0b85c7 |
| children | ebb03b8cee4d |
comparison
equal
deleted
inserted
replaced
| 7765:dec7de56f253 | 7766:c65e0a725c88 |
|---|---|
| 14 params tuple | 14 params tuple |
| 15 """ | 15 """ |
| 16 # python2 export with id as number | 16 # python2 export with id as number |
| 17 val = eval_import("('issue', 2345L, 'status')") | 17 val = eval_import("('issue', 2345L, 'status')") |
| 18 self.assertSequenceEqual(val, ('issue', 2345, 'status')) | 18 self.assertSequenceEqual(val, ('issue', 2345, 'status')) |
| 19 | |
| 20 # eval a tuple e.g. date representation | |
| 21 val = eval_import("(2022, 9, 6, 3, 58, 4.776, 0, 0, 0)") | |
| 22 self.assertSequenceEqual(val, (2022, 9, 6, 3, 58, 4.776, 0, 0, 0)) | |
| 23 | |
| 24 # eval a boolean | |
| 25 val = eval_import("False") | |
| 26 self.assertEqual(val, False) | |
| 27 val = eval_import("True") | |
| 28 self.assertEqual(val, True) | |
| 29 | |
| 30 # check syntax error | |
| 31 for testcase in ['true', '(2004, 10, 20', "2000, 10, 22)", | |
| 32 "test'", '"test']: | |
| 33 with self.assertRaises(ValueError) as m: | |
| 34 val = eval_import(testcase) | |
| 35 print(m.exception) | |
| 19 | 36 |
| 20 # python3 export with id as number | 37 # python3 export with id as number |
| 21 val = eval_import("('issue', 2345, 'status')") | 38 val = eval_import("('issue', 2345, 'status')") |
| 22 self.assertSequenceEqual(val, ('issue', 2345, 'status')) | 39 self.assertSequenceEqual(val, ('issue', 2345, 'status')) |
| 23 | 40 |
