* </ol>
*/
@Test(timeout = TIMEOUT)
public void testSaveUserCase3()
{
final User user = userDAO.readByUsername(JournalTestCommon.TEST_USERNAME);
final String genId = getCommon().generateUniqueId();
user.setChecksum(genId);
user.setPassword(genId);
user.setUpdater(user);
userDAO.save(user);
final Date now = new Date();
final long dateDelta = DateUtils.getInstance().getDayDifference(now, user.getUpdateDate());
final long timeDelta = DateUtils.getInstance().getTimeDifference(now, user.getUpdateDate());
final User newUser = userDAO.readByUsername(JournalTestCommon.TEST_USERNAME);
assertEquals("Case 3.1: Password updated.", genId, newUser.getPassword());
assertEquals("Case 3.2: Checksum updated.", genId, newUser.getChecksum());
assertNotNull("Case 3.3: Updater field was set.", newUser.getUpdater());
assertEquals("Case 3.4: Correct date set." + dateDelta, 0, dateDelta);
assertTrue("Case 3.5: Correct time set.", timeDelta < TIMEOUT);
}