Package ch.agent.crnickl.junit

Source Code of ch.agent.crnickl.junit.T045_EventTest

package ch.agent.crnickl.junit;

import ch.agent.crnickl.T2DBException;
import ch.agent.crnickl.api.Chronicle;
import ch.agent.crnickl.api.DBObjectType;
import ch.agent.crnickl.api.Database;
import ch.agent.crnickl.api.UpdatableChronicle;
import ch.agent.crnickl.api.UpdateEvent;
import ch.agent.crnickl.api.UpdateEventSubscriber;

public class T045_EventTest extends AbstractTest {
 
  private class EventTester implements UpdateEventSubscriber {
    private UpdateEvent event;
    @Override
    public void notify(UpdateEvent event) {
      this.event = event;
    }
    public UpdateEvent getEvent() {
      return event;
    }
  }
 
  private static final String FULLNAME = "bt.entity";
  private static final String SIMPLENAME = "entity";
  private static Database db;
  private static EventTester tester;
 
  @Override
  protected void firstSetUp() throws Exception {
    db = getContext().getDatabase();
    tester = new EventTester();
    db.getUpdateEventPublisher().subscribe(tester, DBObjectType.CHRONICLE, false);
  }
 
  @Override
  protected void lastTearDown() throws Exception {
    Util.deleteChronicles(db, FULLNAME);
  }

  public void test001() {
    try {
      UpdatableChronicle e = db.getTopChronicle().edit().createChronicle(SIMPLENAME, false, "junit test 001", null, null);
      assertEquals(FULLNAME, e.getName(true));
      e.applyUpdates();
      db.commit();
      assertEquals(FULLNAME, ((Chronicle) tester.getEvent().getSourceOrNull()).getName(true));
    } catch (T2DBException e) {
      fail(e.toString());
    }
  }
 
  public void test002() {
    try {
      UpdatableChronicle e = db.getChronicle(FULLNAME, true).edit();
      e.destroy();
      e.applyUpdates();
      db.commit();
      assertEquals(db.getNamingPolicy().joinValueAndDescription(FULLNAME, "junit test 001"), tester.getEvent().getComment());
    } catch (Exception e) {
      fail(e.toString());
    }
  }


}
TOP

Related Classes of ch.agent.crnickl.junit.T045_EventTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.