??????????????getPostLogonMessage()?????????loadAccountStatus()?????????????в????????????????????????????????????????????????????????磬accountStatus??“E”????????????getPostLogonMessage()??????“Your purchasing account has expired due to a lack of activity??”???????????

public void testPostLogonMessageWhenStatusIsExpired(){

 String username = "robertmiller";

 String password = "java.net";

  class CustomerAccountMock extends CustomerAccount{

    ...   

    public void loadAccountStatus() {

      this.accountStatus = "E";

    }

 }

 ICustomerAccount ca = new CustomerAccountMock(username?? password);

 try {

    ca.loadAccountStatus();

 }

  catch (CustomerAccountsSystemOutageException e){

    fail(""+e);

 }

 assertEquals("Your purchasing account has " +

                     "expired due to a lack of activity."??

                     ca.getPostLogonMessage());

}

?????????????????getPostLogonMessage()??????????loadAccountStatus()??????乤????????????????????????????????????????

public String getPostLogonMessage() {

 return this.postLogonMessage;

}

public void loadAccountStatus()

                  throws CustomerAccountsSystemOutageException {

 Connection c = null;

 try {

    c = DriverManager.getConnection("databaseUrl"?? "databaseUser"??

                                    "databasePassword");

    PreparedStatement ps = c.prepareStatement(

          "SELECT status FROM customer_account "

        + "WHERE username = ? AND password = ? ");

    ps.setString(1?? this.username);

    ps.setString(2?? this.password);

    ResultSet rs = ps.executeQuery();

    if (rs.next()) {

      this.accountStatus=rs.getString("status");

    }

    rs.close();

    ps.close();

    c.close();

  } catch (SQLException e) {

    throw new CustomerAccountsSystemOutageException(e);

 } finally {

    if (c != null) {

      try {

        c.close();

       } catch (SQLException e) {}

    }

 }

 if("A".equals(this.accountStatus)){

    this.postLogonMessage = "Your purchasing account is active.";

 } else if("E".equals(this.accountStatus)) {

    this.postLogonMessage = "Your purchasing account has " +

                            "expired due to a lack of activity.";

 } else {

    this.postLogonMessage = "Your purchasing account cannot be " +

                            "found?? please call customer service "+

                            "for assistance.";

 }

}