OrderDaoHibernateTest.java :  » Testing » springunit-0.6 » org » springunit » framework » samples » jpetstore » dao » hibernate » Java Open Source

Java Open Source » Testing » springunit 0.6 
springunit 0.6 » org » springunit » framework » samples » jpetstore » dao » hibernate » OrderDaoHibernateTest.java
package org.springunit.framework.samples.jpetstore.dao.hibernate;

import java.util.List;
import java.util.Map;

import org.springunit.framework.SpringUnitContext;
import org.springunit.framework.samples.jpetstore.dao.AbstractDaoTest;
import org.springunit.framework.samples.jpetstore.dao.OrderDao;
import org.springunit.framework.samples.jpetstore.domain.Order;

public class OrderDaoHibernateTest<V extends Order, D extends OrderDaoHibernate<V>> extends AbstractDaoTest<V, D> {

  public OrderDaoHibernateTest() {
    this(null);
  }

  public OrderDaoHibernateTest(String name) {
    super(name);
  }
  
  public void testGetOrdersByUsernameFound() throws Exception {
    runGetOrdersByUsername();
  }
  
  public void testGetOrdersByUsernameNotFound() throws Exception {
    runGetOrdersByUsername();
  }
  
  public void testGetOrder() throws Exception {
    runGetOrder();
  }
  
  public void testInsertOrder() throws Exception {
    runInsertOrder();
  }
  
  protected void runGetOrdersByUsername() throws Exception {
    String username = getObject("username");
    List<? extends V> expected = (List<? extends V>)getObject("expected");
    Exception expectedException = getObject("expectedException");
    try {
      List<? extends V> actual = getSubject().getOrdersByUsername(username);
      if (expectedException != null) {
        fail("Exception not thrown.");
      }
      assertTrue(areEqual(expected, actual));
    }
    catch (Exception ex) {
      if (expectedException == null || !expectedException.getClass().isAssignableFrom(ex.getClass())) {
        throw ex;
      }
    }
  }

  protected void runGetOrder() throws Exception {
    Exception expectedException = getObject("expectedException");
    try {
      List<? extends V> all = getSubject().read();
      V expected = all.get(0);
      V actual = getSubject().getOrder(expected.getId());
      if (expectedException != null) {
        fail("Exception not thrown.");
      }
      assertTrue(isEqual(expected, actual));
    }
    catch (Exception ex) {
      if (expectedException == null || !expectedException.getClass().isAssignableFrom(ex.getClass())) {
        throw ex;
      }
    }
  }

  protected void runInsertOrder() throws Exception {
    V order = (V)getObject("order");
    V expected = order;
    Exception expectedException = getObject("expectedException");
    try {
      getSubject().insertOrder(order);
      if (expectedException != null) {
        fail("Exception not thrown.");
      }
      V actual = getSubject().read(order.getId());
      assertTrue(isEqual(expected, actual));
    }
    catch (Exception ex) {
      if (expectedException == null || !expectedException.getClass().isAssignableFrom(ex.getClass())) {
        throw ex;
      }
    }
  }

  protected void modify(V item, Map<String, Object> values) {
    if (values.containsKey("billFirstName")) {
      item.setBillToFirstName((String)values.get("billFirstName"));
    }
    if (values.containsKey("billLastName")) {
      item.setBillToLastName((String)values.get("billLastName"));
    }
    // others could go here
  }
  
  public OrderDao getOrderDao() {
    return this.orderDao;
  }

  public void setOrderDao(OrderDao orderDao) {
    this.orderDao = orderDao;
  }

  public SpringUnitContext getOrderDaoHibernateTest() {
    return this.orderDaoHibernateTest;
  }

  public void setOrderDaoHibernateTest(SpringUnitContext orderDaoHibernateTest) {
    this.orderDaoHibernateTest = orderDaoHibernateTest;
  }
  
  private OrderDao orderDao;
  private SpringUnitContext orderDaoHibernateTest;
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.