MCPcopy
hub / github.com/reflex-dev/reflex / test_conditional_computed_vars

Function test_conditional_computed_vars

tests/units/test_state.py:1328–1355  ·  view source on GitHub ↗

Test that computed vars can have conditionals.

()

Source from the content-addressed store, hash-verified

1326
1327
1328def test_conditional_computed_vars():
1329 """Test that computed vars can have conditionals."""
1330
1331 class MainState(BaseState):
1332 flag: bool = False
1333 t1: str = "a"
1334 t2: str = "b"
1335
1336 @computed_var
1337 def rendered_var(self) -> str:
1338 if self.flag:
1339 return self.t1
1340 return self.t2
1341
1342 ms = MainState()
1343 # Initially there are no dirty computed vars.
1344 assert ms._dirty_computed_vars(from_vars={"flag"}) == {
1345 (MainState.get_full_name(), "rendered_var")
1346 }
1347 assert ms._dirty_computed_vars(from_vars={"t2"}) == {
1348 (MainState.get_full_name(), "rendered_var")
1349 }
1350 assert ms._dirty_computed_vars(from_vars={"t1"}) == {
1351 (MainState.get_full_name(), "rendered_var")
1352 }
1353 assert ms.computed_vars["rendered_var"]._deps(objclass=MainState) == {
1354 MainState.get_full_name(): {"flag", "t1", "t2"}
1355 }
1356
1357
1358def test_event_handlers_convert_to_fns(test_state, child_state):

Callers

nothing calls this directly

Calls 4

MainStateClass · 0.85
_dirty_computed_varsMethod · 0.80
get_full_nameMethod · 0.80
_depsMethod · 0.80

Tested by

no test coverage detected