|
@@ -0,0 +1,21 @@
|
|
|
+from typing import Dict, List, Union
|
|
|
+
|
|
|
+import pytest
|
|
|
+
|
|
|
+from reflex.vars.base import figure_out_type
|
|
|
+
|
|
|
+
|
|
|
+@pytest.mark.parametrize(
|
|
|
+ ("value", "expected"),
|
|
|
+ [
|
|
|
+ (1, int),
|
|
|
+ (1.0, float),
|
|
|
+ ("a", str),
|
|
|
+ ([1, 2, 3], List[int]),
|
|
|
+ ([1, 2.0, "a"], List[Union[int, float, str]]),
|
|
|
+ ({"a": 1, "b": 2}, Dict[str, int]),
|
|
|
+ ({"a": 1, 2: "b"}, Dict[Union[int, str], Union[str, int]]),
|
|
|
+ ],
|
|
|
+)
|
|
|
+def test_figure_out_type(value, expected):
|
|
|
+ assert figure_out_type(value) == expected
|