@Override public Date readDate(String name) { try { return readDate(indexOf(name)); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(e.getMessage() + ", name: [" + name + "]"); } }
@Override public Date readDate(String name, Date defaultValue) { try { return readDate(indexOf(name), defaultValue); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(e.getMessage() + ", name: [" + name + "]"); } }
@Override public Date readDate(int index, String pattern, Date defaultValue) { String candidate = readAndTrim(index); return StringUtils.hasText(candidate) ? readDate(index, pattern) : defaultValue; }
@Override public Date readDate(String name, String pattern) { try { return readDate(indexOf(name), pattern); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(e.getMessage() + ", name: [" + name + "]"); } }
@Override public Date readDate(String name, String pattern, Date defaultValue) { try { return readDate(indexOf(name), pattern, defaultValue); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(e.getMessage() + ", name: [" + name + "]"); } }
@Test public void testReadDateInvalid() throws Exception { try { fieldSet.readDate(0); fail("field value is not a date, exception expected"); } catch (IllegalArgumentException e) { assertTrue(e.getMessage().indexOf("TestString") > 0); } }
@Test public void testReadDateByNameInvalidWithPattern() throws Exception { try { fieldSet.readDate("String", "dd-MM-yyyy"); fail("field value is not a date, exception expected"); } catch (IllegalArgumentException e) { assertTrue(e.getMessage().indexOf("dd-MM-yyyy") > 0); assertTrue(e.getMessage().indexOf("String") > 0); } }
@Test public void testReadDateInvalidWithPattern() throws Exception { try { fieldSet.readDate(0, "dd-MM-yyyy"); fail("field value is not a date, exception expected"); } catch (IllegalArgumentException e) { assertTrue(e.getMessage().indexOf("dd-MM-yyyy") > 0); } }
@Test public void testReadDateInvalidByName() throws Exception { try { fieldSet.readDate("String"); fail("field value is not a date, exception expected"); } catch (IllegalArgumentException e) { assertTrue(e.getMessage().indexOf("name: [String]") > 0); } }
@Test public void testStrictReadDateWithPatternAndStrangeDate() throws Exception { fieldSet = new DefaultFieldSet(new String[] {"5550212"}); try { System.err.println(fieldSet.readDate(0, "yyyyMMdd")); fail("field value is not a valid date for strict parser, exception expected"); } catch (IllegalArgumentException e) { String message = e.getMessage(); assertTrue("Message did not contain: " + message, message.indexOf("yyyyMMdd") > 0); } }
@Test public void testReadDateWithFormat() throws Exception { fieldSet = new DefaultFieldSet(new String[] {"13/01/1999"}); SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); fieldSet.setDateFormat(dateFormat); assertEquals(dateFormat.parse("13/01/1999"), fieldSet.readDate(0)); }
@Test public void testStrictReadDateWithPattern() throws Exception { fieldSet = new DefaultFieldSet(new String[] {"50-2-13"}); try { fieldSet.readDate(0, "dd-MM-yyyy"); fail("field value is not a valid date for strict parser, exception expected"); } catch (IllegalArgumentException e) { String message = e.getMessage(); assertTrue("Message did not contain: " + message, message.indexOf("dd-MM-yyyy") > 0); } }
Date defaultDate = new Date(); try { fieldSet.readDate(1, defaultDate); fail("Should throw IllegalArgumentException"); } catch (IllegalArgumentException e) { fieldSet.readDate("String", defaultDate); fail("Should throw IllegalArgumentException"); } catch (IllegalArgumentException e) { fieldSet.readDate(1, "dd-MM-yyyy", defaultDate); fail("Should throw IllegalArgumentException"); } catch (IllegalArgumentException e) { fieldSet.readDate("String", "dd-MM-yyyy", defaultDate); fail("Should throw IllegalArgumentException"); } catch (IllegalArgumentException e) {
@Override public Date readDate(int index, String pattern, Date defaultValue) { String candidate = readAndTrim(index); return StringUtils.hasText(candidate) ? readDate(index, pattern) : defaultValue; }
@Override public Date readDate(String name, String pattern, Date defaultValue) { try { return readDate(indexOf(name), pattern, defaultValue); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(e.getMessage() + ", name: [" + name + "]"); } }
@Override public Date readDate(String name) { try { return readDate(indexOf(name)); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(e.getMessage() + ", name: [" + name + "]"); } }
@Override public Date readDate(String name, Date defaultValue) { try { return readDate(indexOf(name), defaultValue); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(e.getMessage() + ", name: [" + name + "]"); } }