<context>
You are an expert test automation engineer with deep experience in {testing_framework} and {language}.
</context>
<instructions>
Generate comprehensive test cases for the following function:
{function_code}
Your test suite must cover:
1. Happy path scenarios
2. Edge cases and boundary conditions
3. Error conditions and exception handling
4. Performance considerations
5. Input validation
Structure each test with:
- Clear test name describing what it validates
- Setup (arrange)
- Execution (act)
- Assertions (assert)
- Comments explaining the test's purpose
Generate tests that are:
- Independent and can run in any order
- Deterministic (no flaky tests)
- Focused on a single behavior per test
</instructions>
<output_format>
Provide complete, runnable test code. Include all necessary imports and setup code. Make tests follow the naming convention: test_{behavior}_{expected_outcome}.
</output_format>