/**
 HW3.java: Simple driver to test ExpenseAccount class
 @author Clark Olson
 */
public class HW3
{

    /**
     main driver function
     pre:  none
     post: exercises the methods in ExpenseAccount
     */
    public static void main(String[] args)
    {
        // Create a few bills
        Money amount = new Money(20);
        Date dueDate = new Date(4, 30, 2007);
        Bill bill1 = new Bill(amount, dueDate, "Nasty Bill Collector");
        Bill bill2 = new Bill(bill1);
        bill2.setDate(new Date(5, 30, 2007));
        amount.setMoney(31, 99);
        dueDate.setDay(29);
        Bill bill3 = new Bill(amount, dueDate, "Another Company");

        // Create an account
        ExpenseAccount account = new ExpenseAccount();
        account.insertBill(bill1);
        account.insertBill(bill2);
        account.insertBill(bill3);
        
        System.out.println();
        System.out.println("This is a summary of the expense account:");
        System.out.println(account);
        System.out.println("Total unpaid: " + account.totalDue());
        
        account.payBill(bill2);
        
        System.out.println();
        System.out.println("This is a new summary of the complete bill account:");
        System.out.println(account);
        System.out.println("Total unpaid: " + account.totalDue());
        
        System.out.println();
        System.out.println("Here are bills from one company:");
        Bill[] someBills = account.findCompany("Nasty Bill Collector");
        int position = 0;
        while (someBills[position] != null) {
            System.out.println(someBills[position]);
            position++;
        }
        
        
    }
}
