126 lines
3.9 KiB
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)));
|
|
}
|
|
}
|