Test unmodifiability of returned collections
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@307282 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
deba27893e
commit
6767a45758
|
@ -18,6 +18,7 @@
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -256,10 +257,7 @@ private void assertLocaleLookupList(Locale locale, Locale defaultLocale, Locale[
|
||||||
|
|
||||||
assertEquals(expected.length, localeList.size());
|
assertEquals(expected.length, localeList.size());
|
||||||
assertEquals(Arrays.asList(expected), localeList);
|
assertEquals(Arrays.asList(expected), localeList);
|
||||||
try {
|
assertUnmodifiableCollection(localeList);
|
||||||
localeList.add("Unmodifiable");
|
|
||||||
fail();
|
|
||||||
} catch (UnsupportedOperationException ex) {}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
|
@ -344,6 +342,8 @@ public void testAvailableLocaleList() {
|
||||||
List list2 = LocaleUtils.availableLocaleList();
|
List list2 = LocaleUtils.availableLocaleList();
|
||||||
assertNotNull(list);
|
assertNotNull(list);
|
||||||
assertSame(list, list2);
|
assertSame(list, list2);
|
||||||
|
assertUnmodifiableCollection(list);
|
||||||
|
|
||||||
Locale[] jdkLocaleArray = Locale.getAvailableLocales();
|
Locale[] jdkLocaleArray = Locale.getAvailableLocales();
|
||||||
List jdkLocaleList = Arrays.asList(jdkLocaleArray);
|
List jdkLocaleList = Arrays.asList(jdkLocaleArray);
|
||||||
assertEquals(jdkLocaleList, list);
|
assertEquals(jdkLocaleList, list);
|
||||||
|
@ -358,6 +358,8 @@ public void testAvailableLocaleSet() {
|
||||||
Set set2 = LocaleUtils.availableLocaleSet();
|
Set set2 = LocaleUtils.availableLocaleSet();
|
||||||
assertNotNull(set);
|
assertNotNull(set);
|
||||||
assertSame(set, set2);
|
assertSame(set, set2);
|
||||||
|
assertUnmodifiableCollection(set);
|
||||||
|
|
||||||
Locale[] jdkLocaleArray = Locale.getAvailableLocales();
|
Locale[] jdkLocaleArray = Locale.getAvailableLocales();
|
||||||
List jdkLocaleList = Arrays.asList(jdkLocaleArray);
|
List jdkLocaleList = Arrays.asList(jdkLocaleArray);
|
||||||
Set jdkLocaleSet = new HashSet(jdkLocaleList);
|
Set jdkLocaleSet = new HashSet(jdkLocaleList);
|
||||||
|
@ -413,10 +415,7 @@ private void assertLanguageByCountry(String country, String[] languages) {
|
||||||
+ " for country: " + country);
|
+ " for country: " + country);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
assertUnmodifiableCollection(list);
|
||||||
list.add("Unmodifiable");
|
|
||||||
fail();
|
|
||||||
} catch (UnsupportedOperationException ex) {}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -463,10 +462,7 @@ private void assertCountriesByLanguage(String language, String[] countries) {
|
||||||
+ " for country: " + language);
|
+ " for country: " + language);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
assertUnmodifiableCollection(list);
|
||||||
list.add("Unmodifiable");
|
|
||||||
fail();
|
|
||||||
} catch (UnsupportedOperationException ex) {}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -479,4 +475,14 @@ public void testCountriesByLanguage() {
|
||||||
assertCountriesByLanguage("it", new String[]{"IT", "CH"});
|
assertCountriesByLanguage("it", new String[]{"IT", "CH"});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param coll the collection to check
|
||||||
|
*/
|
||||||
|
private static void assertUnmodifiableCollection(Collection coll) {
|
||||||
|
try {
|
||||||
|
coll.add("Unmodifiable");
|
||||||
|
fail();
|
||||||
|
} catch (UnsupportedOperationException ex) {}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue