| import numbers |
| import os |
| import unittest |
|
|
| import modules.flags |
| from modules import extra_utils |
|
|
|
|
| class TestUtils(unittest.TestCase): |
| def test_try_eval_env_var(self): |
| test_cases = [ |
| { |
| "input": ("foo", str), |
| "output": "foo" |
| }, |
| { |
| "input": ("1", int), |
| "output": 1 |
| }, |
| { |
| "input": ("1.0", float), |
| "output": 1.0 |
| }, |
| { |
| "input": ("1", numbers.Number), |
| "output": 1 |
| }, |
| { |
| "input": ("1.0", numbers.Number), |
| "output": 1.0 |
| }, |
| { |
| "input": ("true", bool), |
| "output": True |
| }, |
| { |
| "input": ("True", bool), |
| "output": True |
| }, |
| { |
| "input": ("false", bool), |
| "output": False |
| }, |
| { |
| "input": ("False", bool), |
| "output": False |
| }, |
| { |
| "input": ("True", str), |
| "output": "True" |
| }, |
| { |
| "input": ("False", str), |
| "output": "False" |
| }, |
| { |
| "input": ("['a', 'b', 'c']", list), |
| "output": ['a', 'b', 'c'] |
| }, |
| { |
| "input": ("{'a':1}", dict), |
| "output": {'a': 1} |
| }, |
| { |
| "input": ("('foo', 1)", tuple), |
| "output": ('foo', 1) |
| } |
| ] |
|
|
| for test in test_cases: |
| value, expected_type = test["input"] |
| expected = test["output"] |
| actual = extra_utils.try_eval_env_var(value, expected_type) |
| self.assertEqual(expected, actual) |
|
|