File tree Expand file tree Collapse file tree
main/java/org/neo4j/driver/internal/value
test/java/org/neo4j/driver/internal/value Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -112,17 +112,19 @@ public Value get(int index) {
112112
113113 @ Override
114114 public <T > Iterable <T > values (final Function <Value , T > mapFunction ) {
115- var iterator = values .iterator ();
116- return () -> new Iterator <>() {
117- @ Override
118- public boolean hasNext () {
119- return iterator .hasNext ();
120- }
115+ return () -> {
116+ var iterator = values .iterator ();
117+ return new Iterator <>() {
118+ @ Override
119+ public boolean hasNext () {
120+ return iterator .hasNext ();
121+ }
121122
122- @ Override
123- public T next () {
124- return mapFunction .apply (iterator .next ());
125- }
123+ @ Override
124+ public T next () {
125+ return mapFunction .apply (iterator .next ());
126+ }
127+ };
126128 };
127129 }
128130
Original file line number Diff line number Diff line change 2020import static org .hamcrest .MatcherAssert .assertThat ;
2121import static org .junit .jupiter .api .Assertions .assertArrayEquals ;
2222import static org .junit .jupiter .api .Assertions .assertEquals ;
23+ import static org .junit .jupiter .api .Assertions .assertFalse ;
24+ import static org .junit .jupiter .api .Assertions .assertTrue ;
2325import static org .neo4j .driver .Values .value ;
2426
2527import java .time .LocalDateTime ;
@@ -157,6 +159,20 @@ void shouldMapMatrixValuesToArrays() {
157159 assertArrayEquals (array , values .as (long [][].class ));
158160 }
159161
162+ @ Test
163+ void shouldSupportMultipleIterations () {
164+ var list = Values .value ("a" , "b" );
165+ var values = list .values ();
166+ for (var i = 0 ; i < 2 ; i ++) {
167+ var iterator = values .iterator ();
168+ assertTrue (iterator .hasNext ());
169+ assertEquals ("a" , iterator .next ().asString ());
170+ assertTrue (iterator .hasNext ());
171+ assertEquals ("b" , iterator .next ().asString ());
172+ assertFalse (iterator .hasNext ());
173+ }
174+ }
175+
160176 private ListValue listValue (Value ... values ) {
161177 return new ListValue (Arrays .asList (values ));
162178 }
You can’t perform that action at this time.
0 commit comments