public Unit test2() throws Exception {
   Unit u = BasicService.getService().findByPK(Unit.class, 1L);
   u.setName("xyz");
   u.save();
   u.setName("abc");
   return u;
 }
 public Unit test6() throws Exception {
   Unit u = BasicService.getService().findByPK(Unit.class, 1L);
   u.setName("xyz");
   HibernateUtils.getSession().saveOrUpdate(u);
   u.setName("abc");
   return u;
 }
 public void test3() throws Exception {
   Unit u = BasicService.getService().findByPK(Unit.class, 1L);
   u.setName("xyz");
   u.save();
   u.setName("abc");
   u.save();
 }
 public void test新規作成したオブジェクトを挿入後更新したら更新後の値が反映されること() throws Exception {
   ServiceLocator.getService(更新メソッドを使わずにデータが更新されないことを確認するService.class).test5();
   Extractor ex = new Extractor(Unit.class);
   ex.add(Condition.eq(new Property(Unit.NAME), "適当データ"));
   Unit u = (Unit) BasicService.getService().findByExtractor(ex).get(0);
   assertEquals("備考が誤っています。", "xyz", u.getDescription());
 }
 @Verifier(when = {WhenVerifier.INSERT})
 public Messages verifyUnit(Unit unit, CallbackEventType eventType, WhenVerifier when) {
   Messages ret = new Messages();
   if (unit.getName().equals("verify4")) {
     ret.add("unit.name", new Message("errors.duplicate", "4"));
   }
   return ret;
 }
 @Verifier
 public Messages verifyUnit(Unit unit, WhenVerifier when) {
   Messages ret = new Messages();
   if (unit.getName().equals("verify3")) {
     ret.add("unit.name", new Message("errors.duplicate", "3"));
   }
   return ret;
 }
 @Verifier
 public Messages verifyUnit(Unit unit, CallbackEventType eventType) {
   Messages ret = new Messages();
   if (unit.getName().equals("verify2")) {
     ret.add("unit.name", new Message("errors.duplicate", "2"));
   }
   return ret;
 }
 public void test5() throws Exception {
   Unit u = new Unit();
   u.setName("適当データ");
   u.setBase(u);
   u.setRate(new ScalableNumber(1L, 0));
   u.setScale(1);
   u.save();
   u.setDescription("xyz");
   u.save();
 }
  public void testVerifierCallback() throws Exception {
    List<Object> list2 = new ArrayList<Object>();
    list2.add(new VerifierCallbackListener());
    DIContainer real = DIContainerFactory.getDIContainer();
    Map<Object, Object> map = new HashMap<Object, Object>();
    map.put(BasicService.PERSISTENCE_EVENT_LISTENERS, list2);
    MapDIContainer wrapper = new MapDIContainer(map);
    DIContainerFactory.setDIContainer(
        new CompositeDIContainer(Arrays.asList(new DIContainer[] {wrapper, real})));
    System.out.println(DIContainerFactory.getDIContainer().getClass().getName());
    try {
      SortedSet<CallbackEventListener> listeners =
          BasicService.getService().getEventListener(Unit.class, CallbackEventType.VERIFIER);
      assertEquals("返却数が誤っています。", 5, listeners.size());

      Unit u = BasicService.getService().findByPK(Unit.class, 1L);
      Messages msgs = u.validateObject();
      assertFalse("エラーが発生しています。", msgs.hasError());

      u.setName("verify");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertFalse("エラーが発生しています。", msgs.hasError());

      u.setName("verify1");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertTrue("エラーが発生していません。", msgs.hasError());

      u.setName("verify2");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertTrue("エラーが発生していません。", msgs.hasError());

      u.setName("verify3");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertTrue("エラーが発生していません。", msgs.hasError());

      u.setName("verify4");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertFalse("エラーが発生しています。", msgs.hasError());

      msgs = BasicService.getService().validate(u, WhenVerifier.INSERT);
      System.out.println(msgs);
      assertTrue("エラーが発生していません。", msgs.hasError());

      u.setName("verify5");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertFalse("エラーが発生していませす。", msgs.hasError());
    } finally {
      DIContainerFactory.setDIContainer(real);
    }
  }
 public void test1() {
   Unit u = BasicService.getService().findByPK(Unit.class, 1L);
   u.setName("xyz");
 }
 public void testBasicServiceを介さずにsaveOrUpdateを叩いても同様の動作をすること() throws Exception {
   Unit u1 = ServiceLocator.getService(更新メソッドを使わずにデータが更新されないことを確認するService.class).test6();
   Unit u2 = BasicService.getService().findByPK(Unit.class, 1L);
   assertEquals("ユニット名が誤っています。", "xyz", u2.getName());
   assertEquals("ユニット名が誤っています。", "abc", u1.getName());
 }
 public void test更新を2回叩いた場合は後のデータで更新されていること() throws Exception {
   ServiceLocator.getService(更新メソッドを使わずにデータが更新されないことを確認するService.class).test3();
   Unit u = BasicService.getService().findByPK(Unit.class, 1L);
   assertEquals("ユニット名が誤っています。", "abc", u.getName());
 }
 public void test更新メソッドを叩いた後のデータが更新されないこと() throws Exception {
   Unit u1 = ServiceLocator.getService(更新メソッドを使わずにデータが更新されないことを確認するService.class).test2();
   Unit u2 = BasicService.getService().findByPK(Unit.class, 1L);
   assertEquals("ユニット名が誤っています。", "xyz", u2.getName());
   assertEquals("ユニット名が誤っています。", "abc", u1.getName());
 }