1 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 ("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 expected) { 133 assertEquals("Third Result", expected.getMessage()); 134 } 135 136 try { 137 mock.oneArgumentMethod(true); 138 fail("expected exception"); 139 } catch (RuntimeException expected) { 140 assertEquals("Third Result", expected.getMessage()); 141 } 142 143 try { 144 mock.oneArgumentMethod(true); 145 fail("expected exception"); 146 } catch (RuntimeException 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
|