@Test
  public void test_aspectOnAspect() throws Exception {
    JoinPoint joinPoint = new JoinPoint(CALL_AFTER, HANDLER_JOIN_POINT, "a-handler-id", true);

    aspectManager.addAspect("myaspect", new JoinPoint[] {joinPoint}, MyAspect.class);
    aspectManager.addAspect(
        "aspectOnAspect",
        joinPoint(CALL_AFTER, JoinPoint.ON_ASPECT, "myaspect", true),
        MyAspect.class);

    launcher.run(
        createAspectContext("a-handler-id"),
        new AspectBranchId(joinPoint, "myaspect"),
        new ConnectionPoolMock(new LogString("pool", log)),
        new UserMock());

    log.assertContent(
        "pool.getConnection(), "
            + "myaspect.setUp(), "
            + "transaction.begin(), "
            + "transaction.flush(), "
            + "myaspect.run(), "
            + "transaction.commit(), "
            + "transaction.end(), "
            + "myaspect.cleanUp(), "
            + "trigger-forked-mode-for(aspectOnAspect)");
  }
  @Test
  public void test_initAds() throws Exception {
    adsSecurityManager.init(new SecurityServiceConfig(createDefaultMasterConfigWithAdsValues()));

    log.assertContent(
        "setSecuritServiceClass(AdsSecurityService)",
        "SessionManager.addListener(AdsServiceWrapper)",
        "addGlobalComponent(AdsServiceWrapper)");

    assertEquals(AdsTest.ADSBV_JNLP_URL, adsSecurityManager.getAdsBvJnlpUrl());
  }
  public void test_crossTableListener() throws Exception {
    crossTablePanel.setNotEditableColumns(new String[] {"Scenario"});

    crossTablePanel.addCrossTableListener(new CrossTableListenerMock(log));

    crossTable.editCell(0, 1, "0.25", true);

    assertTrue(
        crossTable.contentEquals(
            new Object[][] {
              {"Scénario 1", "0.25", "0.50"},
              {"Scénario 2", "0.75", "0.75"},
              {"Scénario 3", "1.50", ""}
            }));

    log.assertContent("cellContentsChanged(0, John)");
  }
 public void cellContentsChanged(int rowIndex, String column) {
   log.call("cellContentsChanged", "" + rowIndex, column);
 }
 @Override
 public void setSecuritServiceClass(Class<? extends SecurityService> securitServiceClass) {
   log.call("setSecuritServiceClass", securitServiceClass.getSimpleName());
 }
 @Override
 public void setSecurityContextFactory(SecurityContextFactory securityContextFactory) {
   log.call("setSecurityContextFactory", securityContextFactory.getClass().toString());
 }
 public String readLog(String logFile) {
   log.call("readLog", logFile);
   return "Content of " + logFile;
 }
 public List<String> getLogFiles() {
   log.call("getLogFiles");
   return logs;
 }
 public void visitComposite(RoleComposite role) {
   log.call("visitComposite", role.getName());
   role.acceptForSubRoles(this);
 }
 public void visit(Role role) {
   log.call("visit", role.getName());
 }
 @Test
 public void test_handlerIsDeclared() throws Exception {
   new ReferentialServerPlugin(new MadServerPluginMock(new LogString("madServerPlugin", log)));
   log.assertAndClear(
       "madServerPluginConfiguration.addHandlerCommand(DeletePmReferentialFamilyCommand)");
 }