KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.util.Iterator JavaDoc;
8
9 import junit.framework.AssertionFailedError;
10 import junit.framework.TestCase;
11
12 import org.easymock.MockControl;
13
14 public class UsageRangeTest extends TestCase {
15
16     private Iterator JavaDoc mock;
17
18     private MockControl<Iterator JavaDoc> control;
19
20     protected void setUp() {
21         control = MockControl.createStrictControl(Iterator JavaDoc.class);
22         mock = control.getMock();
23     }
24
25     public void testZeroOrMoreNoCalls() {
26         mock.hasNext();
27         control.setReturnValue(false, MockControl.ZERO_OR_MORE);
28         control.replay();
29         control.verify();
30     }
31
32     public void testZeroOrMoreOneCall() {
33         mock.hasNext();
34         control.setReturnValue(false, MockControl.ZERO_OR_MORE);
35         control.replay();
36         assertFalse(mock.hasNext());
37         control.verify();
38     }
39
40     public void testZeroOrMoreThreeCalls() {
41         mock.hasNext();
42         control.setReturnValue(false, MockControl.ZERO_OR_MORE);
43         control.replay();
44         assertFalse(mock.hasNext());
45         assertFalse(mock.hasNext());
46         assertFalse(mock.hasNext());
47         control.verify();
48     }
49
50     public void testCombination() {
51         mock.hasNext();
52         control.setReturnValue(true, MockControl.ONE_OR_MORE);
53         mock.next();
54         control.setReturnValue("1");
55
56         mock.hasNext();
57         control.setReturnValue(true, MockControl.ONE_OR_MORE);
58         mock.next();
59         control.setReturnValue("2");
60
61         mock.hasNext();
62         control.setReturnValue(false, MockControl.ONE_OR_MORE);
63
64         control.replay();
65
66         assertTrue(mock.hasNext());
67         assertTrue(mock.hasNext());
68         assertTrue(mock.hasNext());
69
70         assertEquals("1", mock.next());
71
72         try {
73             mock.next();
74             fail();
75         } catch (AssertionFailedError expected) {
76         }
77
78         assertTrue(mock.hasNext());
79
80         assertEquals("2", mock.next());
81
82         assertFalse(mock.hasNext());
83
84         control.verify();
85
86     }
87 }
88
Popular Tags