use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.
the class CsvParserTest method testDSLMapWith.
@Test
public void testDSLMapWith() throws IOException {
CsvMapper<Tuple2<String, String>> mapper = CsvMapperFactory.newInstance().newMapper(Tuples.typeDef(String.class, String.class));
Iterator<Tuple2<String, String>> iterator = CsvParser.<Tuple2<String, String>>mapWith(mapper).iterator(new StringReader("val0,val1\nvalue1,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 testDSLMapToTypeReference.
@Test
public void testDSLMapToTypeReference() throws IOException {
Iterator<Tuple2<String, String>> iterator = CsvParser.mapTo(new TypeReference<Tuple2<String, String>>() {
}).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 CsvMapperDateFormatDefinitionTest method testCustomDateFormatOnFactory.
@Test
public void testCustomDateFormatOnFactory() throws IOException, ParseException {
CsvMapperFactory csvMapperFactory = CsvMapperFactory.newInstance();
csvMapperFactory.addColumnDefinition("date0", CsvColumnDefinition.dateFormatDefinition(df1).addTimeZone(tz1));
csvMapperFactory.addColumnDefinition("date1", CsvColumnDefinition.dateFormatDefinition(df2).addTimeZone(tz2));
CsvMapper<Tuple2<Date, Date>> mapper = csvMapperFactory.newMapper(Tuples.typeDef(Date.class, Date.class));
Tuple2<Date, Date> next = mapper.iterator(new StringReader("date0,date1\n20140909,091409")).next();
assertEquals(sdf1.parse("20140909"), next.first());
assertEquals(sdf2.parse("091409"), next.second());
}
use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.
the class ConstantSourceMapperBuilderTest method testIssue495.
@Test
public void testIssue495() throws Exception {
TypeReference<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>> typeReference = new TypeReference<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>>() {
};
ClassMeta<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>> classMeta = this.classMeta.getReflectionService().getClassMeta(typeReference.getType());
Predicate<PropertyMeta<?, ?>> propertyFilter = new Predicate<PropertyMeta<?, ?>>() {
@Override
public boolean test(PropertyMeta<?, ?> propertyMeta) {
return true;
}
};
PropertyFinder<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>> propertyFinder = classMeta.newPropertyFinder(propertyFilter);
PropertyMeta<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>, Object> p1 = propertyFinder.findProperty(new DefaultPropertyNameMatcher("variableName", 0, false, false), new Object[0]);
PropertyMeta<Tuple2<TableA, List<Tuple3<TableB, List<TableC>, List<Tuple2<TableD, List<TableE>>>>>>, Object> p2 = propertyFinder.findProperty(new DefaultPropertyNameMatcher("variableName", 0, false, false), new Object[0]);
System.out.println("p1.getPath() = " + p1.getPath());
System.out.println("p2.getPath() = " + p2.getPath());
}
use of org.simpleflatmapper.tuple.Tuple2 in project SimpleFlatMapper by arnaudroger.
the class TuplesTest method testTuples.
@Test
public void testTuples() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
Tuple2<?, ?> currentTuple = new Tuple2<Object, Object>("v1", "v2");
for (int i = 3; i <= 32; i++) {
Method m = currentTuple.getClass().getDeclaredMethod("tuple" + i, Object.class);
Tuple2<?, ?> nextTuple = (Tuple2<?, ?>) m.invoke(currentTuple, "v" + i);
Tuple2<?, ?> sameTuple = (Tuple2<?, ?>) m.invoke(currentTuple, "v" + i);
Tuple2<?, ?> diffTuple = (Tuple2<?, ?>) m.invoke(currentTuple, "d" + i);
for (int j = 0; j < Math.min(i, 10); j++) {
String m1 = "getElement" + (j);
String m2 = getNumberMethod(j + 1);
assertEquals(nextTuple.getClass().getMethod(m1).invoke(nextTuple), nextTuple.getClass().getMethod(m2).invoke(nextTuple));
}
assertEquals(nextTuple, sameTuple);
assertEquals(nextTuple.hashCode(), sameTuple.hashCode());
assertEquals(nextTuple.toString(), sameTuple.toString());
assertNotEquals(nextTuple, diffTuple);
assertNotEquals(nextTuple.hashCode(), diffTuple.hashCode());
assertNotEquals(nextTuple.toString(), diffTuple.hashCode());
currentTuple = nextTuple;
}
}
Aggregations