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

COVERAGE SUMMARY FOR SOURCE FILE [Order.java]

nameclass, %method, %block, %line, %
Order.java100% (1/1)90%  (9/10)53%  (72/135)76%  (22/29)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Order100% (1/1)90%  (9/10)53%  (72/135)76%  (22/29)
toString (): String 0%   (0/1)0%   (0/11)0%   (0/1)
setMainDish (MainDish): boolean 100% (1/1)38%  (16/42)62%  (5/8)
setSideDish (SideDish): boolean 100% (1/1)38%  (16/42)62%  (5/8)
<static initializer> 100% (1/1)100% (5/5)100% (2/2)
Order (Class, Class): void 100% (1/1)100% (13/13)100% (5/5)
getMainDish (): MainDish 100% (1/1)100% (3/3)100% (1/1)
getMainDishType (): Class 100% (1/1)100% (3/3)100% (1/1)
getSideDish (): SideDish 100% (1/1)100% (3/3)100% (1/1)
getSideDishType (): Class 100% (1/1)100% (3/3)100% (1/1)
isFulfilled (): boolean 100% (1/1)100% (10/10)100% (1/1)

1package com.hammurapi.eventbus.tests.fastfood;
2 
3import java.util.concurrent.atomic.AtomicInteger;
4 
5/**
6 * @author Pavel Vlasov
7 *
8 */
9public class Order {
10        
11        private static AtomicInteger INSTANCE_COUNTER = new AtomicInteger();
12        
13        private final int instanceId = INSTANCE_COUNTER.incrementAndGet();
14        
15        private Class<? extends MainDish> mainDishType;
16        private Class<? extends SideDish> sideDishType;
17        private MainDish mainDish;
18        private SideDish sideDish;
19                
20        public Order(Class<? extends MainDish> mainDishType, Class<? extends SideDish> sideDishType) {
21                super();
22                this.mainDishType = mainDishType;
23                this.sideDishType = sideDishType;
24        }
25        
26        public Class<? extends MainDish> getMainDishType() {
27                return mainDishType;
28        }
29        
30        public Class<? extends SideDish> getSideDishType() {
31                return sideDishType;
32        }
33 
34        public MainDish getMainDish() {
35                return mainDish;
36        }
37 
38        /**
39         * Sets main dish
40         * @param mainDish
41         * @return true if success, false if main dish is of the wrong type or already consumed.
42         */
43        public boolean setMainDish(MainDish mainDish) {
44                if (this.mainDish==null) {
45                        if (mainDishType.isInstance(mainDish)) {
46                                if (mainDish.consume()) {
47                                        this.mainDish = mainDish;
48                                        return true;
49                                }
50                        } else {
51                                System.err.println("Wrong main dish: "+mainDish+", expected "+mainDishType);
52                        }
53                } else {
54                        System.err.println("Order already has main dish: "+this);
55                }
56                return false;
57        }
58 
59        public SideDish getSideDish() {
60                return sideDish;
61        }
62 
63        /**
64         * Sets side dish
65         * @param sideDish
66         * @return true if success, false if side dish is of wrong type or already consumed.
67         */
68        public boolean setSideDish(SideDish sideDish) {
69                if (this.sideDish==null) {
70                        if (sideDishType.isInstance(sideDish)) {
71                                if (sideDish.consume()) {
72                                        this.sideDish = sideDish;
73                                        return true;
74                                }
75                        } else {
76                                System.err.println("Wrong side dish: "+sideDish+", expected "+sideDishType);
77                        }
78                } else {
79                        System.err.println("Order already has side dish: "+this);
80                }
81                return false;
82        }
83        
84        public boolean isFulfilled() {
85                return mainDish!=null && sideDish!=null;
86        }
87 
88        @Override
89        public String toString() {
90                return "Order [" + instanceId + "]";
91        }        
92 
93}

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