test/java/time/test/java/time/format/TestReducedParser.java

Print this page

        

*** 57,75 **** * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package test.java.time.format; - import java.time.format.*; - import static java.time.temporal.ChronoField.DAY_OF_YEAR; import static java.time.temporal.ChronoField.YEAR; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import java.text.ParsePosition; ! import java.time.format.DateTimeBuilder; import java.time.temporal.TemporalField; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; --- 57,74 ---- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package test.java.time.format; import static java.time.temporal.ChronoField.DAY_OF_YEAR; import static java.time.temporal.ChronoField.YEAR; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import java.text.ParsePosition; ! import java.time.format.DateTimeFormatter; ! import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; import org.testng.annotations.DataProvider; import org.testng.annotations.Test;
*** 93,114 **** } @Test(dataProvider="error") public void test_parse_error(TemporalField field, int width, int baseValue, String text, int pos, Class<?> expected) { try { ! getFormatter0(field, width, baseValue).parseToBuilder(text, new ParsePosition(pos)); } catch (RuntimeException ex) { assertTrue(expected.isInstance(ex)); } } //----------------------------------------------------------------------- public void test_parse_fieldRangeIgnored() throws Exception { ParsePosition pos = new ParsePosition(0); ! DateTimeBuilder dtb = getFormatter0(DAY_OF_YEAR, 3, 10).parseToBuilder("456", pos); assertEquals(pos.getIndex(), 3); ! assertParsed(dtb, DAY_OF_YEAR, 456L); // parsed dayOfYear=456 } //----------------------------------------------------------------------- @DataProvider(name="Parse") Object[][] provider_parse() { --- 92,113 ---- } @Test(dataProvider="error") public void test_parse_error(TemporalField field, int width, int baseValue, String text, int pos, Class<?> expected) { try { ! getFormatter0(field, width, baseValue).parseUnresolved(text, new ParsePosition(pos)); } catch (RuntimeException ex) { assertTrue(expected.isInstance(ex)); } } //----------------------------------------------------------------------- public void test_parse_fieldRangeIgnored() throws Exception { ParsePosition pos = new ParsePosition(0); ! TemporalAccessor parsed = getFormatter0(DAY_OF_YEAR, 3, 10).parseUnresolved("456", pos); assertEquals(pos.getIndex(), 3); ! assertParsed(parsed, DAY_OF_YEAR, 456L); // parsed dayOfYear=456 } //----------------------------------------------------------------------- @DataProvider(name="Parse") Object[][] provider_parse() {
*** 163,198 **** } @Test(dataProvider="Parse") public void test_parse(TemporalField field, int width, int baseValue, String input, int pos, int parseLen, Integer parseVal) { ParsePosition ppos = new ParsePosition(pos); ! DateTimeBuilder dtb = getFormatter0(field, width, baseValue).parseToBuilder(input, ppos); if (ppos.getErrorIndex() != -1) { assertEquals(ppos.getErrorIndex(), parseLen); } else { assertEquals(ppos.getIndex(), parseLen); ! assertParsed(dtb, YEAR, parseVal != null ? (long) parseVal : null); } } @Test(dataProvider="Parse") public void test_parseLenient(TemporalField field, int width, int baseValue, String input, int pos, int parseLen, Integer parseVal) { setStrict(false); ParsePosition ppos = new ParsePosition(pos); ! DateTimeBuilder dtb = getFormatter0(field, width, baseValue).parseToBuilder(input, ppos); if (ppos.getErrorIndex() != -1) { assertEquals(ppos.getErrorIndex(), parseLen); } else { assertEquals(ppos.getIndex(), parseLen); ! assertParsed(dtb, YEAR, parseVal != null ? (long) parseVal : null); } } ! private void assertParsed(DateTimeBuilder dtb, TemporalField field, Long value) { if (value == null) { ! assertEquals(dtb, null); } else { ! assertEquals(dtb.getLong(field), (long)value); } } } --- 162,198 ---- } @Test(dataProvider="Parse") public void test_parse(TemporalField field, int width, int baseValue, String input, int pos, int parseLen, Integer parseVal) { ParsePosition ppos = new ParsePosition(pos); ! TemporalAccessor parsed = getFormatter0(field, width, baseValue).parseUnresolved(input, ppos); if (ppos.getErrorIndex() != -1) { assertEquals(ppos.getErrorIndex(), parseLen); } else { assertEquals(ppos.getIndex(), parseLen); ! assertParsed(parsed, YEAR, parseVal != null ? (long) parseVal : null); } } @Test(dataProvider="Parse") public void test_parseLenient(TemporalField field, int width, int baseValue, String input, int pos, int parseLen, Integer parseVal) { setStrict(false); ParsePosition ppos = new ParsePosition(pos); ! TemporalAccessor parsed = getFormatter0(field, width, baseValue).parseUnresolved(input, ppos); if (ppos.getErrorIndex() != -1) { assertEquals(ppos.getErrorIndex(), parseLen); } else { assertEquals(ppos.getIndex(), parseLen); ! assertParsed(parsed, YEAR, parseVal != null ? (long) parseVal : null); } } ! private void assertParsed(TemporalAccessor parsed, TemporalField field, Long value) { if (value == null) { ! assertEquals(parsed, null); } else { ! assertEquals(parsed.isSupported(field), true); ! assertEquals(parsed.getLong(field), (long) value); } } }