(json_facade, json_hit)
| 2981 | |
| 2982 | |
| 2983 | def _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( |
nothing calls this directly
no test coverage detected