Fix locale dependent unit test
This commit is contained in:
parent
e9c09c6ba0
commit
54fdd44189
|
@ -1,51 +1,30 @@
|
|||
package ca.uhn.fhir.model.primitive;
|
||||
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import ca.uhn.fhir.model.api.TemporalPrecisionEnum;
|
||||
|
||||
public class BaseDateTimeDtTest {
|
||||
private SimpleDateFormat myDateInstantParser;
|
||||
private static Locale ourDefaultLocale;
|
||||
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(BaseDateTimeDtTest.class);
|
||||
|
||||
private SimpleDateFormat myDateInstantParser;
|
||||
|
||||
@Before
|
||||
public void before() {
|
||||
myDateInstantParser = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testToHumanDisplay() {
|
||||
DateTimeDt dt = new DateTimeDt("2012-01-05T12:00:00-08:00");
|
||||
String human = dt.toHumanDisplay();
|
||||
ourLog.info(human);
|
||||
assertEquals("Jan 5, 2012 12:00:00 PM", human);
|
||||
}
|
||||
|
||||
/**
|
||||
* See HAPI #101 - https://github.com/jamesagnew/hapi-fhir/issues/101
|
||||
*/
|
||||
@Test
|
||||
public void testPrecisionRespectedForSetValueWithPrecision() throws Exception {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(myDateInstantParser.parse("2012-01-02 22:31:02.333"));
|
||||
cal.setTimeZone(TimeZone.getTimeZone("EST"));
|
||||
|
||||
Date time = cal.getTime();
|
||||
|
||||
DateDt date = new DateDt();
|
||||
date.setValue(time, TemporalPrecisionEnum.DAY);
|
||||
assertEquals("2012-01-02", date.getValueAsString());
|
||||
}
|
||||
|
||||
/**
|
||||
* See HAPI #101 - https://github.com/jamesagnew/hapi-fhir/issues/101
|
||||
*/
|
||||
|
@ -54,13 +33,56 @@ public class BaseDateTimeDtTest {
|
|||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(myDateInstantParser.parse("2012-01-02 22:31:02.333"));
|
||||
cal.setTimeZone(TimeZone.getTimeZone("EST"));
|
||||
|
||||
|
||||
Date time = cal.getTime();
|
||||
|
||||
|
||||
DateDt date = new DateDt();
|
||||
date.setValue(time);
|
||||
assertEquals("2012-01-02", date.getValueAsString());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* See HAPI #101 - https://github.com/jamesagnew/hapi-fhir/issues/101
|
||||
*/
|
||||
@Test
|
||||
public void testPrecisionRespectedForSetValueWithPrecision() throws Exception {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(myDateInstantParser.parse("2012-01-02 22:31:02.333"));
|
||||
cal.setTimeZone(TimeZone.getTimeZone("EST"));
|
||||
|
||||
Date time = cal.getTime();
|
||||
|
||||
DateDt date = new DateDt();
|
||||
date.setValue(time, TemporalPrecisionEnum.DAY);
|
||||
assertEquals("2012-01-02", date.getValueAsString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testToHumanDisplay() {
|
||||
DateTimeDt dt = new DateTimeDt("2012-01-05T12:00:00-08:00");
|
||||
String human = dt.toHumanDisplay();
|
||||
ourLog.info(human);
|
||||
assertThat(human, containsString("2012"));
|
||||
assertThat(human, containsString("12:00:00"));
|
||||
}
|
||||
|
||||
public static void afterClass() {
|
||||
Locale.setDefault(ourDefaultLocale);
|
||||
}
|
||||
|
||||
@BeforeClass
|
||||
public static void beforeClass() {
|
||||
/*
|
||||
* We cache the default locale, but temporarily set it to a random value during this test. This helps ensure
|
||||
* that there are no language specific dependencies in the test.
|
||||
*/
|
||||
ourDefaultLocale = Locale.getDefault();
|
||||
|
||||
Locale[] available = Locale.getAvailableLocales();
|
||||
Locale newLocale = available[(int) (Math.random() * available.length)];
|
||||
Locale.setDefault(newLocale);
|
||||
|
||||
ourLog.info("Tests are running in locale: " + newLocale.getDisplayName());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue