@Test public void testTokenizeSmallerStringThanRanges() { tokenizer.setColumns(new Range[] { new Range(1, 5), new Range(6, 10), new Range(11, 15) }); try { tokenizer.tokenize("12345"); fail("Expected IncorrectLineLengthException"); } catch (IncorrectLineLengthException ex) { assertEquals(15, ex.getExpectedLength()); assertEquals(5, ex.getActualLength()); assertEquals("12345", ex.getInput()); } }
@Test public void testLongerLines() throws Exception { tokenizer.setColumns(new Range[] { new Range(1, 10), new Range(11, 25), new Range(26, 30) }); line = "H1 12345678 1234567890"; try { tokenizer.tokenize(line); fail("Expected IncorrectLineLengthException"); } catch (IncorrectLineLengthException ex) { assertEquals(30, ex.getExpectedLength()); assertEquals(35, ex.getActualLength()); assertEquals(line, ex.getInput()); } }
/** * if null or empty string is tokenized, tokenizer returns empty fieldset * (with no tokens). */ @Test public void testTokenizeEmptyString() { tokenizer.setColumns(new Range[] { new Range(1, 5), new Range(6, 10), new Range(11, 15) }); try { tokenizer.tokenize(""); fail("Expected IncorrectLineLengthException"); } catch (IncorrectLineLengthException ex) { assertEquals(15, ex.getExpectedLength()); assertEquals(0, ex.getActualLength()); assertEquals("", ex.getInput()); } }