rt/emul/compacttest/src/test/java/org/apidesign/bck2brwsr/compact/tck/CollectionsTest.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Wed, 19 Nov 2014 19:32:00 +0100
changeset 1723 3a1f262311cf
parent 1701 rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/compact/tck/CollectionsTest.java@0e061b0f80eb
child 1761 d2a5a7a0e167
permissions -rw-r--r--
Separating compact profile tests into own project, so launcher.http can depend on compact profile JAR
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@1394
    23
import java.util.Collections;
jaroslav@574
    24
import java.util.Comparator;
jaroslav@574
    25
import java.util.HashMap;
jaroslav@574
    26
import java.util.HashSet;
jaroslav@574
    27
import java.util.List;
jaroslav@574
    28
import java.util.Map;
jaroslav@599
    29
import java.util.Map.Entry;
jaroslav@599
    30
import java.util.Vector;
jaroslav@574
    31
import org.apidesign.bck2brwsr.vmtest.Compare;
jaroslav@574
    32
import org.apidesign.bck2brwsr.vmtest.VMTest;
jaroslav@574
    33
import org.testng.annotations.Factory;
jaroslav@574
    34
jaroslav@574
    35
/**
jaroslav@574
    36
 *
jaroslav@574
    37
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jaroslav@574
    38
 */
jaroslav@574
    39
public class CollectionsTest {
jaroslav@574
    40
    @Compare public String sortStringsInArray() {
jaroslav@574
    41
        List<String> list = new ArrayList<>();
jaroslav@574
    42
        list.add("one");
jaroslav@574
    43
        list.add("two");
jaroslav@574
    44
        list.add("three");
jaroslav@574
    45
        list.add("four");
jaroslav@574
    46
        list.add("five");
jaroslav@574
    47
        list.add("six");
jaroslav@574
    48
        list.add("seven");
jaroslav@574
    49
        list.add("eight");
jaroslav@574
    50
        list.add("nine");
jaroslav@574
    51
        list.add("ten");
jaroslav@574
    52
        
jaroslav@574
    53
        String[] arr = list.toArray(new String[list.size()]);
jaroslav@574
    54
        Arrays.sort(arr);
jaroslav@574
    55
        
jaroslav@574
    56
        return Arrays.asList(arr).toString();
jaroslav@574
    57
    }
jaroslav@574
    58
    
jaroslav@574
    59
    @Compare public String sortStringsInHashSet() {
jaroslav@574
    60
        Collection<String> list = new HashSet<>();
jaroslav@574
    61
        list.add("one");
jaroslav@574
    62
        list.add("two");
jaroslav@574
    63
        list.add("three");
jaroslav@574
    64
        list.add("four");
jaroslav@574
    65
        list.add("five");
jaroslav@574
    66
        list.add("six");
jaroslav@574
    67
        list.add("seven");
jaroslav@574
    68
        list.add("eight");
jaroslav@574
    69
        list.add("nine");
jaroslav@574
    70
        list.add("ten");
jaroslav@574
    71
        
jaroslav@574
    72
        String[] arr = list.toArray(new String[0]);
jaroslav@574
    73
        Arrays.sort(arr);
jaroslav@574
    74
        
jaroslav@574
    75
        return Arrays.asList(arr).toString();
jaroslav@574
    76
    }
jaroslav@574
    77
jaroslav@574
    78
    @SuppressWarnings("unchecked")
jaroslav@574
    79
    @Compare public String sortStringsInHashMapWithComparator() {
jaroslav@574
    80
        class C implements Comparator<Map.Entry<String,Integer>> {
jaroslav@574
    81
            public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
jaroslav@574
    82
                return o1.getKey().compareTo(o2.getKey());
jaroslav@574
    83
            }
jaroslav@574
    84
        }
jaroslav@574
    85
        
jaroslav@574
    86
        Map<String,Integer> map = new HashMap<>();
jaroslav@574
    87
        map.put("one", 1);
jaroslav@574
    88
        map.put("two", 2);
jaroslav@574
    89
        map.put("three", 3);
jaroslav@574
    90
        map.put("four", 4);
jaroslav@574
    91
        map.put("five", 5);
jaroslav@574
    92
        map.put("six", 6);
jaroslav@574
    93
        map.put("seven", 7);
jaroslav@574
    94
        map.put("eight", 8);
jaroslav@574
    95
        map.put("nine", 9);
jaroslav@574
    96
        map.put("ten", 10);
jaroslav@574
    97
        
jaroslav@599
    98
        List<Entry<String,Integer>> arr = new Vector<>();
jaroslav@599
    99
        arr.addAll(map.entrySet());
jaroslav@1394
   100
        Collections.sort(arr, new C());
jaroslav@599
   101
        return arr.toString();
jaroslav@574
   102
    }
jaroslav@574
   103
    
jaroslav@1701
   104
    @Compare public String jirkaToArray() {
jaroslav@1701
   105
        List<String> appfiles = new ArrayList<>();
jaroslav@1701
   106
        appfiles.add("onefile");
jaroslav@1701
   107
        appfiles.add("2ndfile");
jaroslav@1701
   108
        appfiles.add("3rdfile");
jaroslav@1701
   109
        String[] ret = appfiles.toArray(new String[appfiles.size()]);
jaroslav@1701
   110
        return 
jaroslav@1701
   111
            ret.getClass().getName() + ":" +
jaroslav@1701
   112
            ret.length + ":" +
jaroslav@1701
   113
            Arrays.toString(ret);
jaroslav@1701
   114
    }
jaroslav@1701
   115
    
jaroslav@574
   116
    @Factory
jaroslav@574
   117
    public static Object[] create() {
jaroslav@574
   118
        return VMTest.create(CollectionsTest.class);
jaroslav@574
   119
    }
jaroslav@574
   120
    
jaroslav@574
   121
}