The practical problem is that you'd be grading your own homework. If the AI misunderstands the requirements, that same misunderstanding gets baked into both the code and the tests, so the suite passes while the program is still fundamentally wrong. Self-generated tests only confirm the AI's internal assumptions; they don't validate against reality. The whole point of testing is independent verification, so if the same model wrote both the implementation and the tests, you get a false sense of confidence. And false confidence is worse than none, because it discourages the human review that actually catches bugs.