@Override public Name mapFieldSet(FieldSet fs) { return new Name(fs.readString(0), fs.readString(1), 0); } });
@Override public Name mapFieldSet(FieldSet fs) { return new Name(fs.readString(1), fs.readString(0), 0); } });
@Override public Name mapFieldSet(FieldSet fs) { return new Name(fs.readString(0), fs.readString(1), 0); } });
@Test(expected = IllegalStateException.class) public void testMapperKeyNotFound() throws Exception { Map<String, LineTokenizer> tokenizers = new HashMap<>(); tokenizers.put("foo*", new LineTokenizer() { @Override public FieldSet tokenize(String line) { return new DefaultFieldSet(new String[] { "a", "b" }); } }); tokenizers.put("bar*", new LineTokenizer() { @Override public FieldSet tokenize(String line) { return new DefaultFieldSet(new String[] { "c", "d" }); } }); mapper.setTokenizers(tokenizers); Map<String, FieldSetMapper<Name>> fieldSetMappers = new HashMap<>(); fieldSetMappers.put("foo*", new FieldSetMapper<Name>() { @Override public Name mapFieldSet(FieldSet fs) { return new Name(fs.readString(0), fs.readString(1), 0); } }); mapper.setFieldSetMappers(fieldSetMappers); Name name = mapper.mapLine("bar", 1); assertEquals(new Name("d", "c", 0), name); } }
@Test public void testExtract_invalidProperty() throws Exception { extractor.setNames(new String[] { "first", "last", "birthday" }); extractor.afterPropertiesSet(); String first = "Alan"; String last = "Turing"; int born = 1912; Name n = new Name(first, last, born); try { extractor.extract(n); fail(); } catch (NotReadablePropertyException e) { assertTrue(e.getMessage().startsWith("Invalid property 'birthday'")); } }
@Test public void testExtract() throws Exception { extractor.setNames(new String[] { "first", "last", "born" }); extractor.afterPropertiesSet(); String first = "Alan"; String last = "Turing"; int born = 1912; Name n = new Name(first, last, born); Object[] values = extractor.extract(n); assertEquals(3, values.length); assertEquals(first, values[0]); assertEquals(last, values[1]); assertEquals(born, values[2]); }