@Override protected ValueOption<?> newObject() { return new DateTimeOption(); }
/** * test for date-time values. * @throws Exception if failed */ @Test public void datetime_values_direct() throws Exception { dateTimeFormat = "yyyyMMddHHmmss"; assertRestorable(new DateTimeOption(new DateTime(2011, 3, 31, 23, 59, 59))); assertRestorable(new DateTimeOption(new DateTime(1971, 4, 1, 2 ,3, 4))); assertRestorable(new DateTimeOption()); }
/** * parse. */ @Test public void parse() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder().build(); checkParse(adapter, "2016-12-31 12:34:56", new DateTimeOption(dt(2016, 12, 31, 12, 34, 56))); checkParse(adapter, "2017-01-01 12:34:56", new DateTimeOption(dt(2017, 1, 1, 12, 34, 56))); checkParse(adapter, "2017-01-02 12:34:56", new DateTimeOption(dt(2017, 1, 2, 12, 34, 56))); }
/** * emit. */ @Test public void emit() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder().build(); checkEmit(adapter, new DateTimeOption(dt(2016, 12, 31, 12, 34, 56)), "2016-12-31 12:34:56"); checkEmit(adapter, new DateTimeOption(dt(2017, 1, 1, 12, 34, 56)), "2017-01-01 12:34:56"); checkEmit(adapter, new DateTimeOption(dt(2017, 1, 2, 12, 34, 56)), "2017-01-02 12:34:56"); }
/** * parse w/ custom format - default. */ @Test public void parse_format_custom() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder() .withDateTimeFormat("yyyy -- MM -- dd + HH * mm * ss") .build(); equivalent(adapter, "2016 -- 12 -- 31 + 12 * 34 * 56", new DateTimeOption(dt(2016, 12, 31, 12, 34, 56))); equivalent(adapter, "2017 -- 01 -- 01 + 12 * 34 * 56", new DateTimeOption(dt(2017, 1, 1, 12, 34, 56))); equivalent(adapter, "2017 -- 01 -- 02 + 12 * 34 * 56", new DateTimeOption(dt(2017, 1, 2, 12, 34, 56))); }
/** * parse w/ custom format - direct. */ @Test public void parse_format_direct() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder() .withDateTimeFormat("yyyyMMddHHmmss") .build(); equivalent(adapter, "20161231123456", new DateTimeOption(dt(2016, 12, 31, 12, 34, 56))); equivalent(adapter, "20170101123456", new DateTimeOption(dt(2017, 1, 1, 12, 34, 56))); equivalent(adapter, "20170102123456", new DateTimeOption(dt(2017, 1, 2, 12, 34, 56))); }
/** * parse w/ custom format - default. */ @Test public void parse_format_default() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder() .withDateTimeFormat("yyyy'x'MM'x'dd'y'HH'z'mm'z'ss") .build(); equivalent(adapter, "2016x12x31y12z34z56", new DateTimeOption(dt(2016, 12, 31, 12, 34, 56))); equivalent(adapter, "2017x01x01y12z34z56", new DateTimeOption(dt(2017, 1, 1, 12, 34, 56))); equivalent(adapter, "2017x01x02y12z34z56", new DateTimeOption(dt(2017, 1, 2, 12, 34, 56))); }
/** * test for or w/ int. */ @Test public void intOr() { DateTimeOption option = new DateTimeOption(); assertThat(option.or(100), is(100L)); assertThat(option.isNull(), is(true)); option.modify(200); assertThat(option.or(300), is(200L)); }
/** * test for set elapsed seconds. */ @Test public void setLong() { DateTimeOption option = new DateTimeOption(); option.modify(500); assertThat(option.isNull(), is(false)); assertThat(option.get(), is(time(500))); }
/** * emit - null. */ @Test public void emit_null() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder().build(); checkEmit(adapter, new DateTimeOption(), null); }
/** * parse - empty. */ @Test public void parse_empty() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder().build(); checkMalformed(adapter, "", new DateTimeOption()); }
/** * parse - invalid. */ @Test public void parse_invalid() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder().build(); checkMalformed(adapter, "Hello, world!", new DateTimeOption()); }
/** * test for date-time type. */ @Test public void string() { DateTimeOption option = new DateTimeOption(); option.modify(time(999)); assertThat(option.isNull(), is(false)); assertThat(option.get(), is(time(999))); }
/** * test for modify w/ null. */ @Test public void modifyNull() { DateTimeOption option = new DateTimeOption(); option.modify(time(100)); assertThat(option.isNull(), is(false)); option.modify((DateTime) null); assertThat(option.isNull(), is(true)); }
/** * emit - null w/ format. */ @Test public void emit_null_format() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder() .withNullFormat("") .build(); checkEmit(adapter, new DateTimeOption(), ""); }
/** * test for Writable. */ @Test public void writable() { DateTimeOption option = new DateTimeOption(); option.modify(time(100)); DateTimeOption restored = restore(option); assertThat(option.get(), is(restored.get())); }
/** * parse - null. */ @Test public void parse_null() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder() .withNullFormat("") .build(); checkParse(adapter, "", new DateTimeOption()); }
/** * test for Writable w/ min. */ @Test public void writable_0() { DateTimeOption option = new DateTimeOption(); option.modify(time(0)); DateTimeOption restored = restore(option); assertThat(option.get(), is(restored.get())); }
/** * datetime placeholder. * @throws Exception if failed */ @Test public void placeholder_datetime() throws Exception { Mock mock = new Mock(spec(DATETIME, "yyyy-MM-dd/HH")); mock.setMock(new DateTimeOption(new DateTime(2012, 2, 3, 4, 5, 6))); assertThat(mock.apply(), is("2012-02-03/04")); }
/** * w/ timezone. */ @Test public void timezone() { DateTimeOptionFieldAdapter adapter = DateTimeOptionFieldAdapter.builder() .withTimeZone("UTC") .build(); equivalent(adapter, "2017-01-02 12:34:56", new DateTimeOption(dt(2017, 1, 2, 12 - 8, 34, 56))); }