@Override public ShippingInfo mapFieldSet(FieldSet fieldSet) { ShippingInfo info = new ShippingInfo(); info.setShipperId(fieldSet.readString(SHIPPER_ID_COLUMN)); info.setShippingTypeId(fieldSet.readString(SHIPPING_TYPE_ID_COLUMN)); info.setShippingInfo(fieldSet.readString(ADDITIONAL_SHIPPING_INFO_COLUMN)); return info; } }
@Override public CustomerUpdate mapFieldSet(FieldSet fs) { if (fs == null) { return null; } CustomerOperation operation = CustomerOperation.fromCode(fs.readChar(0)); String name = fs.readString(1); BigDecimal credit = fs.readBigDecimal(2); return new CustomerUpdate(operation, name, credit); }
@Test public void testTooManyNamesNotStrict() { tokenizer.setNames(new String[] {"A", "B", "C", "D","E"}); tokenizer.setStrict( false ); FieldSet tokens = tokenizer.tokenize("a,b,c"); assertTrue(TOKEN_MATCHES, tokens.readString(0).equals("a")); assertTrue(TOKEN_MATCHES, tokens.readString(1).equals("b")); assertTrue(TOKEN_MATCHES, tokens.readString(2).equals("c")); assertTrue(TOKEN_MATCHES, tokens.readString(3).equals("")); assertTrue(TOKEN_MATCHES, tokens.readString(4).equals("")); }
Trade(FieldSet fieldSet) { this.isin = fieldSet.readString(0); this.quantity = fieldSet.readLong(1); this.price = fieldSet.readBigDecimal(2); }
@Test public void testAnotherTypeOfRecord() throws Exception { tokenizer.setColumns(new Range[] { new Range(1, 5), new Range(6, 15), new Range(16, 25), new Range(26, 27) }); // test another type of record line = "H2 123456 12345 12"; FieldSet tokens = tokenizer.tokenize(line); assertEquals(4, tokens.getFieldCount()); assertEquals(line.substring(0, 5).trim(), tokens.readString(0)); assertEquals(line.substring(5, 15).trim(), tokens.readString(1)); assertEquals(line.substring(15, 25).trim(), tokens.readString(2)); assertEquals(line.substring(25).trim(), tokens.readString(3)); }
@Test public void testTooFewNamesNotStrict() { tokenizer.setNames(new String[] {"A", "B"}); tokenizer.setStrict(false); FieldSet tokens = tokenizer.tokenize("a,b,c"); assertTrue(TOKEN_MATCHES, tokens.readString(0).equals("a")); assertTrue(TOKEN_MATCHES, tokens.readString(1).equals("b")); }
@Test public void testEmptyString() { FieldSet tokens = tokenizer.tokenize("\"\""); assertTrue(TOKEN_MATCHES, tokens.readString(0).equals("")); }
@Test public void testVanillaFieldSet() throws Exception { FieldSet fieldSet = factory.create(new String[] {"foo", "bar"} ); assertEquals("foo", fieldSet.readString(0)); }
@Test public void testTokenizeWithDelimiterAtEnd() { FieldSet line = tokenizer.tokenize("a,b,c,"); assertEquals(4, line.getFieldCount()); assertEquals("c", line.readString(2)); assertEquals("", line.readString(3)); }
@Test public void testTokenizeSmallerStringThanRangesWithWhitespace() { tokenizer.setColumns(new Range[] { new Range(1, 5), new Range(6, 10) }); FieldSet tokens = tokenizer.tokenize("12345 "); assertEquals("12345", tokens.readString(0)); assertEquals("", tokens.readString(1)); }
@Test public void testDelimitedLineTokenizerNewlineToken() { AbstractLineTokenizer tokenizer = new DelimitedLineTokenizer("\n"); FieldSet line = tokenizer.tokenize("a b\n c"); assertEquals(2, line.getFieldCount()); assertEquals("a b", line.readString(0)); assertEquals("c", line.readString(1)); }
@Test public void testDelimitedLineTokenizerString() { AbstractLineTokenizer tokenizer = new DelimitedLineTokenizer(" b "); FieldSet line = tokenizer.tokenize("a b c"); assertEquals(2, line.getFieldCount()); assertEquals("a", line.readString(0)); assertEquals("c", line.readString(1)); }
@Test public void testTokenizeRegularUse() { tokenizer.setColumns(new Range[] { new Range(1, 2), new Range(3, 7), new Range(8, 12) }); // test shorter line as defined by record descriptor line = "H11234512345"; FieldSet tokens = tokenizer.tokenize(line); assertEquals(3, tokens.getFieldCount()); assertEquals("H1", tokens.readString(0)); assertEquals("12345", tokens.readString(1)); assertEquals("12345", tokens.readString(2)); }
@Test public void testMultiLineField() throws Exception { FieldSet line = tokenizer.tokenize("a,b,c\nrap"); assertEquals(3, line.getFieldCount()); assertEquals("c\nrap", line.readString(2)); }
@Test public void testTokenizeWithNotDefaultQuotes() { tokenizer.setQuoteCharacter('\''); FieldSet line = tokenizer.tokenize("a,b,'c'"); assertEquals(3, line.getFieldCount()); assertEquals("c", line.readString(2)); }
@Test public void testTokenizeOverMultipleLines() { tokenizer = new DelimitedLineTokenizer(";"); FieldSet line = tokenizer.tokenize("value1;\"value2\nvalue2cont\";value3;value4"); assertEquals(4, line.getFieldCount()); assertEquals("value2\nvalue2cont", line.readString(1)); }
@Test public void testNames() { tokenizer.setNames(new String[] {"A", "B", "C"}); FieldSet line = tokenizer.tokenize("a,b,c"); assertEquals(3, line.getFieldCount()); assertEquals("a", line.readString("A")); }
@Test public void testTokenizeWithIncludedFields() { tokenizer.setIncludedFields(new int[] {1,2}); FieldSet line = tokenizer.tokenize("\"a\",\"b\",\"c\",\"d\""); assertEquals(2, line.getFieldCount()); assertEquals("c", line.readString(1)); }
@Test public void testTokenizeWithIncludedFieldsAndNames() { tokenizer.setIncludedFields(new int[] {1,2}); tokenizer.setNames(new String[] {"foo", "bar"}); FieldSet line = tokenizer.tokenize("\"a\",\"b\",\"c\",\"d\""); assertEquals(2, line.getFieldCount()); assertEquals("c", line.readString("bar")); }
@Test(expected=IncorrectTokenCountException.class) public void testTokenizeWithIncludedFieldsAndTooManyNames() { tokenizer.setIncludedFields(new int[] {1,2}); tokenizer.setNames(new String[] {"foo", "bar", "spam"}); FieldSet line = tokenizer.tokenize("\"a\",\"b\",\"c\",\"d\""); assertEquals(2, line.getFieldCount()); assertEquals("c", line.readString("bar")); }