Skip to content

Commit 97f2a19

Browse files
ArtDuAlexey Kuzin
authored andcommitted
Rename converter and add test
1 parent a1f4804 commit 97f2a19

File tree

3 files changed

+38
-6
lines changed

3 files changed

+38
-6
lines changed

src/main/java/io/tarantool/driver/mappers/converters/value/MapValueToTarantoolTupleResultConverter.java renamed to src/main/java/io/tarantool/driver/mappers/converters/value/RowsMetadataToTarantoolTupleResultConverter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
/**
1616
* @author Artyom Dubinin
1717
*/
18-
public class MapValueToTarantoolTupleResultConverter
18+
public class RowsMetadataToTarantoolTupleResultConverter
1919
implements ValueConverter<MapValue, TarantoolResult<TarantoolTuple>> {
2020

2121
private static final long serialVersionUID = -5228606294087295535L;
@@ -25,7 +25,7 @@ public class MapValueToTarantoolTupleResultConverter
2525

2626
private final ArrayValueToTarantoolTupleConverter tupleConverter;
2727

28-
public MapValueToTarantoolTupleResultConverter(ArrayValueToTarantoolTupleConverter tupleConverter) {
28+
public RowsMetadataToTarantoolTupleResultConverter(ArrayValueToTarantoolTupleConverter tupleConverter) {
2929
super();
3030
this.tupleConverter = tupleConverter;
3131
}

src/main/java/io/tarantool/driver/mappers/factories/RowsMetadataToTarantoolTupleResultMapperFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import io.tarantool.driver.mappers.MessagePackValueMapper;
77
import io.tarantool.driver.mappers.TarantoolResultMapper;
88
import io.tarantool.driver.mappers.converters.value.ArrayValueToTarantoolTupleConverter;
9-
import io.tarantool.driver.mappers.converters.value.MapValueToTarantoolTupleResultConverter;
9+
import io.tarantool.driver.mappers.converters.value.RowsMetadataToTarantoolTupleResultConverter;
1010
import org.msgpack.value.ValueType;
1111

1212
/**
@@ -54,7 +54,7 @@ public TarantoolResultMapper<TarantoolTuple> withRowsMetadataToTarantoolTupleRes
5454
return withConverterWithoutTargetClass(
5555
messagePackMapper.copy(),
5656
ValueType.MAP,
57-
new MapValueToTarantoolTupleResultConverter(tupleConverter)
57+
new RowsMetadataToTarantoolTupleResultConverter(tupleConverter)
5858
);
5959
}
6060

@@ -64,7 +64,7 @@ public TarantoolResultMapper<TarantoolTuple> withRowsMetadataToTarantoolTupleRes
6464
return withConverterWithoutTargetClass(
6565
valueMapper,
6666
ValueType.MAP,
67-
new MapValueToTarantoolTupleResultConverter(tupleConverter)
67+
new RowsMetadataToTarantoolTupleResultConverter(tupleConverter)
6868
);
6969
}
7070
}

src/test/java/io/tarantool/driver/mappers/TarantoolResultMapperTest.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,21 @@
1212
import io.tarantool.driver.mappers.factories.ResultMapperFactoryFactory;
1313
import org.junit.jupiter.api.Test;
1414
import org.msgpack.value.ArrayValue;
15+
import org.msgpack.value.ImmutableMapValue;
16+
import org.msgpack.value.MapValue;
17+
import org.msgpack.value.StringValue;
1518
import org.msgpack.value.Value;
1619
import org.msgpack.value.ValueFactory;
1720

1821
import java.util.Arrays;
22+
import java.util.HashMap;
1923
import java.util.List;
2024

2125
import static org.junit.jupiter.api.Assertions.assertEquals;
2226

2327
class TarantoolResultMapperTest {
2428
@Test
25-
void testWithTarantoolTuple() {
29+
void testWithArrayTarantoolTuple() {
2630
MessagePackMapper defaultMapper = DefaultMessagePackMapperFactory.getInstance().defaultComplexTypesMapper();
2731
ResultMapperFactoryFactoryImpl
2832
mapperFactoryFactory = new ResultMapperFactoryFactoryImpl();
@@ -44,6 +48,34 @@ void testWithTarantoolTuple() {
4448
assertEquals(nestedList2, result.get(1).getList(2));
4549
}
4650

51+
@Test
52+
void testWithRowsMetadataTarantoolTuple() {
53+
MessagePackMapper defaultMapper = DefaultMessagePackMapperFactory.getInstance().defaultComplexTypesMapper();
54+
ResultMapperFactoryFactoryImpl
55+
mapperFactoryFactory = new ResultMapperFactoryFactoryImpl();
56+
TarantoolResultMapper<TarantoolTuple> mapper = mapperFactoryFactory
57+
.rowsMetadataTupleResultMapperFactory().withRowsMetadataToTarantoolTupleResultConverter(defaultMapper);
58+
List<Object> nestedList1 = Arrays.asList("nested", "array", 1);
59+
TarantoolTuple tupleOne = new TarantoolTupleImpl(Arrays.asList("abc", 1234, nestedList1), defaultMapper);
60+
List<Object> nestedList2 = Arrays.asList("nested", "array", 2);
61+
TarantoolTuple tupleTwo = new TarantoolTupleImpl(Arrays.asList("def", 5678, nestedList2), defaultMapper);
62+
ArrayValue testTuples = ValueFactory.newArray(
63+
tupleOne.toMessagePackValue(defaultMapper), tupleTwo.toMessagePackValue(defaultMapper));
64+
HashMap<StringValue, Value> rowsMetadata = new HashMap<StringValue, Value>() {{
65+
put(ValueFactory.newString("metadata"), ValueFactory.newArray());
66+
put(ValueFactory.newString("rows"), testTuples);
67+
}};
68+
MapValue mpRowsMetadata = ValueFactory.newMap(rowsMetadata);
69+
TarantoolResult<TarantoolTuple> result = mapper.fromValue(mpRowsMetadata, TarantoolTupleResult.class);
70+
assertEquals(2, result.size());
71+
assertEquals("abc", result.get(0).getString(0));
72+
assertEquals(1234, result.get(0).getInteger(1));
73+
assertEquals(nestedList1, result.get(0).getList(2));
74+
assertEquals("def", result.get(1).getString(0));
75+
assertEquals(5678, result.get(1).getInteger(1));
76+
assertEquals(nestedList2, result.get(1).getList(2));
77+
}
78+
4779
@Test
4880
void testWithCustomTuple() {
4981
MessagePackMapper defaultMapper = DefaultMessagePackMapperFactory.getInstance().defaultComplexTypesMapper();

0 commit comments

Comments
 (0)