Generate meaningful tests for a function or module — behavior and edge cases, not coverage-gaming. Use when code lacks tests, before a refactor, or when asked "write tests for this", "add test coverage", "test this function". Tests the contract, not the implementation.