/** Add some new accounts and customers. */
  protected final void setUp() {
    // get context and facade
    ApplicationContext ctx = new FileSystemXmlApplicationContext("build/applicationContext.xml");
    bank = (BankingFacade) ctx.getBean("bankManager");

    // create test accounts and customers
    try {
      bank.addCustomer("120", "Mr", "A", "Customer");
      bank.addCustomer("130", "Mr", "Ano", "Customer");
      bank.addAccount("120-2001", "120", "Checking");
      bank.addAccount("120-2002", "120", "Savings");
      bank.addAccount("120-2010", "130", "Checking");
      bank.addAccount("120-2011", "130", "Savings");
      bank.addAccount("120-2012", "130", "Savings");
      bank.deposit("120-2002", new BigDecimal("100.00"));
      delay(5);
      bank.deposit("120-2002", new BigDecimal("50.00"));
      delay(5);
      bank.deposit("120-2010", new BigDecimal("1000.45"));
      delay(5);
      bank.deposit("120-2011", new BigDecimal("123.69"));
    } catch (BankException ex) {
      ex.printStackTrace();
    }
  } // setUp
 /** Test adding and deleting a customer. */
 public final void testAddDeleteCustomer() {
   // add customer
   try {
     bank.addCustomer("201", "Mr", "New", "Customer");
   } catch (BankException e) {
     e.printStackTrace();
   }
   // delete customer
   try {
     Customer c1 = bank.getCustomer("201");
     assertNotNull(c1);
     c1 = bank.deleteCustomer("201");
     assertNull(c1);
   } catch (BankException e) {
     e.printStackTrace();
   }
   // force exception
   try {
     Customer c2 = bank.deleteCustomer("999");
     // TODO: cause exception
     // fail("deleteCustomer hasn't caused an exception as it should");
   } catch (BankException e) {
     // ignore
   }
 } // testAddDeleteCustomer