le code source des beans métier (Pojo) et des classes d'accès aux données (Dao)

ainsi que les utilitaires et classes de base
le télécharger ici

la classe de test pour Customer

à faire: sur la base de cette classe, écrire l'ensemble des tests pour tous les POJO et DAO du projet, mais en utilisant le framework Junit (utiliser l'assistant TestCase d'Eclipse)

import generic.PersistenceException;

import java.util.Iterator;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import app.Customer;
import app.dao.jdbc.CustomerDao;

public class CustomerTest {

  private static Log log = LogFactory.getLog(CustomerTest.class);

  private String name;
  private String forName;
  private String address;
  private String town;
  private String country;
  private String totalPrice;
  
  private Customer customer;

  private static CustomerDao customerDao = CustomerDao.getInstance();

  protected void update() {
    customer.setAddress(address);
    customer.setCountry(country);
    customer.setForName(forName);
    customer.setName(name);
    customer.setTotalPrice(Double.parseDouble(totalPrice));
    customer.setTown(town);
  }

  protected List findByParentId(String idthrows PersistenceException {
    return customerDao.findByParentId(id);
  }

  protected Customer findByName(String name, String forName)
      throws PersistenceException {
    return (CustomercustomerDao.findByName(name + ";" + forName);
  }

  protected void save() {
    customerDao.save(customer);
  }

  protected void delete() {
    customerDao.delete(customer);
  }

  protected void newObject() {
    customer = new Customer();
  }

  public String toString() {
    String result = "";
    try {
      List customers = findByParentId(null);
      Iterator custIterator = customers.iterator();
      while (custIterator.hasNext()) {
        Customer customer = (CustomercustIterator.next();
        result += customer;
      }
    catch (Exception e) {
      e.printStackTrace();
    }
    return result;
  }

  public void testSave() throws PersistenceException {

    name = "Toutankhamon";
    forName = "Jean-Paul";
    address = "352, rue des Pyramides";
    town = "Thèbes";
    country = "Egypte";
    totalPrice = "10000.99";

    newObject();
    update();
    save();

    String result = toString();
    System.out.println(result);

    String expected = "Toutankhamon Jean-Paul 352, rue des Pyramides Thèbes Egypte 10000.99";

    if (result.indexOf(expected== -1) {
      log.error(name + " not found");
      throw new RuntimeException("error, " + name + " not found");
    }

    // supprimer aussitôt
    customer = findByName(name, forName);
    if (customer != null)
      delete();
    else {
      log.error(name + " not found");
      throw new RuntimeException("error, " + name
          " not found - not deleted");
    }

    log.debug("test " + name + " ok");

  }

  public static void main(String[] argsthrows PersistenceException {
    CustomerTest ct = new CustomerTest();
    ct.testSave();
  }

}