### Question:
PermissionManager { public long addUser(Person user) { UserDAO dao = daoFactory.getUserDAO(); User u = dao.getByUsername(user.getUserName()); if (u != null) { throw new TabInvalidValueException("Login '" + user.getUserName() + "' already exists!"); } validateUser(user); return dao.save(user); } PermissionManager(EntityManager entityManager); static Options createUserDefOptions(); @SuppressWarnings("static-access") static Options createUserDefOptions(Options baseOptions); @SuppressWarnings("static-access") static Options createPermModOptions(Options baseOptions); static Options createPermModOptions(); Person createNewUserFromOptions(String login, CommandLine cmdl); void validateUser(Person user); long addUser(Person user); void updateUser(Person user); void deleteUser(String login); void setStudyOwners(CommandLine cmdl); void setStudyOwners(String spec); void setStudyOwners(String studyAcc, String operation, String... logins); void setStatus(CommandLine cmdl, VisibilityStatus status); void setVisibility(CommandLine cmdl); void setPrivate(String spec); void setPrivate(String... studyAccs); void setStatus(VisibilityStatus status, String... studyAccs); void setPublic(String spec); void setPublic(String... studyAccs); @SuppressWarnings("unchecked") List<Study> getStudies(); @SuppressWarnings("unchecked") List<Person> getUsers(); Person getUserByLogin(String login); Study getStudyByAcc(String acc); static String formatUser(Person user); static String formatStudy(Study study); final static String[] VALID_DATE_FORMATS; }### Answer:
@Test public void testAddUser() { Person user = createTestUser(); PermissionManager permMgr = new PermissionManager(entityManager); Person userdb = permMgr.getUserByLogin("zakmck"); assertNotNull("Saved user not fetched!", userdb); assertEquals("Wrong saved user!", user.getUserName(), userdb.getUserName()); assertEquals("Wrong saved user!", user.getFirstName(), userdb.getFirstName()); assertEquals("Wrong saved user!", user.getJoinDate(), userdb.getJoinDate()); assertEquals("Wrong saved user!", user.getRole(), userdb.getRole()); }