EMMA Coverage Report (generated Sat Dec 08 18:09:21 GMT 2007)
[all classes][uk.co.zonetora.fj.util]

COVERAGE SUMMARY FOR SOURCE FILE [ListUtil.java]

nameclass, %method, %block, %line, %
ListUtil.java100% (1/1)75%  (3/4)58%  (47/81)63%  (10.1/16)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ListUtil100% (1/1)75%  (3/4)58%  (47/81)63%  (10.1/16)
ListUtil (): void 0%   (0/1)0%   (0/3)0%   (0/1)
mapFst (List): List 100% (1/1)59%  (13/22)64%  (2.6/4)
mapSnd (List): List 100% (1/1)59%  (13/22)64%  (2.6/4)
zip (List, List): List 100% (1/1)62%  (21/34)71%  (5/7)

1package uk.co.zonetora.fj.util;
2 
3import java.util.ArrayList;
4import java.util.Iterator;
5import java.util.List;
6 
7import static java.lang.Math.*;
8 
9public class ListUtil {
10 
11        public static <X,Y> List<X> mapFst(List<Tuple<X,Y>> list) {
12                List<X> outList = new ArrayList<X>();
13                
14                for(Tuple<X,?> t : list) {
15                        outList.add(t.getX());
16                }
17                
18                return outList;
19                
20        }
21        
22        public static <X,Y> List<Y> mapSnd(List<Tuple<X,Y>> list) {
23                List<Y> outList = new ArrayList<Y>();
24                
25                for(Tuple<?,Y> t : list) {
26                        outList.add(t.getY());
27                }
28                
29                return outList;
30        }
31    
32    public static <X,Y> List<Tuple<X,Y>> zip(List<X> xs, List<Y> ys) {
33        Iterator<X> xi = xs.iterator();
34        Iterator<Y> yi = ys.iterator();
35        
36        List<Tuple<X,Y>> out = new ArrayList<Tuple<X,Y>>(min(xs.size(), ys.size()));
37        
38        while(xi.hasNext()) {
39            if(yi.hasNext()) {
40                out.add(new Tuple<X,Y>(xi.next(), yi.next()));
41                continue;
42            } 
43            break;
44        }
45        
46        return out;
47    }
48}

[all classes][uk.co.zonetora.fj.util]
EMMA 2.0.5312 (C) Vladimir Roubtsov