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

COVERAGE SUMMARY FOR SOURCE FILE [Add.java]

nameclass, %method, %block, %line, %
Add.java100% (1/1)29%  (2/7)19%  (13/68)30%  (3/10)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Add100% (1/1)29%  (2/7)19%  (13/68)30%  (3/10)
doOp (Object, Object): Object 0%   (0/1)0%   (0/30)0%   (0/3)
doOp (double, double): Object 0%   (0/1)0%   (0/5)0%   (0/1)
doOp (float, float): Object 0%   (0/1)0%   (0/5)0%   (0/1)
doOp (long, long): Object 0%   (0/1)0%   (0/5)0%   (0/1)
newInstance (Extractor, Extractor): Extractor 0%   (0/1)0%   (0/10)0%   (0/1)
Add (double, TimeUnit, Extractor, Extractor): void 100% (1/1)100% (8/8)100% (2/2)
doOp (int, int): Object 100% (1/1)100% (5/5)100% (1/1)

1package com.hammurapi.extract;
2 
3import java.util.concurrent.TimeUnit;
4 
5 
6/**
7 * Numeric add.
8 * @author Pavel Vlasov
9 *
10 * @param <T>
11 * @param <C>
12 */
13public class Add<T, C> extends ArithmeticExtractor<T, Object, C> {
14 
15        public Add(double initialCost, TimeUnit costUnit, Extractor<T, Object, C> leftExtractor, Extractor<T, Object, C> rightExtractor) {
16                super(initialCost, costUnit, leftExtractor, rightExtractor, false);
17        }
18 
19        @Override
20        protected Object doOp(Object o1, Object o2) {
21                if (o1 instanceof String || o2 instanceof String) {
22                        return ""+o1+o2;
23                }
24                throw new IllegalArgumentException("Can't add "+o1+" and "+o2);
25        }
26 
27        @Override
28        protected Object doOp(int n1, int n2) {
29                return n1+n2;
30        }
31 
32        @Override
33        protected Object doOp(long n1, long n2) {
34                return n1+n2;
35        }
36 
37        @Override
38        protected Object doOp(float n1, float n2) {
39                return n1+n2;
40        }
41 
42        @Override
43        protected Object doOp(double n1, double n2) {
44                return n1+n2;
45        }
46 
47        @Override
48        protected Extractor<T, Object, C> newInstance(Extractor<T, Object, C> leftExtractor, Extractor<T, Object, C> rightExtractor) {
49                return new Add<T,C>(initialCost, costUnit, leftExtractor, rightExtractor);
50        }
51}

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