toml4j/src/test/java/com/moandjiezana/toml/DateTest.java

74 lines
2.2 KiB
Java

package com.moandjiezana.toml;
import static org.junit.Assert.assertEquals;
import java.util.Calendar;
import java.util.TimeZone;
import org.junit.Test;
public class DateTest {
private static final TimeZone UTC = TimeZone.getTimeZone("UTC");
@Test
public void should_get_date() throws Exception {
Toml toml = new Toml().read("a_date = 2011-11-10T13:12:00Z");
Calendar calendar = Calendar.getInstance(UTC);
calendar.set(2011, Calendar.NOVEMBER, 10, 13, 12, 00);
calendar.set(Calendar.MILLISECOND, 0);
assertEquals(calendar.getTime(), toml.getDate("a_date"));
}
@Test
public void should_get_date_with_offset() throws Exception {
Toml toml = new Toml().read("a_date = 1979-05-27T00:32:00-07:00");
Calendar calendar = Calendar.getInstance(UTC);
calendar.set(1979, Calendar.MAY, 27, 7, 32, 0);
calendar.set(Calendar.MILLISECOND, 0);
assertEquals(calendar.getTime(), toml.getDate("a_date"));
}
@Test
public void should_get_date_with_positive_offset() throws Exception {
Toml toml = new Toml().read("a_date = 1979-05-27T07:32:00+07:00");
Calendar calendar = Calendar.getInstance(UTC);
calendar.set(1979, Calendar.MAY, 27, 0, 32, 0);
calendar.set(Calendar.MILLISECOND, 0);
assertEquals(calendar.getTime(), toml.getDate("a_date"));
}
@Test
public void should_get_date_with_fractional_seconds() throws Exception {
Toml toml = new Toml().read("a_date = 1979-05-27T00:32:00.999Z");
Calendar calendar = Calendar.getInstance(UTC);
calendar.set(1979, Calendar.MAY, 27, 0, 32, 00);
calendar.set(Calendar.MILLISECOND, 999);
assertEquals(calendar.getTime(), toml.getDate("a_date"));
}
@Test
public void should_get_date_with_fractional_seconds_and_offset() throws Exception {
Toml toml = new Toml().read("a_date = 1979-05-27T00:32:00.999-07:00");
Calendar calendar = Calendar.getInstance(UTC);
calendar.set(1979, Calendar.MAY, 27, 7, 32, 00);
calendar.set(Calendar.MILLISECOND, 999);
assertEquals(calendar.getTime(), toml.getDate("a_date"));
}
@Test(expected = IllegalStateException.class)
public void should_fail_on_non_existant_date() throws Exception {
new Toml().read("d = 2012-13-01T15:00:00Z");
}
}