def _session_state(draw): state = SessionState() new_state = draw(new_session_state) for k, v in new_state.items(): state[k] = v unkeyed_widgets = draw( hst.dictionaries(keys=unkeyed_widget_ids, values=hst.integers())) for wid, v in unkeyed_widgets.items(): state.set_unkeyed_widget(mock_metadata(wid, v), wid) widget_key_val_triple = draw( hst.lists(hst.tuples(hst.uuids(), user_key, hst.integers()))) k_wids = { key: (as_keyed_widget_id(wid, key), val) for wid, key, val in widget_key_val_triple } for key, (wid, val) in k_wids.items(): state.set_keyed_widget(mock_metadata(wid, val), wid, key) if k_wids: session_state_widget_entries = draw( hst.dictionaries( keys=hst.sampled_from(list(k_wids.keys())), values=hst.integers(), )) for k, v in session_state_widget_entries.items(): state[k] = v return state
def test_map_set_del_3837_regression(): """A regression test for `test_map_set_del` that involves too much setup to conveniently use the hypothesis `example` decorator.""" meta1 = stst.mock_metadata( "$$GENERATED_WIDGET_KEY-e3e70682-c209-4cac-629f-6fbed82c07cd-None", 0) meta2 = stst.mock_metadata( "$$GENERATED_WIDGET_KEY-f728b4fa-4248-5e3a-0a5d-2f346baa9455-0", 0) m = SessionState() m["0"] = 0 m.set_unkeyed_widget( meta1, "$$GENERATED_WIDGET_KEY-e3e70682-c209-4cac-629f-6fbed82c07cd-None") m.compact_state() m.set_keyed_widget( meta2, "$$GENERATED_WIDGET_KEY-f728b4fa-4248-5e3a-0a5d-2f346baa9455-0", "0") key = "0" value1 = 0 m[key] = value1 l1 = len(m) del m[key] assert key not in m assert len(m) == l1 - 1