/** * Convenience method: sets a person's birth date from an age as of the given date Also sets * flag indicating that the birth date is inexact. This sets the person's birth date to January * 1 of the year that matches this age and date * * @param age (the age to set) * @param ageOnDate (null defaults to today) */ public void setBirthdateFromAge(int age, Date ageOnDate) { Calendar c = Calendar.getInstance(); c.setTime(ageOnDate == null ? new Date() : ageOnDate); c.set(Calendar.DATE, 1); c.set(Calendar.MONTH, Calendar.JANUARY); c.add(Calendar.YEAR, -1 * age); setBirthdate(c.getTime()); setBirthdateEstimated(true); }
/** * @throws ParseException * @see Person#getBirthDateTime() */ @Test public void getBirthDateTime_shouldReturnBirthDateTimeAlongWithBirthdate() throws ParseException { Person person = new Person(); person.setBirthdate(new SimpleDateFormat("yyyy-MM-dd").parse("2012-01-01")); person.setBirthtime(new SimpleDateFormat("HH:mm:ss").parse("11:11:11")); Assert.assertEquals(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2012-01-01 11:11:11"), person.getBirthDateTime()); }
/** * @see Person#getAge(Date) */ @Test public void getAge_shouldGetAgeBeforeBirthday() { Calendar birthdate = Calendar.getInstance(); birthdate.set(2006, Calendar.JUNE, 2); Calendar onDate = Calendar.getInstance(); onDate.set(2008, Calendar.JUNE, 1); Person person = new Person(); person.setBirthdate(birthdate.getTime()); assertEquals(person.getAge(onDate.getTime()), 1, 0); }
@Test public void savePerson_shouldSavePersonWithBirthDateTime() throws ParseException { Person person = new Person(); person.setBirthtime(new SimpleDateFormat("HH:mm:ss").parse("15:23:56")); person.setBirthdate(new SimpleDateFormat("yyyy-MM-dd").parse("2012-05-29")); person.setDead(false); person.setVoided(false); person.setBirthdateEstimated(false); person.setId(345); hibernatePersonDAO.savePerson(person); Person savedPerson = hibernatePersonDAO.getPerson(345); Assert.assertEquals(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2012-05-29 15:23:56"), savedPerson.getBirthDateTime()); }
/** * @see Person#getAge(Date) */ @Test public void getAge_shouldGetAgeAfterBirthday() { Calendar birthdate = Calendar.getInstance(); birthdate.set(2006, Calendar.JUNE, 2); Calendar onDate = Calendar.getInstance(); onDate.set(2008, Calendar.JUNE, 3); Person person = new Person(); person.setBirthdate(birthdate.getTime()); assertEquals(person.getAge(onDate.getTime()), 2, 0); }
originalPerson.setBirthdate(date); originalPerson.setBirthdateEstimated(false); originalPerson.setUuid("abc123");
/** * @see Person#getAge(Date) */ @Test public void getAge_shouldGetAgeOnBirthdayWithMinutesDefined() { Calendar birthdate = Calendar.getInstance(); birthdate.set(2006, Calendar.JUNE, 2, 9, 9, 9); Calendar onDate = Calendar.getInstance(); onDate.set(2008, Calendar.JUNE, 2, 7, 7, 7); Person person = new Person(); person.setBirthdate(birthdate.getTime()); assertEquals(person.getAge(onDate.getTime()), 2, 0); }
/** * @see Person#getAge(Date) */ @Test public void getAge_shouldGetAgeOnBirthdayWithNoMinutesDefined() { Calendar birthdate = Calendar.getInstance(); birthdate.set(2006, Calendar.JUNE, 2); Calendar onDate = Calendar.getInstance(); onDate.set(2008, Calendar.JUNE, 2); Person person = new Person(); person.setBirthdate(birthdate.getTime()); assertEquals(person.getAge(onDate.getTime()), 2, 0); }
/** * @see Person#getAge(Date) */ @Test public void getAge_shouldGetAgeWithGivenDateBeforeDeath() { Calendar birthdate = Calendar.getInstance(); birthdate.set(1990, Calendar.JUNE, 2); Calendar deathDate = Calendar.getInstance(); deathDate.set(2000, Calendar.JUNE, 3); Calendar givenDate = Calendar.getInstance(); givenDate.set(1995, Calendar.JUNE, 3); Person person = new Person(); person.setBirthdate(birthdate.getTime()); person.setDead(true); person.setDeathDate(deathDate.getTime()); assertEquals(5, person.getAge(givenDate.getTime()), 0); }
/** * @see Person#getAge() */ @Test public void getAge_shouldGetAgeAfterDeath() { Calendar birthdate = Calendar.getInstance(); birthdate.set(1990, Calendar.JUNE, 2); Calendar deathDate = Calendar.getInstance(); deathDate.set(2000, Calendar.JUNE, 3); Person person = new Person(); person.setBirthdate(birthdate.getTime()); person.setDead(true); person.setDeathDate(deathDate.getTime()); assertEquals(10, person.getAge(), 0); }
/** * @see Person#getAge(Date) */ @Test public void getAge_shouldGetAgeWithGivenDateAfterDeath() { Calendar birthdate = Calendar.getInstance(); birthdate.set(1990, Calendar.JUNE, 2); Calendar deathDate = Calendar.getInstance(); deathDate.set(2000, Calendar.JUNE, 3); Calendar givenDate = Calendar.getInstance(); givenDate.set(2010, Calendar.JUNE, 3); Person person = new Person(); person.setBirthdate(birthdate.getTime()); person.setDead(true); person.setDeathDate(deathDate.getTime()); assertEquals(10, person.getAge(givenDate.getTime()), 0); }
/** * @see Person#getAge(Date) */ @Test public void getAge_shouldGetAgeWithGivenDateBeforeBirth() { Calendar birthdate = Calendar.getInstance(); birthdate.set(1990, Calendar.JUNE, 2); Calendar deathDate = Calendar.getInstance(); deathDate.set(2000, Calendar.JUNE, 3); Calendar givenDate = Calendar.getInstance(); givenDate.set(1985, Calendar.JUNE, 3); Person person = new Person(); person.setBirthdate(birthdate.getTime()); person.setDead(true); person.setDeathDate(deathDate.getTime()); assertEquals(-5, person.getAge(givenDate.getTime()), 0); }
@Test public void shouldClearMillisecondsWhenUpdatingAnExistingObject() { Date dateWithMillisecond = new Date(567L); Date dateWithoutMillisecond = new Date(0L); Person person = personService.getPerson(1); person.setBirthdate(dateWithMillisecond); personService.savePerson(person); Context.flushSession(); assertThat(person.getBirthdate(), is(dateWithoutMillisecond)); }
/** * @throws ParseException * @see Person#getBirthDateTime() */ @Test public void getBirthDateTime_shouldReturnNullIfBirthtimeIsNull() throws ParseException { Person person = new Person(); person.setBirthdate(new SimpleDateFormat("yyyy-MM-dd").parse("2012-01-01")); person.setBirthtime(null); Assert.assertNull(person.getBirthDateTime()); }
/** * @see Person#getBirthDateTime() */ @Test public void getBirthDateTime_shouldReturnNullIfBirthdateIsNull() { Person person = new Person(); person.setBirthdate(null); Assert.assertNull(person.getBirthDateTime()); }
@Test public void shouldClearMillisecondsWhenSavingANewObject() { Date dateWithMillisecond = new Date(567L); Date dateWithoutMillisecond = new Date(0L); Person person = new Person(); person.addName(new PersonName("Alice", null, "Paul")); person.setGender("F"); person.setBirthdate(dateWithMillisecond); personService.savePerson(person); Context.flushSession(); assertThat(person.getBirthdate(), is(dateWithoutMillisecond)); }
Calendar calendar = Calendar.getInstance(); calendar.set(1980, 01, 01); person.setBirthdate(calendar.getTime()); person.setGender("M"); user.setPerson(person);
public void authenticateMockUser() { User user = new User(); user.setUuid("1010d442-e134-11de-babe-001e378eb67e"); user.setUserId(1); user.setUsername("admin"); user.addRole(new Role(RoleConstants.SUPERUSER)); Person person = new Person(); person.setUuid("6adb7c42-cfd2-4301-b53b-ff17c5654ff7"); person.setId(1); person.addName(new PersonName("Bob", "", "Smith")); Calendar calendar = Calendar.getInstance(); calendar.set(1980, 01, 01); person.setBirthdate(calendar.getTime()); person.setGender("M"); user.setPerson(person); when(userContext.getAuthenticatedUser()).thenReturn(user); when(userContext.isAuthenticated()).thenReturn(true); }
/** * @see org.openmrs.validator.PersonValidator#validate(Object,Errors) */ @Test public void validate_shouldPassValidationIfFieldLengthsAreCorrect() { Person person = new Person(1); person.setBirthdate(new Date()); person.setGender("g"); person.setPersonVoided(true); person.setPersonVoidReason("voidReason"); Errors errors = new BindException(person, "person"); PersonValidator personValidator = new PersonValidator(); personValidator.validate(person, errors); Assert.assertFalse(errors.hasErrors()); }
/** * @see org.openmrs.validator.PersonValidator#validate(Object,Errors) */ @Test public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { Person person = new Person(1); person.setBirthdate(new Date()); person.setGender("too long text too long too long text too long text too long text"); person.setPersonVoided(true); person .setPersonVoidReason("too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text"); Errors errors = new BindException(person, "person"); PersonValidator personValidator = new PersonValidator(); personValidator.validate(person, errors); Assert.assertTrue(errors.hasFieldErrors("gender")); Assert.assertTrue(errors.hasFieldErrors("personVoidReason")); }