/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
public static <T> List<T> mapList(List<T> source, Function<T, T> mapFunc) {
if (source == null) {
- return new ArrayList<>();
+ return new ArrayList<>(0);
}
return source.stream().map(mapFunc).collect(Collectors.toList());
});
assertTrue(resultList.isEmpty());
+ // verify that we can modify the empty list without throwing an exception
+ resultList.add("xyz");
+ resultList.add("pdq");
+ resultList.remove("xyz");
+
+
List<String> origList = Arrays.asList("abc", "def");
List<String> newList = PfUtils.mapList(origList, text -> text + "X");
assertEquals(Arrays.asList("abcX", "defX"), newList);
+
+ // verify that we can modify the list without throwing an exception
+ newList.remove("abcX");
+ newList.add("something else");
}
}