diff --git a/tests/unittests/tools/test_get_user_choice_tool.py b/tests/unittests/tools/test_get_user_choice_tool.py new file mode 100644 index 0000000000..35fdec5f61 --- /dev/null +++ b/tests/unittests/tools/test_get_user_choice_tool.py @@ -0,0 +1,47 @@ +# Copyright 2026 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +from unittest import mock + +from google.adk.tools.get_user_choice_tool import get_user_choice +from google.adk.tools.get_user_choice_tool import get_user_choice_tool +from google.adk.tools.long_running_tool import LongRunningFunctionTool + + +class TestGetUserChoice: + + def test_sets_skip_summarization(self): + tool_context = mock.MagicMock() + + get_user_choice(["a", "b"], tool_context) + + assert tool_context.actions.skip_summarization is True + + def test_returns_none(self): + tool_context = mock.MagicMock() + + assert get_user_choice(["a", "b"], tool_context) is None + + +class TestGetUserChoiceTool: + + def test_is_long_running_function_tool(self): + assert isinstance(get_user_choice_tool, LongRunningFunctionTool) + assert get_user_choice_tool.is_long_running is True + + def test_wraps_get_user_choice_function(self): + assert get_user_choice_tool.func is get_user_choice + assert get_user_choice_tool.name == "get_user_choice"