@Test
  public void testRemovePackageEvents() throws Exception {
    this.kBase.addPackage(pkg);

    assertEquals(0, listener1.getBeforePackageRemoved());
    assertEquals(0, listener1.getAfterPackageRemoved());
    assertEquals(0, listener2.getBeforePackageRemoved());
    assertEquals(0, listener2.getAfterPackageRemoved());

    assertEquals(0, listener1.getBeforeRuleRemoved());
    assertEquals(0, listener1.getAfterRuleRemoved());
    assertEquals(0, listener2.getBeforeRuleRemoved());
    assertEquals(0, listener2.getAfterRuleRemoved());

    this.kBase.removeKiePackage("org.drools.test1");

    assertEquals(1, listener1.getBeforePackageRemoved());
    assertEquals(1, listener1.getAfterPackageRemoved());
    assertEquals(1, listener2.getBeforePackageRemoved());
    assertEquals(1, listener2.getAfterPackageRemoved());
    assertEquals(2, listener1.getBeforeRuleRemoved());
    assertEquals(2, listener1.getAfterRuleRemoved());
    assertEquals(2, listener2.getBeforeRuleRemoved());
    assertEquals(2, listener2.getAfterRuleRemoved());
  }
  @Test
  public void testAddPackageEvents() throws Exception {
    assertEquals(0, listener1.getBeforePackageAdded());
    assertEquals(0, listener1.getAfterPackageAdded());
    assertEquals(0, listener2.getBeforePackageAdded());
    assertEquals(0, listener2.getAfterPackageAdded());
    assertEquals(0, listener1.getBeforeRuleAdded());
    assertEquals(0, listener1.getAfterRuleAdded());
    assertEquals(0, listener2.getBeforeRuleAdded());
    assertEquals(0, listener2.getAfterRuleAdded());

    this.kBase.addPackage(pkg);

    assertEquals(1, listener1.getBeforePackageAdded());
    assertEquals(1, listener1.getAfterPackageAdded());
    assertEquals(1, listener2.getBeforePackageAdded());
    assertEquals(1, listener2.getAfterPackageAdded());
    assertEquals(2, listener1.getBeforeRuleAdded());
    assertEquals(2, listener1.getAfterRuleAdded());
    assertEquals(2, listener2.getBeforeRuleAdded());
    assertEquals(2, listener2.getAfterRuleAdded());
  }