@Test(expected = IllegalStateException.class)
 public void testBadGeneratedId() throws Exception {
   Field field = GeneratedId.class.getField("id");
   DatabaseType mockDb = createMock(DatabaseType.class);
   expect(mockDb.isIdSequenceNeeded()).andReturn(false);
   DataPersister dataPersister = createMock(DataPersister.class);
   expect(mockDb.getDataPersister(isA(DataPersister.class), isA(FieldType.class)))
       .andReturn(dataPersister);
   expect(mockDb.getFieldConverter(isA(DataPersister.class), isA(FieldType.class)))
       .andReturn(dataPersister);
   expect(mockDb.isEntityNamesMustBeUpCase()).andReturn(true);
   replay(mockDb);
   connectionSource.setDatabaseType(mockDb);
   try {
     FieldType fieldType =
         FieldType.createFieldType(connectionSource, "foo", field, GeneratedId.class);
     verify(mockDb);
     StringBuilder sb = new StringBuilder();
     List<String> statementsBefore = new ArrayList<String>();
     databaseType.appendColumnArg(null, sb, fieldType, null, statementsBefore, null, null);
   } finally {
     connectionSource.setDatabaseType(databaseType);
   }
 }