import junit.framework.TestCase;

public class StudentTester extends TestCase {
  
  /**
   * Test the constructor that takes two 
   * Strings, getFirstName() and 
   * getLastName().
   */
  public void testConstructor2() {
    int numStudents = Student.getTotalStudents();
    Student s1 = new Student("Pam", "Campbell");
    
    // assertEquals(expectedValue, actualValue);
    assertEquals("Pam", s1.getFirstName());
    assertEquals("Campbell", s1.getLastName());
    assertEquals(numStudents + 1, s1.getTotalStudents());
  }
  
  /**
   * Test the setFirstName and getFirstName methods.
   */ 
  public void testFirstName() {
    Student s = new Student();
    s.setFirstName("Tony");
    assertEquals("Tony" , s.getFirstName());
  }
  
  /**
   * Test the equals method.
   */ 
  public void testEquals() {
    
    Student s1 = new Student("John", "Ng");
    Student s2 = new Student("John", "Liu");
    Student s3 = new Student("Sara", "Liu");

    // Comparing students with same first name,
    // but different last name.
    assertEquals(false , s1.equals(s2));
    
    // Compare student with different first name,
    // but same last name.
    assertEquals(false, s2.equals(s3));
  }
  
  
}
