MCPcopy Create free account
hub / github.com/fabioz/PyDev.Debugger / _check_set

Function _check_set

tests_python/test_debugger_json.py:2983–3026  ·  view source on GitHub ↗
(json_facade, json_hit)

Source from the content-addressed store, hash-verified

2981
2982
2983def _check_set(json_facade, json_hit):
2984 set_var = json_facade.get_local_var(json_hit.frame_id, "variable_for_test_2")
2985
2986 assert set_var.value == "set(['a', self.var1: 12])"
2987
2988 var_in_set = json_facade.get_var(set_var.variablesReference, index=1)
2989 assert var_in_set.name != "var1"
2990
2991 set_variables_response = json_facade.write_set_variable(set_var.variablesReference, var_in_set.name, "1")
2992 assert set_variables_response.body.type == "int"
2993 assert set_variables_response.body.value == "1"
2994
2995 # Check that it was actually changed (which for a set means removing the existing entry
2996 # and adding a new one).
2997 set_var = json_facade.get_local_var(json_hit.frame_id, "variable_for_test_2")
2998 assert set_var.value == "set([1, self.var1: 12])"
2999
3000 # Check that it can be changed again.
3001 var_in_set = json_facade.get_var(set_var.variablesReference, index=1)
3002
3003 # Check that adding a mutable object to the set does not work.
3004 response = json_facade.write_set_variable(set_var.variablesReference, var_in_set.name, "[22]", success=False)
3005 assert response.message.startswith("Unable to change: ")
3006
3007 # Check that it's still the same (the existing entry was not removed).
3008 assert json_facade.get_local_var(json_hit.frame_id, "variable_for_test_2").value == "set([1, self.var1: 12])"
3009
3010 set_variables_response = json_facade.write_set_variable(set_var.variablesReference, var_in_set.name, "(22,)")
3011 assert set_variables_response.body.type == "tuple"
3012 assert set_variables_response.body.value == "(22,)"
3013
3014 # Check that the tuple created can be accessed and is correct in the response.
3015 var_in_tuple_in_set = json_facade.get_var(set_variables_response.body.variablesReference, "0")
3016 assert var_in_tuple_in_set.name == "0"
3017 assert var_in_tuple_in_set.value == "22"
3018
3019 # Check that we can change the variable in the instance.
3020 var1 = json_facade.get_var(set_var.variablesReference, "var1")
3021
3022 json_facade.write_set_variable(set_var.variablesReference, var1.name, "2")
3023
3024 # Check that it was actually changed.
3025 set_var = json_facade.get_local_var(json_hit.frame_id, "variable_for_test_2")
3026 assert set_var.value == "set([(22,), self.var1: 2])"
3027
3028
3029@pytest.mark.parametrize(

Callers

nothing calls this directly

Calls 3

get_local_varMethod · 0.80
get_varMethod · 0.80
write_set_variableMethod · 0.80

Tested by

no test coverage detected