package users; import java.util.ArrayList; import questions.*; import tests.*; /** * @author bnaftali * */ public abstract class User { /** * List of courses assigned to a user. */ private ArrayList courses; /** * History of a user's actions. */ private History log; // /** * List of Tests taken by a user. */ private ArrayList taken; /** * Default Constructor */ public User() { } /** * @return List of tests a user still needs to take. */ public ArrayList toTake() { return null; } /** * Adds a course to a user. */ public void addCourse() { } /** * @param del - Course to delete from a user's courses. pre: // // User does not already contain a course // with the same name as the one being added.. // (! exists (Course add ; us.contains(old) ; old.name.equals(add.name))) * */ public void removeCourse(Course del) { } /** * @param take - Test that the user will take. */ public abstract void takeTest(Test take); /** * @param rev - test that the user will review. pre: // // Test being reviewed has already been taken. // Note: talking about a 'TestAttempt' class implementation // (! exits (rev.attempt ;) * */ public abstract void reviewTest(Test rev); }