KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > easymock > tests > UsageOverloadedMethodTest


1 /*
2  * Copyright (c) 2001-2005 OFFIS. This program is made available under the terms of
3  * the MIT License.
4  */

5 package org.easymock.tests;
6
7 import junit.framework.TestCase;
8
9 import org.easymock.MockControl;
10
11 public class UsageOverloadedMethodTest extends TestCase {
12
13     MockControl<IMethods> controller;
14
15     IMethods mock;
16
17     protected void setUp() {
18         controller = MockControl.createControl(IMethods.class);
19         mock = controller.getMock();
20     }
21
22     public void testOverloading() {
23
24         mock.oneArgumentMethod(true);
25         controller.setReturnValue("true");
26         mock.oneArgumentMethod(false);
27         controller.setReturnValue("false");
28
29         mock.oneArgumentMethod((byte) 0);
30         controller.setReturnValue("byte 0");
31         mock.oneArgumentMethod((byte) 1);
32         controller.setReturnValue("byte 1");
33
34         mock.oneArgumentMethod((short) 0);
35         controller.setReturnValue("short 0");
36         mock.oneArgumentMethod((short) 1);
37         controller.setReturnValue("short 1");
38
39         mock.oneArgumentMethod((char) 0);
40         controller.setReturnValue("char 0");
41         mock.oneArgumentMethod((char) 1);
42         controller.setReturnValue("char 1");
43
44         mock.oneArgumentMethod(0);
45         controller.setReturnValue("int 0");
46         mock.oneArgumentMethod(1);
47         controller.setReturnValue("int 1");
48
49         mock.oneArgumentMethod((long) 0);
50         controller.setReturnValue("long 0");
51         mock.oneArgumentMethod((long) 1);
52         controller.setReturnValue("long 1");
53
54         mock.oneArgumentMethod((float) 0);
55         controller.setReturnValue("float 0");
56         mock.oneArgumentMethod((float) 1);
57         controller.setReturnValue("float 1");
58
59         mock.oneArgumentMethod(0.0);
60         controller.setReturnValue("double 0");
61         mock.oneArgumentMethod(1.0);
62         controller.setReturnValue("double 1");
63
64         mock.oneArgumentMethod("Object 0");
65         controller.setReturnValue("1");
66         mock.oneArgumentMethod("Object 1");
67         controller.setReturnValue("2");
68
69         controller.replay();
70
71         assertEquals("true", mock.oneArgumentMethod(true));
72         assertEquals("false", mock.oneArgumentMethod(false));
73
74         assertEquals("byte 0", mock.oneArgumentMethod((byte) 0));
75         assertEquals("byte 1", mock.oneArgumentMethod((byte) 1));
76
77         assertEquals("short 0", mock.oneArgumentMethod((short) 0));
78         assertEquals("short 1", mock.oneArgumentMethod((short) 1));
79
80         assertEquals("char 0", mock.oneArgumentMethod((char) 0));
81         assertEquals("char 1", mock.oneArgumentMethod((char) 1));
82
83         assertEquals("int 0", mock.oneArgumentMethod(0));
84         assertEquals("int 1", mock.oneArgumentMethod(1));
85
86         assertEquals("long 0", mock.oneArgumentMethod((long) 0));
87         assertEquals("long 1", mock.oneArgumentMethod((long) 1));
88
89         assertEquals("float 0", mock.oneArgumentMethod((float) 0.0));
90         assertEquals("float 1", mock.oneArgumentMethod((float) 1.0));
91
92         assertEquals("double 1", mock.oneArgumentMethod(1.0));
93         assertEquals("double 0", mock.oneArgumentMethod(0.0));
94
95         assertEquals("1", mock.oneArgumentMethod("Object 0"));
96         assertEquals("2", mock.oneArgumentMethod("Object 1"));
97
98         controller.verify();
99     }
100
101     public void testNullReturnValue() {
102
103         mock.oneArgumentMethod("Object");
104         controller.setReturnValue(null);
105
106         controller.replay();
107
108         assertNull(mock.oneArgumentMethod("Object"));
109
110     }
111
112     public void testMoreThanOneResultAndOpenCallCount() {
113         mock.oneArgumentMethod(true);
114         controller.setReturnValue("First Result", 4);
115         controller.setReturnValue("Second Result", 2);
116         controller.setThrowable(new RuntimeException JavaDoc("Third Result"), 3);
117         controller.setReturnValue("Following Result", MockControl.ONE_OR_MORE);
118
119         controller.replay();
120
121         assertEquals("First Result", mock.oneArgumentMethod(true));
122         assertEquals("First Result", mock.oneArgumentMethod(true));
123         assertEquals("First Result", mock.oneArgumentMethod(true));
124         assertEquals("First Result", mock.oneArgumentMethod(true));
125
126         assertEquals("Second Result", mock.oneArgumentMethod(true));
127         assertEquals("Second Result", mock.oneArgumentMethod(true));
128
129         try {
130             mock.oneArgumentMethod(true);
131             fail("expected exception");
132         } catch (RuntimeException JavaDoc expected) {
133             assertEquals("Third Result", expected.getMessage());
134         }
135
136         try {
137             mock.oneArgumentMethod(true);
138             fail("expected exception");
139         } catch (RuntimeException JavaDoc expected) {
140             assertEquals("Third Result", expected.getMessage());
141         }
142
143         try {
144             mock.oneArgumentMethod(true);
145             fail("expected exception");
146         } catch (RuntimeException JavaDoc expected) {
147             assertEquals("Third Result", expected.getMessage());
148         }
149
150         assertEquals("Following Result", mock.oneArgumentMethod(true));
151         assertEquals("Following Result", mock.oneArgumentMethod(true));
152         assertEquals("Following Result", mock.oneArgumentMethod(true));
153         assertEquals("Following Result", mock.oneArgumentMethod(true));
154         assertEquals("Following Result", mock.oneArgumentMethod(true));
155
156         controller.verify();
157     }
158 }
Popular Tags