From 5e615d9ff291cf7d8f607c41c151c47ffc3e9211 Mon Sep 17 00:00:00 2001 From: Alexander Goscinski Date: Thu, 28 Nov 2024 17:14:16 +0100 Subject: [PATCH] Change API`parameters` to `params` This effects the classes `CodeExercise` and `ParameterPanel` --- src/scwidgets/code/_widget_parameter_panel.py | 10 +++++----- .../exercise/_widget_code_exercise.py | 18 ++++++++---------- tests/test_code.py | 8 ++++---- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/scwidgets/code/_widget_parameter_panel.py b/src/scwidgets/code/_widget_parameter_panel.py index b1e7c36..29dbebc 100644 --- a/src/scwidgets/code/_widget_parameter_panel.py +++ b/src/scwidgets/code/_widget_parameter_panel.py @@ -51,15 +51,15 @@ def parameters_trait(self) -> List[str]: return ["value"] * len(self._parameters_widget) @property - def parameters(self) -> dict: + def params(self) -> dict: """ - :return: All parameters that were given on input are returned. Including also - fixed parameters. + :return: All parameters that were given on initialization are returned, + also including also fixed parameters. """ return self._interactive_widget.kwargs.copy() - @parameters.setter - def parameters(self, parameters: dict): + @params.setter + def params(self, parameters: dict): for i, key in enumerate(self._interactive_widget.kwargs.keys()): self._interactive_widget.kwargs_widgets[i].value = parameters[key] diff --git a/src/scwidgets/exercise/_widget_code_exercise.py b/src/scwidgets/exercise/_widget_code_exercise.py index 95af402..7769283 100644 --- a/src/scwidgets/exercise/_widget_code_exercise.py +++ b/src/scwidgets/exercise/_widget_code_exercise.py @@ -163,7 +163,7 @@ def __init__( ) elif isinstance(parameters, ParameterPanel): compatibility_result = code.compatible_with_signature( - list(parameters.parameters.keys()) + list(parameters.params.keys()) ) if compatibility_result != "": raise ValueError( @@ -480,9 +480,7 @@ def answer(self) -> dict: return { "code": None if self._code is None else self._code.function_body, "parameter_panel": ( - None - if self._parameter_panel is None - else self._parameter_panel.parameters + None if self._parameter_panel is None else self._parameter_panel.params ), } @@ -498,7 +496,7 @@ def answer(self, answer: dict): if answer["code"] is not None and self._code is not None: self._code.function_body = answer["code"] if answer["parameter_panel"] is not None and self._parameter_panel is not None: - self._parameter_panel.parameters = answer["parameter_panel"] + self._parameter_panel.params = answer["parameter_panel"] if self._save_cue_box is not None: self._save_cue_box.observe_widgets() @@ -519,14 +517,14 @@ def panel_parameters(self) -> Dict[str, Check.FunInParamT]: return {} @property - def parameters(self) -> Dict[str, Check.FunInParamT]: + def params(self) -> Dict[str, Check.FunInParamT]: """ - :return: All parameters that were given on input are returned. Including also - fixed parameters. + :return: All parameters that were given on initialization are returned, + also including also fixed parameters. """ if self._parameter_panel is not None: parameter_panel = self._parameter_panel - return parameter_panel.parameters + return parameter_panel.params return {} @property @@ -680,7 +678,7 @@ def _on_click_update_action(self) -> bool: else: self._update_func(self) # type: ignore[call-arg] elif self._code is not None: - self.run_code(**self.parameters) + self.run_code(**self.params) for cue_output in self.cue_outputs: if hasattr(cue_output, "draw_display"): diff --git a/tests/test_code.py b/tests/test_code.py index 0c1349f..9199c97 100644 --- a/tests/test_code.py +++ b/tests/test_code.py @@ -117,13 +117,13 @@ def get_code_exercise( if update_func_argless: def update_print(): - output = code_ex.run_code(**code_ex.parameters) + output = code_ex.run_code(**code_ex.params) code_ex.cue_outputs[0].display_object = f"Output:\n{output}" else: def update_print(code_ex: CodeExercise): - output = code_ex.run_code(**code_ex.parameters) + output = code_ex.run_code(**code_ex.params) code_ex.cue_outputs[0].display_object = f"Output:\n{output}" code_ex = CodeExercise( @@ -224,7 +224,7 @@ def test_compute_and_set_references(self, code_ex): ], ) def test_run_code(self, code_ex): - output = code_ex.run_code(**code_ex.parameters) + output = code_ex.run_code(**code_ex.params) assert np.allclose((output,), code_ex.checks[0].outputs_references[0]) @pytest.mark.parametrize( @@ -240,7 +240,7 @@ def test_erroneous_run_code(self, code_ex): CodeValidationError, match="name 'bug' is not defined.*", ): - code_ex.run_code(**code_ex.parameters) + code_ex.run_code(**code_ex.params) @pytest.mark.parametrize( "function",