mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
5c992eb7ae
* move all tests under tests and initial work on int tests * added updated tests setup and merge tests * without failing step * fixed upload * updated file names for coverage * reenable surface tests * removed package matrix * simplified variables * correct path * removed mistake * fix mistake in path * fix path * windows specific env set * updated merge tests * slight update in marker * added run integration tests settings * updated setup, moved foundry int tests and updated merge test
67 lines
2.3 KiB
Python
67 lines
2.3 KiB
Python
# Copyright (c) Microsoft. All rights reserved.
|
|
|
|
from agent_framework import AIFunction, AITool, ai_function
|
|
|
|
|
|
def test_ai_function_decorator():
|
|
"""Test the ai_function decorator."""
|
|
|
|
@ai_function(name="test_tool", description="A test tool")
|
|
def test_tool(x: int, y: int) -> int:
|
|
"""A simple function that adds two numbers."""
|
|
return x + y
|
|
|
|
assert isinstance(test_tool, AITool)
|
|
assert isinstance(test_tool, AIFunction)
|
|
assert test_tool.name == "test_tool"
|
|
assert test_tool.description == "A test tool"
|
|
assert test_tool.parameters() == {
|
|
"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}},
|
|
"required": ["x", "y"],
|
|
"title": "test_tool_input",
|
|
"type": "object",
|
|
}
|
|
assert test_tool(1, 2) == 3
|
|
|
|
|
|
def test_ai_function_decorator_without_args():
|
|
"""Test the ai_function decorator."""
|
|
|
|
@ai_function
|
|
def test_tool(x: int, y: int) -> int:
|
|
"""A simple function that adds two numbers."""
|
|
return x + y
|
|
|
|
assert isinstance(test_tool, AITool)
|
|
assert isinstance(test_tool, AIFunction)
|
|
assert test_tool.name == "test_tool"
|
|
assert test_tool.description == "A simple function that adds two numbers."
|
|
assert test_tool.parameters() == {
|
|
"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}},
|
|
"required": ["x", "y"],
|
|
"title": "test_tool_input",
|
|
"type": "object",
|
|
}
|
|
assert test_tool(1, 2) == 3
|
|
|
|
|
|
async def test_ai_function_decorator_with_async():
|
|
"""Test the ai_function decorator with an async function."""
|
|
|
|
@ai_function(name="async_test_tool", description="An async test tool")
|
|
async def async_test_tool(x: int, y: int) -> int:
|
|
"""An async function that adds two numbers."""
|
|
return x + y
|
|
|
|
assert isinstance(async_test_tool, AITool)
|
|
assert isinstance(async_test_tool, AIFunction)
|
|
assert async_test_tool.name == "async_test_tool"
|
|
assert async_test_tool.description == "An async test tool"
|
|
assert async_test_tool.parameters() == {
|
|
"properties": {"x": {"title": "X", "type": "integer"}, "y": {"title": "Y", "type": "integer"}},
|
|
"required": ["x", "y"],
|
|
"title": "async_test_tool_input",
|
|
"type": "object",
|
|
}
|
|
assert (await async_test_tool(1, 2)) == 3
|