Browse Source

Add test to verify map keys retain order when mapped.

See: #4577
Original pull request: #4568
4.1.x
Christoph Strobl 2 years ago committed by Mark Paluch
parent
commit
b606387831
No known key found for this signature in database
GPG Key ID: 55BC6374BAA9D973
  1. 15
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/QueryMapperUnitTests.java

15
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/QueryMapperUnitTests.java

@ -28,6 +28,7 @@ import java.util.Collections; @@ -28,6 +28,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.TreeMap;
import org.bson.conversions.Bson;
import org.bson.types.Code;
@ -1509,6 +1510,20 @@ public class QueryMapperUnitTests { @@ -1509,6 +1510,20 @@ public class QueryMapperUnitTests {
assertThat(mappedObject).isEqualTo("{ 'text' : { $in : ['gnirps', 'atad'] } }");
}
@Test // GH-4577
void mappingShouldRetainMapKeyOrder() {
TreeMap<String, String> sourceMap = new TreeMap<>(Map.of("test1", "123", "test2", "456"));
org.bson.Document target = mapper.getMappedObject(query(where("simpleMap").is(sourceMap)).getQueryObject(),
context.getPersistentEntity(WithSimpleMap.class));
assertThat(target.get("simpleMap", Map.class)).containsExactlyEntriesOf(sourceMap);
}
class WithSimpleMap {
Map<String, String> simpleMap;
}
class WithDeepArrayNesting {
List<WithNestedArray> level0;

Loading…
Cancel
Save