jaroslav@574: /** jaroslav@574: * Back 2 Browser Bytecode Translator jaroslav@574: * Copyright (C) 2012 Jaroslav Tulach jaroslav@574: * jaroslav@574: * This program is free software: you can redistribute it and/or modify jaroslav@574: * it under the terms of the GNU General Public License as published by jaroslav@574: * the Free Software Foundation, version 2 of the License. jaroslav@574: * jaroslav@574: * This program is distributed in the hope that it will be useful, jaroslav@574: * but WITHOUT ANY WARRANTY; without even the implied warranty of jaroslav@574: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the jaroslav@574: * GNU General Public License for more details. jaroslav@574: * jaroslav@574: * You should have received a copy of the GNU General Public License jaroslav@574: * along with this program. Look for COPYING file in the top folder. jaroslav@574: * If not, see http://opensource.org/licenses/GPL-2.0. jaroslav@574: */ jaroslav@574: package org.apidesign.bck2brwsr.compact.tck; jaroslav@574: jaroslav@574: import java.util.ArrayList; jaroslav@574: import java.util.Arrays; jaroslav@574: import java.util.Collection; jaroslav@1394: import java.util.Collections; jaroslav@574: import java.util.Comparator; jaroslav@574: import java.util.HashMap; jaroslav@574: import java.util.HashSet; jaroslav@574: import java.util.List; jaroslav@574: import java.util.Map; jaroslav@599: import java.util.Map.Entry; jaroslav@599: import java.util.Vector; jaroslav@574: import org.apidesign.bck2brwsr.vmtest.Compare; jaroslav@574: import org.apidesign.bck2brwsr.vmtest.VMTest; jaroslav@574: import org.testng.annotations.Factory; jaroslav@574: jaroslav@574: /** jaroslav@574: * jaroslav@574: * @author Jaroslav Tulach jaroslav@574: */ jaroslav@574: public class CollectionsTest { jaroslav@574: @Compare public String sortStringsInArray() { jaroslav@574: List list = new ArrayList<>(); jaroslav@574: list.add("one"); jaroslav@574: list.add("two"); jaroslav@574: list.add("three"); jaroslav@574: list.add("four"); jaroslav@574: list.add("five"); jaroslav@574: list.add("six"); jaroslav@574: list.add("seven"); jaroslav@574: list.add("eight"); jaroslav@574: list.add("nine"); jaroslav@574: list.add("ten"); jaroslav@574: jaroslav@574: String[] arr = list.toArray(new String[list.size()]); jaroslav@574: Arrays.sort(arr); jaroslav@574: jaroslav@574: return Arrays.asList(arr).toString(); jaroslav@574: } jaroslav@574: jaroslav@574: @Compare public String sortStringsInHashSet() { jaroslav@574: Collection list = new HashSet<>(); jaroslav@574: list.add("one"); jaroslav@574: list.add("two"); jaroslav@574: list.add("three"); jaroslav@574: list.add("four"); jaroslav@574: list.add("five"); jaroslav@574: list.add("six"); jaroslav@574: list.add("seven"); jaroslav@574: list.add("eight"); jaroslav@574: list.add("nine"); jaroslav@574: list.add("ten"); jaroslav@574: jaroslav@574: String[] arr = list.toArray(new String[0]); jaroslav@574: Arrays.sort(arr); jaroslav@574: jaroslav@574: return Arrays.asList(arr).toString(); jaroslav@574: } jaroslav@574: jaroslav@574: @SuppressWarnings("unchecked") jaroslav@574: @Compare public String sortStringsInHashMapWithComparator() { jaroslav@574: class C implements Comparator> { jaroslav@574: public int compare(Map.Entry o1, Map.Entry o2) { jaroslav@574: return o1.getKey().compareTo(o2.getKey()); jaroslav@574: } jaroslav@574: } jaroslav@574: jaroslav@574: Map map = new HashMap<>(); jaroslav@574: map.put("one", 1); jaroslav@574: map.put("two", 2); jaroslav@574: map.put("three", 3); jaroslav@574: map.put("four", 4); jaroslav@574: map.put("five", 5); jaroslav@574: map.put("six", 6); jaroslav@574: map.put("seven", 7); jaroslav@574: map.put("eight", 8); jaroslav@574: map.put("nine", 9); jaroslav@574: map.put("ten", 10); jaroslav@574: jaroslav@599: List> arr = new Vector<>(); jaroslav@599: arr.addAll(map.entrySet()); jaroslav@1394: Collections.sort(arr, new C()); jaroslav@599: return arr.toString(); jaroslav@574: } jaroslav@574: jaroslav@1701: @Compare public String jirkaToArray() { jaroslav@1701: List appfiles = new ArrayList<>(); jaroslav@1701: appfiles.add("onefile"); jaroslav@1701: appfiles.add("2ndfile"); jaroslav@1701: appfiles.add("3rdfile"); jaroslav@1701: String[] ret = appfiles.toArray(new String[appfiles.size()]); jaroslav@1701: return jaroslav@1701: ret.getClass().getName() + ":" + jaroslav@1701: ret.length + ":" + jaroslav@1701: Arrays.toString(ret); jaroslav@1701: } jaroslav@1701: jaroslav@574: @Factory jaroslav@574: public static Object[] create() { jaroslav@574: return VMTest.create(CollectionsTest.class); jaroslav@574: } jaroslav@574: jaroslav@574: }