reflex/tests/units/vars/test_base.py
2024-10-10 18:01:20 +02:00

29 lines
623 B
Python

from typing import Dict, List, Union
import pytest
from reflex.vars.base import figure_out_type
class CustomDict(dict[str, str]):
"""A custom dict."""
pass
@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]]),
(CustomDict(), CustomDict),
],
)
def test_figure_out_type(value, expected):
assert figure_out_type(value) == expected