emul/compact/src/test/java/org/apidesign/bck2brwsr/compact/tck/CollectionsTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 07 Feb 2013 12:58:12 +0100
branchemul
changeset 694 0d277415ed02
parent 574 7cf961390eac
permissions -rw-r--r--
Rebasing the Inflater support on jzlib which, unlike GNU ClassPath, has correct implementation of Huffman code. Making the implementation more easily testable by turning Inflater and ZipInputStream into pure delegates. Current implementation is going to need proper long support.
jaroslav@574
     1
/**
jaroslav@574
     2
 * Back 2 Browser Bytecode Translator
jaroslav@574
     3
 * Copyright (C) 2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
jaroslav@574
     4
 *
jaroslav@574
     5
 * This program is free software: you can redistribute it and/or modify
jaroslav@574
     6
 * it under the terms of the GNU General Public License as published by
jaroslav@574
     7
 * the Free Software Foundation, version 2 of the License.
jaroslav@574
     8
 *
jaroslav@574
     9
 * This program is distributed in the hope that it will be useful,
jaroslav@574
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
jaroslav@574
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
jaroslav@574
    12
 * GNU General Public License for more details.
jaroslav@574
    13
 *
jaroslav@574
    14
 * You should have received a copy of the GNU General Public License
jaroslav@574
    15
 * along with this program. Look for COPYING file in the top folder.
jaroslav@574
    16
 * If not, see http://opensource.org/licenses/GPL-2.0.
jaroslav@574
    17
 */
jaroslav@574
    18
package org.apidesign.bck2brwsr.compact.tck;
jaroslav@574
    19
jaroslav@574
    20
import java.util.ArrayList;
jaroslav@574
    21
import java.util.Arrays;
jaroslav@574
    22
import java.util.Collection;
jaroslav@574
    23
import java.util.Comparator;
jaroslav@574
    24
import java.util.HashMap;
jaroslav@574
    25
import java.util.HashSet;
jaroslav@574
    26
import java.util.List;
jaroslav@574
    27
import java.util.Map;
jaroslav@599
    28
import java.util.Map.Entry;
jaroslav@599
    29
import java.util.Vector;
jaroslav@574
    30
import org.apidesign.bck2brwsr.vmtest.Compare;
jaroslav@574
    31
import org.apidesign.bck2brwsr.vmtest.VMTest;
jaroslav@574
    32
import org.testng.annotations.Factory;
jaroslav@574
    33
jaroslav@574
    34
/**
jaroslav@574
    35
 *
jaroslav@574
    36
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jaroslav@574
    37
 */
jaroslav@574
    38
public class CollectionsTest {
jaroslav@574
    39
    @Compare public String sortStringsInArray() {
jaroslav@574
    40
        List<String> list = new ArrayList<>();
jaroslav@574
    41
        list.add("one");
jaroslav@574
    42
        list.add("two");
jaroslav@574
    43
        list.add("three");
jaroslav@574
    44
        list.add("four");
jaroslav@574
    45
        list.add("five");
jaroslav@574
    46
        list.add("six");
jaroslav@574
    47
        list.add("seven");
jaroslav@574
    48
        list.add("eight");
jaroslav@574
    49
        list.add("nine");
jaroslav@574
    50
        list.add("ten");
jaroslav@574
    51
        
jaroslav@574
    52
        String[] arr = list.toArray(new String[list.size()]);
jaroslav@574
    53
        Arrays.sort(arr);
jaroslav@574
    54
        
jaroslav@574
    55
        return Arrays.asList(arr).toString();
jaroslav@574
    56
    }
jaroslav@574
    57
    
jaroslav@574
    58
    @Compare public String sortStringsInHashSet() {
jaroslav@574
    59
        Collection<String> list = new HashSet<>();
jaroslav@574
    60
        list.add("one");
jaroslav@574
    61
        list.add("two");
jaroslav@574
    62
        list.add("three");
jaroslav@574
    63
        list.add("four");
jaroslav@574
    64
        list.add("five");
jaroslav@574
    65
        list.add("six");
jaroslav@574
    66
        list.add("seven");
jaroslav@574
    67
        list.add("eight");
jaroslav@574
    68
        list.add("nine");
jaroslav@574
    69
        list.add("ten");
jaroslav@574
    70
        
jaroslav@574
    71
        String[] arr = list.toArray(new String[0]);
jaroslav@574
    72
        Arrays.sort(arr);
jaroslav@574
    73
        
jaroslav@574
    74
        return Arrays.asList(arr).toString();
jaroslav@574
    75
    }
jaroslav@574
    76
jaroslav@574
    77
    @SuppressWarnings("unchecked")
jaroslav@574
    78
    @Compare public String sortStringsInHashMapWithComparator() {
jaroslav@574
    79
        class C implements Comparator<Map.Entry<String,Integer>> {
jaroslav@574
    80
            public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
jaroslav@574
    81
                return o1.getKey().compareTo(o2.getKey());
jaroslav@574
    82
            }
jaroslav@574
    83
        }
jaroslav@574
    84
        
jaroslav@574
    85
        Map<String,Integer> map = new HashMap<>();
jaroslav@574
    86
        map.put("one", 1);
jaroslav@574
    87
        map.put("two", 2);
jaroslav@574
    88
        map.put("three", 3);
jaroslav@574
    89
        map.put("four", 4);
jaroslav@574
    90
        map.put("five", 5);
jaroslav@574
    91
        map.put("six", 6);
jaroslav@574
    92
        map.put("seven", 7);
jaroslav@574
    93
        map.put("eight", 8);
jaroslav@574
    94
        map.put("nine", 9);
jaroslav@574
    95
        map.put("ten", 10);
jaroslav@574
    96
        
jaroslav@599
    97
        List<Entry<String,Integer>> arr = new Vector<>();
jaroslav@599
    98
        arr.addAll(map.entrySet());
jaroslav@599
    99
        return arr.toString();
jaroslav@574
   100
    }
jaroslav@574
   101
    
jaroslav@574
   102
    @Factory
jaroslav@574
   103
    public static Object[] create() {
jaroslav@574
   104
        return VMTest.create(CollectionsTest.class);
jaroslav@574
   105
    }
jaroslav@574
   106
    
jaroslav@574
   107
}