1 5 package org.easymock.tests; 6 7 import java.util.Iterator ; 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 mock; 17 18 private MockControl<Iterator > control; 19 20 protected void setUp() { 21 control = MockControl.createStrictControl(Iterator .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 |