@ -15,6 +15,7 @@
@@ -15,6 +15,7 @@
* /
package org.springframework.data.repository.core.support ;
import static java.util.Arrays.* ;
import static org.assertj.core.api.Assertions.* ;
import io.vavr.control.Try ;
@ -26,6 +27,7 @@ import rx.Observable;
@@ -26,6 +27,7 @@ import rx.Observable;
import rx.Single ;
import java.lang.reflect.Method ;
import java.math.BigDecimal ;
import java.util.Arrays ;
import java.util.Collections ;
import java.util.List ;
@ -34,6 +36,7 @@ import java.util.Optional;
@@ -34,6 +36,7 @@ import java.util.Optional;
import java.util.Set ;
import java.util.stream.Collectors ;
import org.assertj.core.api.SoftAssertions ;
import org.junit.Test ;
import org.reactivestreams.Publisher ;
import org.springframework.dao.InvalidDataAccessApiUsageException ;
@ -45,6 +48,7 @@ import org.springframework.data.util.Streamable;
@@ -45,6 +48,7 @@ import org.springframework.data.util.Streamable;
*
* @author Oliver Gierke
* @author Mark Paluch
* @author Jens Schauder
* /
public class QueryExecutionResultHandlerUnitTests {
@ -354,7 +358,7 @@ public class QueryExecutionResultHandlerUnitTests {
@@ -354,7 +358,7 @@ public class QueryExecutionResultHandlerUnitTests {
@SuppressWarnings ( "unchecked" )
public void convertsIterableIntoStreamable ( ) throws Exception {
Iterable < ? > source = Arrays . asList ( new Object ( ) ) ;
Iterable < ? > source = asList ( new Object ( ) ) ;
Object result = handler . postProcessInvocationResult ( source , getMethod ( "streamable" ) ) ;
@ -372,6 +376,22 @@ public class QueryExecutionResultHandlerUnitTests {
@@ -372,6 +376,22 @@ public class QueryExecutionResultHandlerUnitTests {
assertThat ( result ) . isInstanceOfSatisfying ( Option . class , it - > assertThat ( it . get ( ) ) . isEqualTo ( entity ) ) ;
}
@Test // DATACMNS-1482
public void nestedConversion ( ) throws Exception {
Object result = handler . postProcessInvocationResult ( asList ( BigDecimal . ZERO , BigDecimal . ONE ) ,
getMethod ( "listOfInteger" ) ) ;
assertThat ( result ) . isInstanceOf ( List . class ) ;
List list = ( List ) result ;
SoftAssertions . assertSoftly ( s - > {
// for making the test failure more obvious:
( list ) . forEach ( v - > s . assertThat ( v ) . isInstanceOf ( Integer . class ) ) ;
s . assertThat ( list ) . containsExactly ( 0 , 1 ) ;
} ) ;
}
private static Method getMethod ( String methodName ) throws Exception {
return Sample . class . getMethod ( methodName ) ;
}
@ -406,6 +426,8 @@ public class QueryExecutionResultHandlerUnitTests {
@@ -406,6 +426,8 @@ public class QueryExecutionResultHandlerUnitTests {
// DATACMNS-938
Try < Option < Entity > > tryOfOption ( ) ;
List < Integer > listOfInteger ( ) ;
}
static class Entity { }