def test_prepare_function_call_complex_template():
    """Test function preparation with complex template variables"""
    def test_func(name: str, age: int, hobbies: list) -> OutputModel:
        """{{ name }} is {{ age }} years old and enjoys {{ ', '.join(hobbies) }}."""
        pass

    docstring, kwargs, return_type = _prepare_function_call(
        test_func,
        args=(),
        kwargs={
            "name": "Alice",
            "age": 30,
            "hobbies": ["reading", "coding", "hiking"]
        }
    )

    assert docstring == "Alice is 30 years old and enjoys reading, coding, hiking."
    assert kwargs == {
        "name": "Alice",
        "age": 30,
        "hobbies": ["reading", "coding", "hiking"]
    }
    assert return_type == OutputModel
Test function preparation with complex template variables
tests/test_function_prep.py