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

126 lines
3.9 KiB
Java

package com.moandjiezana.toml;
import static java.util.Arrays.asList;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.TimeZone;
import org.junit.Test;
public class DefaultValueTest {
private static final TimeZone UTC = TimeZone.getTimeZone("UTC");
private static final Calendar CALENDAR = Calendar.getInstance(UTC);
private static final Date _2011_11_10;
private static final Date _2012_11_10;
static {
CALENDAR.set(2011, Calendar.NOVEMBER, 10, 13, 12, 00);
CALENDAR.set(Calendar.MILLISECOND, 0);
_2011_11_10 = CALENDAR.getTime();
CALENDAR.set(Calendar.YEAR, 2012);
_2012_11_10 = CALENDAR.getTime();
}
@Test
public void should_get_string() throws Exception {
Toml toml = new Toml().read("s = \"string value\"");
assertEquals("string value", toml.getString("s", "default string value"));
}
@Test
public void should_get_string_default_value() throws Exception {
Toml toml = new Toml().read("");
assertEquals("default string value", toml.getString("s", "default string value"));
}
@Test
public void should_get_long() throws Exception {
Toml toml = new Toml().read("n = 1001");
assertEquals(Long.valueOf(1001), toml.getLong("n", 1002L));
}
@Test
public void should_get_long_default_value() throws Exception {
Toml toml = new Toml().read("");
assertEquals(Long.valueOf(1002), toml.getLong("n", 1002L));
}
@Test
public void should_get_double() throws Exception {
Toml toml = new Toml().read("n = 0.5");
assertEquals(Double.valueOf(0.5), toml.getDouble("n", Double.valueOf(0.6)));
}
@Test
public void should_get_double_default_value() throws Exception {
Toml toml = new Toml().read("");
assertEquals(Double.valueOf(0.6), toml.getDouble("n", Double.valueOf(0.6)));
}
@Test
public void should_get_boolean() throws Exception {
Toml toml = new Toml().read("b = true");
assertEquals(Boolean.TRUE, toml.getBoolean("b", Boolean.FALSE));
}
@Test
public void should_get_boolean_default_value() throws Exception {
Toml toml = new Toml().read("");
assertEquals(Boolean.FALSE, toml.getBoolean("b", Boolean.FALSE));
}
@Test
public void should_get_date() throws Exception {
Toml toml = new Toml().read("d = 2011-11-10T13:12:00Z");
assertEquals(_2011_11_10, toml.getDate("d", _2012_11_10));
}
@Test
public void should_get_date_default_value() throws Exception {
Toml toml = new Toml().read("");
assertEquals(_2012_11_10, toml.getDate("d", _2012_11_10));
}
@Test
public void should_get_array() throws Exception {
Toml toml = new Toml().read("a = [1, 2, 3]\n b = []");
assertEquals(asList(1L, 2L, 3L), toml.getList("a", asList(3L, 2L, 1L)));
assertEquals(Collections.emptyList(), toml.getList("b", asList(3L, 2L, 1L)));
}
@Test
public void should_get_empty_array() throws Exception {
Toml toml = new Toml().read("a = []");
assertEquals(Collections.emptyList(), toml.getList("a", asList(3L, 2L, 1L)));
}
@Test
public void should_get_array_default_value() throws Exception {
Toml toml = new Toml();
assertEquals(asList(3L, 2L, 1L), toml.getList("a", asList(3L, 2L, 1L)));
}
@Test
public void should_prefer_default_from_constructor() throws Exception {
Toml defaults = new Toml().read("n = 1\n d = 1.1\n b = true\n date = 2011-11-10T13:12:00Z\n s = 'a'\n a = [1, 2, 3]");
Toml toml = new Toml(defaults).read("");
assertEquals(1, toml.getLong("n", 2L).intValue());
assertEquals(1.1, toml.getDouble("d", 2.2), 0);
assertTrue(toml.getBoolean("b", false));
assertEquals(_2011_11_10, toml.getDate("date", _2012_11_10));
assertEquals("a", toml.getString("s", "b"));
assertEquals(asList(1L, 2L, 3L), toml.getList("a", asList(3L, 2L, 1L)));
}
}