Part 4: canGenerate() should not throw