Skip to content

Commit

Permalink
Adapt to change in Spring Framework snapshots
Browse files Browse the repository at this point in the history
Binding to an HashMap now consistently return a LinkedHashMap.
  • Loading branch information
snicoll committed May 8, 2023
1 parent cf180fa commit 9d56b41
Showing 1 changed file with 4 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.SortedMap;
import java.util.stream.Collectors;

import org.junit.jupiter.api.Test;
Expand Down Expand Up @@ -244,7 +245,7 @@ void bindToMapWhenHasExistingMapShouldReplaceOnlyNewContents() {
existing.put("baz", 1001);
Bindable<Map<String, Integer>> target = STRING_INTEGER_MAP.withExistingValue(existing);
Map<String, Integer> result = this.binder.bind("foo", target).get();
assertThat(result).isExactlyInstanceOf(HashMap.class);
assertThat(result).isInstanceOf(HashMap.class);
assertThat(result).hasSize(2);
assertThat(result).containsEntry("bar", 1);
assertThat(result).containsEntry("baz", 1001);
Expand All @@ -253,10 +254,10 @@ void bindToMapWhenHasExistingMapShouldReplaceOnlyNewContents() {
@Test
void bindToMapShouldRespectMapType() {
this.sources.add(new MockConfigurationPropertySource("foo.bar", "1"));
ResolvableType type = ResolvableType.forClassWithGenerics(HashMap.class, String.class, Integer.class);
ResolvableType type = ResolvableType.forClassWithGenerics(SortedMap.class, String.class, Integer.class);
Object defaultMap = this.binder.bind("foo", STRING_INTEGER_MAP).get();
Object customMap = this.binder.bind("foo", Bindable.of(type)).get();
assertThat(customMap).isExactlyInstanceOf(HashMap.class).isNotInstanceOf(defaultMap.getClass());
assertThat(customMap).isInstanceOf(SortedMap.class).isNotInstanceOf(defaultMap.getClass());
}

@Test
Expand Down

0 comments on commit 9d56b41

Please sign in to comment.