@Test
 public void testClose() {
   cache.put("pu1", emFactory);
   emFactory.close();
   replay(emFactory);
   producer.close();
   verify(emFactory);
 }
 @Test
 public void testInitWithError() {
   try {
     producer.loadPersistenceUnits();
     Assert.fail();
   } catch (DemoiselleException cause) {
     Assert.assertTrue(true);
   }
 }
  @Test
  public void testInitWithoutError() {
    mockStatic(Persistence.class);
    expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory);
    replay(Persistence.class);

    producer.loadPersistenceUnits();
    Assert.assertEquals(emFactory, cache.get("pu1"));
  }
  @Test
  public void testCreateWithUnitPersistenceNotExisting() {

    mockStatic(Persistence.class);
    expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory);

    replay(Persistence.class);

    Assert.assertEquals(emFactory, producer.create("pu1"));
  }
 @Test
 public void testGetCache() {
   Assert.assertEquals(cache, producer.getCache());
 }
 @Test
 public void testCreateWithUnitPersistenceExisting() {
   cache.put("pu1", emFactory);
   Assert.assertEquals(emFactory, producer.create("pu1"));
 }