EMMA Coverage Report (generated Thu Jan 20 11:39:44 EST 2011)
[all classes][com.hammurapi.extract]

COVERAGE SUMMARY FOR SOURCE FILE [LessEqual.java]

nameclass, %method, %block, %line, %
LessEqual.java100% (1/1)38%  (3/8)30%  (27/91)46%  (6/13)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class LessEqual100% (1/1)38%  (3/8)30%  (27/91)46%  (6/13)
compare (double, double): boolean 0%   (0/1)0%   (0/8)0%   (0/1)
compare (float, float): boolean 0%   (0/1)0%   (0/8)0%   (0/1)
compare (int, int): boolean 0%   (0/1)0%   (0/7)0%   (0/1)
compare (long, long): boolean 0%   (0/1)0%   (0/8)0%   (0/1)
newInstance (Extractor, Extractor): Extractor 0%   (0/1)0%   (0/10)0%   (0/1)
compare (Object, Object): boolean 100% (1/1)36%  (12/33)67%  (2/3)
compareTo (Extractor): ComparisonResult 100% (1/1)80%  (8/10)67%  (2/3)
LessEqual (double, TimeUnit, Extractor, Extractor): void 100% (1/1)100% (7/7)100% (2/2)

1package com.hammurapi.extract;
2 
3import java.util.concurrent.TimeUnit;
4 
5 
6public class LessEqual<T, V extends Comparable<V>, C> extends ComparisonPredicate<T, V, C> {
7 
8        public LessEqual(
9                        double initialCost, 
10                        TimeUnit costUnit,
11                        Extractor<T, V, C> leftExtractor, 
12                        Extractor<T, V, C> rightExtractor) {
13                super(initialCost, costUnit, leftExtractor, rightExtractor);
14        }
15 
16        @Override
17        public com.hammurapi.extract.ComparisonResult compareTo(Extractor<T, Boolean, C> otherPredicate) {
18                if (equals(otherPredicate)) {
19                        return ComparisonResult.EQUAL_NM;
20                }
21                
22                /**
23                 * TODO Implement comparisons.
24                 * a * b ? c * d, * - can be <, <=, ==, !=, =>, >
25                 * 36 permutations. Each permutation - compare a/b, c/d 
26                 */
27                                
28                // TODO if both parts are constants - comparison with True/False.
29                
30                return super.compareTo(otherPredicate);
31        }
32 
33        @Override
34        protected boolean compare(int n1, int n2) {
35                return n1<=n2;
36        }
37        
38        @Override
39        protected boolean compare(long n1, long n2) {
40                return n1<=n2;
41        }
42 
43        @Override
44        protected boolean compare(float n1, float n2) {
45                return n1<=n2;
46        }
47 
48        @Override
49        protected boolean compare(double n1, double n2) {
50                return n1<=n2;
51        }
52 
53 
54        @SuppressWarnings({ "unchecked", "rawtypes" })
55        @Override
56        protected boolean compare(Object o1, Object o2) {
57                if (o1 instanceof Comparable) {
58                        return ((Comparable) o1).compareTo(o2)<=0;
59                }
60                 throw new UnsupportedOperationException("Can't compare "+getClass().getName()+" on "+o1+" and "+o2);
61        }
62        
63        @Override
64        protected Extractor<T, Boolean, C> newInstance(Extractor<T, V, C> leftExtractor, Extractor<T, V, C> rightExtractor) {
65                return new LessEqual<T,V,C>(initialCost, costUnit, leftExtractor, rightExtractor);
66        }
67}

[all classes][com.hammurapi.extract]
EMMA 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov