|
|
|
@ -5,7 +5,7 @@ |
|
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
|
* You may obtain a copy of the License at |
|
|
|
|
* |
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
* |
|
|
|
|
* Unless required by applicable law or agreed to in writing, software |
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
|
|
@ -17,15 +17,26 @@ |
|
|
|
|
package org.springframework.core; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Collection; |
|
|
|
|
import java.util.EnumMap; |
|
|
|
|
import java.util.EnumSet; |
|
|
|
|
import java.util.HashMap; |
|
|
|
|
import java.util.HashSet; |
|
|
|
|
import java.util.LinkedHashMap; |
|
|
|
|
import java.util.LinkedHashSet; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.NavigableMap; |
|
|
|
|
import java.util.NavigableSet; |
|
|
|
|
import java.util.Set; |
|
|
|
|
import java.util.SortedMap; |
|
|
|
|
import java.util.SortedSet; |
|
|
|
|
import java.util.TreeMap; |
|
|
|
|
import java.util.TreeSet; |
|
|
|
|
|
|
|
|
|
import org.junit.Test; |
|
|
|
|
import org.springframework.util.LinkedMultiValueMap; |
|
|
|
|
import org.springframework.util.MultiValueMap; |
|
|
|
|
|
|
|
|
|
import static org.hamcrest.CoreMatchers.*; |
|
|
|
|
import static org.junit.Assert.*; |
|
|
|
@ -41,10 +52,23 @@ import static org.springframework.core.CollectionFactory.*; |
|
|
|
|
public class CollectionFactoryTests { |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void createsSimpleCollectionsCorrectly() { |
|
|
|
|
assertThat(createCollection(List.class, Object.class, 0), is(instanceOf(ArrayList.class))); |
|
|
|
|
assertThat(createCollection(Set.class, Object.class, 0), is(instanceOf(HashSet.class))); |
|
|
|
|
assertThat(createCollection(SortedSet.class, Object.class, 0), is(instanceOf(TreeSet.class))); |
|
|
|
|
public void createsCollectionsCorrectly() { |
|
|
|
|
// interfaces
|
|
|
|
|
assertThat(createCollection(List.class, 0), is(instanceOf(ArrayList.class))); |
|
|
|
|
assertThat(createCollection(Set.class, 0), is(instanceOf(LinkedHashSet.class))); |
|
|
|
|
assertThat(createCollection(Collection.class, 0), is(instanceOf(LinkedHashSet.class))); |
|
|
|
|
assertThat(createCollection(SortedSet.class, 0), is(instanceOf(TreeSet.class))); |
|
|
|
|
assertThat(createCollection(NavigableSet.class, 0), is(instanceOf(TreeSet.class))); |
|
|
|
|
|
|
|
|
|
assertThat(createCollection(List.class, String.class, 0), is(instanceOf(ArrayList.class))); |
|
|
|
|
assertThat(createCollection(Set.class, String.class, 0), is(instanceOf(LinkedHashSet.class))); |
|
|
|
|
assertThat(createCollection(Collection.class, String.class, 0), is(instanceOf(LinkedHashSet.class))); |
|
|
|
|
assertThat(createCollection(SortedSet.class, String.class, 0), is(instanceOf(TreeSet.class))); |
|
|
|
|
assertThat(createCollection(NavigableSet.class, String.class, 0), is(instanceOf(TreeSet.class))); |
|
|
|
|
|
|
|
|
|
// concrete types
|
|
|
|
|
assertThat(createCollection(HashSet.class, 0), is(instanceOf(HashSet.class))); |
|
|
|
|
assertThat(createCollection(HashSet.class, String.class, 0), is(instanceOf(HashSet.class))); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@ -67,6 +91,25 @@ public class CollectionFactoryTests { |
|
|
|
|
createCollection(null, Object.class, 0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void createsMapsCorrectly() { |
|
|
|
|
// interfaces
|
|
|
|
|
assertThat(createMap(Map.class, 0), is(instanceOf(LinkedHashMap.class))); |
|
|
|
|
assertThat(createMap(SortedMap.class, 0), is(instanceOf(TreeMap.class))); |
|
|
|
|
assertThat(createMap(NavigableMap.class, 0), is(instanceOf(TreeMap.class))); |
|
|
|
|
assertThat(createMap(MultiValueMap.class, 0), is(instanceOf(LinkedMultiValueMap.class))); |
|
|
|
|
|
|
|
|
|
assertThat(createMap(Map.class, String.class, 0), is(instanceOf(LinkedHashMap.class))); |
|
|
|
|
assertThat(createMap(SortedMap.class, String.class, 0), is(instanceOf(TreeMap.class))); |
|
|
|
|
assertThat(createMap(NavigableMap.class, String.class, 0), is(instanceOf(TreeMap.class))); |
|
|
|
|
assertThat(createMap(MultiValueMap.class, String.class, 0), is(instanceOf(LinkedMultiValueMap.class))); |
|
|
|
|
|
|
|
|
|
// concrete types
|
|
|
|
|
assertThat(createMap(HashMap.class, 0), is(instanceOf(HashMap.class))); |
|
|
|
|
|
|
|
|
|
assertThat(createMap(HashMap.class, String.class, 0), is(instanceOf(HashMap.class))); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void createsEnumMap() { |
|
|
|
|
assertThat(createMap(EnumMap.class, Color.class, 0), is(instanceOf(EnumMap.class))); |
|
|
|
|