### Question:
PrimaryKeyDescFactoryImpl implements PrimaryKeyDescFactory { public PrimaryKeyDesc getPrimaryKeyDesc(EntityMeta entityMeta) { if (entityMeta.getIdPropertyMetaList().isEmpty()) { return null; } PrimaryKeyDesc primaryKeyDesc = new PrimaryKeyDesc(); doColumnName(entityMeta, primaryKeyDesc); return primaryKeyDesc; } PrimaryKeyDescFactoryImpl(GenDialect dialect); PrimaryKeyDesc getPrimaryKeyDesc(EntityMeta entityMeta);  }### Answer:
@Test public void testId() throws Exception { EntityMeta entityMeta = entityMetaFactory.getEntityMeta(Aaa.class); PrimaryKeyDesc primaryKeyDesc = primaryKeyDescFactory .getPrimaryKeyDesc(entityMeta); assertNotNull(primaryKeyDesc); assertEquals(1, primaryKeyDesc.getColumnNameList().size()); assertEquals("ID", primaryKeyDesc.getColumnNameList().get(0)); }
@Test public void testCompositeId() throws Exception { EntityMeta entityMeta = entityMetaFactory.getEntityMeta(Fff.class); PrimaryKeyDesc primaryKeyDesc = primaryKeyDescFactory .getPrimaryKeyDesc(entityMeta); assertNotNull(primaryKeyDesc); assertEquals(2, primaryKeyDesc.getColumnNameList().size()); assertEquals("ID1", primaryKeyDesc.getColumnNameList().get(0)); assertEquals("ID2", primaryKeyDesc.getColumnNameList().get(1)); }
@Test public void testCompositeId_multiClass() throws Exception { EntityMeta entityMeta = entityMetaFactory.getEntityMeta(Jjj.class); PrimaryKeyDesc primaryKeyDesc = primaryKeyDescFactory .getPrimaryKeyDesc(entityMeta); assertNotNull(primaryKeyDesc); assertEquals(3, primaryKeyDesc.getColumnNameList().size()); assertEquals("ID1", primaryKeyDesc.getColumnNameList().get(0)); assertEquals("ID2", primaryKeyDesc.getColumnNameList().get(1)); assertEquals("ID3", primaryKeyDesc.getColumnNameList().get(2)); }
@Test public void testNoId() throws Exception { EntityMeta entityMeta = entityMetaFactory.getEntityMeta(Ggg.class); PrimaryKeyDesc primaryKeyDesc = primaryKeyDescFactory .getPrimaryKeyDesc(entityMeta); assertNull(primaryKeyDesc); }