use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.
the class CsvParserTest method testDSLMapToTuple2WithDefaultHeader.
@Test
public void testDSLMapToTuple2WithDefaultHeader() throws IOException {
Iterator<Tuple2<String, String>> iterator = CsvParser.mapTo(String.class, String.class).defaultHeaders().iterator(new StringReader("value1,value2"));
assertTrue(iterator.hasNext());
Tuple2<String, String> tuple2 = iterator.next();
assertEquals("value1", tuple2.first());
assertEquals("value2", tuple2.second());
assertFalse(iterator.hasNext());
}
use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.
the class CsvParserTest method testDSLWitStaticMapper.
@Test
public void testDSLWitStaticMapper() throws IOException {
Iterator<Tuple2<String, String>> iterator = CsvParser.<Tuple2<String, String>>mapTo(Tuples.typeDef(String.class, String.class)).headers("0", "1").iterator(new StringReader("value1,value2"));
assertTrue(iterator.hasNext());
Tuple2<String, String> tuple2 = iterator.next();
assertEquals("value1", tuple2.first());
assertEquals("value2", tuple2.second());
assertFalse(iterator.hasNext());
}
use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.
the class JdbcMapperTupleTest method testIssue450.
@Test
public void testIssue450() throws Exception {
JdbcMapper<Tuple2<Integer, List<Privilege>>> mapper = JdbcMapperFactory.newInstance().reflectionService(ReflectionService.newInstance().withSelfScoreFullName(true)).addKeys("resource_id", "id").newBuilder(new TypeReference<Tuple2<Integer, List<Privilege>>>() {
}).addMapping("id", 1, 4).addMapping("name", 2, 12).addMapping("resource_id", 3, 4).mapper();
Connection dbConnection = DbHelper.getDbConnection(DbHelper.TargetDB.POSTGRESQL);
if (dbConnection == null) {
return;
}
Statement statement = dbConnection.createStatement();
ResultSet rs = statement.executeQuery("with \n" + "\tresource_privileges(resource_id, privilege_id) AS (VALUES(1, 10), (2, 10), (3, 11)),\n" + "\tprivilege (id, name) as (values(10, 'write'), ('11', 'read'))\n" + "select privilege.id, privilege.name, resource_privileges.resource_id\n" + "from privilege join resource_privileges on resource_privileges.privilege_id = privilege.id\n" + "order by resource_privileges.resource_id");
List<Tuple2<Integer, List<Privilege>>> list = mapper.forEach(rs, new ListCollector<Tuple2<Integer, List<Privilege>>>()).getList();
assertEquals(2, list.size());
assertEquals((Integer) 10, list.get(0).first());
assertEquals((Integer) 11, list.get(1).first());
assertEquals(2, list.get(0).second().size());
assertEquals(1, list.get(1).second().size());
dbConnection.close();
}
use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.
the class SettableDataSetterFactoryTest method testSetOfTuple.
@Test
public void testSetOfTuple() throws Exception {
TupleType ut = TupleType.of(DataType.text(), DataType.cint());
Set<Tuple2<String, Integer>> values = new HashSet<Tuple2<String, Integer>>(Arrays.asList(new Tuple2<String, Integer>("aa", 1), new Tuple2<String, Integer>("bb", 2)));
Setter<SettableByIndexData, Set<Tuple2<String, Integer>>> setter = factory.getSetter(newPM(new TypeReference<Set<Tuple2<String, Integer>>>() {
}.getType(), DataType.set(ut)));
setter.set(statement, values);
setter.set(statement, null);
ArgumentCaptor<Set> captor = ArgumentCaptor.forClass(Set.class);
verify(statement).setSet(eq(0), captor.capture());
Set value = captor.getValue();
assertEquals(2, value.size());
for (Object o : value) {
TupleValue tv = (TupleValue) o;
String str = tv.getString(0);
int i = tv.getInt(1);
switch(i) {
case 1:
assertEquals("aa", str);
break;
case 2:
assertEquals("bb", str);
break;
default:
fail();
}
}
verify(statement).setToNull(0);
}
use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.
the class TupleClassMetaTest method testRespecify.
@Test
public void testRespecify() throws ClassNotFoundException, MalformedURLException {
ClassLoader cl = new URLClassLoader(new URL[] { LibrarySetsClassLoader.findUrl(Tuple2.class, getClass().getClassLoader()) }, null) {
@Override
public InputStream getResourceAsStream(String name) {
return null;
}
};
ReflectionService reflectionService = new ReflectionService(null) {
};
Class<?> tuple2Class = cl.loadClass(Tuple2.class.getName());
TupleClassMeta classMeta = new TupleClassMeta(tuple2Class, reflectionService);
List<InstantiatorDefinition> instantiatorDefinitions = classMeta.getInstantiatorDefinitions();
assertEquals(1, instantiatorDefinitions.size());
assertEquals("element0", instantiatorDefinitions.get(0).getParameters()[0].getName());
}
Aggregations