18da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal/* 28da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Copyright 2010 Google Inc. 38da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 48da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Licensed under the Apache License, Version 2.0 (the "License"); 58da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * you may not use this file except in compliance with the License. 68da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * You may obtain a copy of the License at 78da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 88da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * http://www.apache.org/licenses/LICENSE-2.0 98da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Unless required by applicable law or agreed to in writing, software 118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * distributed under the License is distributed on an "AS IS" BASIS, 128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * See the License for the specific language governing permissions and 148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limitations under the License. 158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalpackage com.google.android.testing.mocking; 178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport org.easymock.Capture; 198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport org.easymock.EasyMock; 208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport org.easymock.IArgumentMatcher; 218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport org.easymock.IExpectationSetters; 228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport org.easymock.LogicalOperator; 238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport java.lang.reflect.Constructor; 258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport java.lang.reflect.InvocationTargetException; 268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport java.lang.reflect.Method; 278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport java.util.ArrayList; 288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport java.util.Comparator; 298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalimport java.util.List; 308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal/** 328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Android Mock is a wrapper for EasyMock (2.4) which allows for real Class mocking on 338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * an Android (Dalvik) VM. 348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * All methods on Android Mock are syntactically equivalent to EasyMock method 368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * calls, and will delegate calls to EasyMock, while performing the required 378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * transformations to avoid Dalvik VM troubles. 388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Calls directly to EasyMock will work correctly only if the Class being mocked 408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * is in fact an Interface. Calls to Android Mock will work correctly for both 418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Interfaces and concrete Classes. 428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Android Mock requires that the code being mocked be instrumented prior to 448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * loading to the Dalvik VM by having called the MockGenerator.jar file. Try 458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * running {@code java -jar MockGenerator.jar --help} for more information. 468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * An example usage pattern is: 488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code @UsesMocks(MyClass.class) public void testFoo() { MyClass 508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mockObject = AndroidMock.createMock(MyClass.class); 518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.expect(mockObject.foo(0)).andReturn(42); 528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.replay(mockObject); assertEquals(42, mockObject.foo(0)); 538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.verify(mockObject); } * } 548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * <b>A note about parameter and return types for the <i>expects</i> style of methods.</b> 578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The various expectation methods such as {@link #eq(boolean)}, {@link #and(boolean, boolean)}, 588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * and {@link #leq(byte)} all have nonsense return values. Each of the expectation methods may only 598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * be executed under strict conditions (in order to set expectations of incoming method parameters 608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * during record mode) and thus their return types are in fact never used. The return types are set 618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * only to satisfy the compile-time parameter requirements of the methods being mocked in order to 628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * allow code such as: {@code mockObject.doFoo(anyInt());}. If {@link #anyInt()} did not return 638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code int} then the compiler would not accept the preceding code fragment. 648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Similarly, the complex expectation methods ({@code #and}, {@code #or}, and {@code not}) take 668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * various parameter types, but will throw an {@link java.lang.IllegalStateException} if anything 678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * other than an expectation method is provided. E.g. {@code mockObject.doFoo(and(gt(5), lt(10));} 688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The benefit of this is to make it very easy to read the test code after it has been written. 708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Additionally, the test code is protected by type safety at compile time. 718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The downside of this is that when writing the test code in the record phase, how to use the 738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectation APIs is not made clear by the method signatures of these expectation methods. In 748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * particular, it's not at all clear that {@link #and(byte, byte)} takes as parameters other 758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectation methods, and not just any random method that returns a {@literal byte} or even a 768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal byte} literal. 778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @author swoodward@google.com (Stephen Woodward) 798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigalpublic class AndroidMock { 818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal private AndroidMock() { 828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Creates a mock object for the specified class, order checking 868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * is enabled by default. The difference between a strict mock and a normal mock is that a strict 878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock will not allow for invocations of the mock object to occur other than in the exact order 888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified during record mode. 898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The parameter {@literal args} allows the caller to choose which constructor on the Class 918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified by {@literal toMock} to be called when constructing the Mock object. If a constructor 928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * takes primitive values, Java Auto-boxing/unboxing will take care of it automatically, allowing 938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the caller to make calls such as {@literal createStrictMock(MyObject.class, 42, "hello!")}, 948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * where {@literal MyObject} defines a constructor such as 958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal public MyObject(int answer, String greeting)}. 968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the class type to be mocked. 988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param toMock the class of the object to be mocked. 998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param args the arguments to pass to the constructor. 1008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return the mock object. 1018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 1028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T createStrictMock(Class<T> toMock, Object... args) { 1038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return createStrictMock(null, toMock, args); 1048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 1058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 1068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 1078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Creates a mock object for the specified class, order checking 1088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * is enabled by default. The difference between a strict mock and a normal mock is that a strict 1098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock will not allow for invocations of the mock object to occur other than in the exact order 1108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified during record mode. 1118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 1128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The parameter {@literal args} allows the caller to choose which constructor on the Class 1138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified by {@literal toMock} to be called when constructing the Mock object. If a constructor 1148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * takes primitive values, Java Auto-boxing/unboxing will take care of it automatically, allowing 1158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the caller to make calls such as 1168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal createStrictMock("NameMyMock", MyObject.class, 42, "hello!")}, 1178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * where {@literal MyObject} defines a constructor such as 1188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal public MyObject(int answer, String greeting)}. 1198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 1208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the class type to be mocked. 1218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param name the name of the mock object. This must be a valid Java identifier. This value is 1228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * used as the return value from {@link #toString()} when invoked on the mock object. 1238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param toMock the class of the object to be mocked. 1248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param args the arguments to pass to the constructor. 1258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return the mock object. 1268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @throws IllegalArgumentException if the name is not a valid Java identifier. 1278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 1288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("cast") 1298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T createStrictMock(String name, Class<T> toMock, Object... args) { 1308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (toMock.isInterface()) { 1318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.createStrictMock(name, toMock); 1328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 1338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Object mockedInterface = EasyMock.createStrictMock(name, getInterfaceFor(toMock)); 1348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return (T) getSubclassFor(toMock, getInterfaceFor(toMock), mockedInterface, args); 1358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 1368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 1378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 1388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Creates a mock object for the specified class, order checking 1398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * is disabled by default. A normal mock with order checking disabled will allow you to record 1408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the method invocations during record mode in any order. If order is important, use 1418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #createStrictMock(Class, Object...)} instead. 1428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 1438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The parameter {@literal args} allows the caller to choose which constructor on the Class 1448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified by {@literal toMock} to be called when constructing the Mock object. If a constructor 1458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * takes primitive values, Java Auto-boxing/unboxing will take care of it automatically, allowing 1468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the caller to make calls such as 1478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal createMock(MyObject.class, 42, "hello!")}, 1488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * where {@literal MyObject} defines a constructor such as 1498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal public MyObject(int answer, String greeting)}. 1508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 1518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the type of the class to be mocked. 1528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param toMock the class object representing the class to be mocked. 1538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param args the arguments to pass to the constructor. 1548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return the mock object. 1558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 1568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T createMock(Class<T> toMock, Object... args) { 1578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return createMock(null, toMock, args); 1588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 1598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 1608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 1618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Creates a mock object for the specified class, order checking 1628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * is disabled by default. A normal mock with order checking disabled will allow you to record 1638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the method invocations during record mode in any order. If order is important, use 1648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #createStrictMock(Class, Object...)} instead. 1658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 1668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The parameter {@literal args} allows the caller to choose which constructor on the Class 1678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified by {@literal toMock} to be called when constructing the Mock object. If a constructor 1688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * takes primitive values, Java Auto-boxing/unboxing will take care of it automatically, allowing 1698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the caller to make calls such as 1708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal createMock("NameMyMock", MyObject.class, 42, "hello!")}, 1718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * where {@literal MyObject} defines a constructor such as 1728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal public MyObject(int answer, String greeting)}. 1738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 1748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the type of the class to be mocked. 1758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param name the name of the mock object. This must be a valid Java identifier. This value is 1768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * used as the return value from {@link #toString()} when invoked on the mock object. 1778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param toMock the class object representing the class to be mocked. 1788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param args the arguments to pass to the constructor. 1798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return the mock object. 1808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @throws IllegalArgumentException if the name is not a valid Java identifier. 1818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 1828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("cast") 1838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T createMock(String name, Class<T> toMock, Object... args) { 1848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (toMock.isInterface()) { 1858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.createMock(name, toMock); 1868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 1878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Object mockedInterface = EasyMock.createMock(name, getInterfaceFor(toMock)); 1888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return (T) getSubclassFor(toMock, getInterfaceFor(toMock), mockedInterface, args); 1898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 1908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 1918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 1928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Creates a mock object for the specified class, order checking 1938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * is disabled by default, and the mock object will return {@code 0}, 1948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code null} or {@code false} for unexpected invocations. 1958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 1968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The parameter {@literal args} allows the caller to choose which constructor on the Class 1978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified by {@literal toMock} to be called when constructing the Mock object. If a constructor 1988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * takes primitive values, Java Auto-boxing/unboxing will take care of it automatically, allowing 1998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the caller to make calls such as 2008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal createNiceMock(MyObject.class, 42, "hello!")}, 2018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * where {@literal MyObject} defines a constructor such as 2028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal public MyObject(int answer, String greeting)}. 2038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the type of the class to be mocked. 2058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param toMock the class object representing the class to be mocked. 2068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param args the arguments to pass to the constructor. 2078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return the mock object. 2088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 2098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T createNiceMock(Class<T> toMock, Object... args) { 2108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return createNiceMock(null, toMock, args); 2118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 2128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 2138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 2148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Creates a mock object for the specified class, order checking 2158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * is disabled by default, and the mock object will return {@code 0}, 2168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code null} or {@code false} for unexpected invocations. 2178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The parameter {@literal args} allows the caller to choose which constructor on the Class 2198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified by {@literal toMock} to be called when constructing the Mock object. If a constructor 2208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * takes primitive values, Java Auto-boxing/unboxing will take care of it automatically, allowing 2218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the caller to make calls such as 2228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal createNiceMock("NameMyMock", MyObject.class, 42, "hello!")}, 2238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * where {@literal MyObject} defines a constructor such as 2248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@literal public MyObject(int answer, String greeting)}. 2258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the type of the class to be mocked. 2278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param name the name of the mock object. This must be a valid Java identifier. This value is 2288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * used as the return value from {@link #toString()} when invoked on the mock object. 2298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param toMock the class object representing the class to be mocked. 2308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param args the arguments to pass to the constructor. 2318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @throws IllegalArgumentException if the name is not a valid Java identifier. 2328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 2338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("cast") 2348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T createNiceMock(String name, Class<T> toMock, Object... args) { 2358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (toMock.isInterface()) { 2368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.createNiceMock(name, toMock); 2378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 2388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Object mockedInterface = EasyMock.createNiceMock(name, getInterfaceFor(toMock)); 2398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return (T) getSubclassFor(toMock, getInterfaceFor(toMock), mockedInterface, args); 2408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 2418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 2428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 2438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Returns the expectation setter for the last expected invocation in the current thread. 2448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expectation setters are used during the recording phase to specify what method calls 2458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * will be expected during the replay phase, and with which parameters. Parameters may be 2468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * specified as literal values (e.g. {@code expect(mock.foo(42)); expect(mock.foo("hello"));}) 2478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * or according to parameter expectation criteria. Some examples of parameter expectation 2488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * criteria include {@link #anyObject()}, {@link #leq(int)}, {@link #contains(String)}, 2498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #isA(Class)} and also the more complex {@link #and(char, char)}, 2508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #or(boolean, boolean)}, and {@link #not(double)}. 2518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * An {@link org.easymock.IExpectationSetters} object has methods which allow you to define 2538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the expected behaviour of the mocked method and the expected number of invocations, 2548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * e.g. {@link org.easymock.IExpectationSetters#andReturn(Object)}, 2558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.IExpectationSetters#andThrow(Throwable)}, and 2568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.IExpectationSetters#atLeastOnce()}. 2578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the parameter is used to transport the type to the ExpectationSetter. 2598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * It allows writing the expected call as an argument, 2608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * e.g. {@code expect(mock.getName()).andReturn("John Doe")}. 2618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return the expectation setter. 2628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 2638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> IExpectationSetters<T> expect(T expectedValue) { 2648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.expect(expectedValue); 2658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 2668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 2678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 2688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Returns the expectation setter for the last expected invocation in the 2698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * current thread. This method is used for expected invocations on void 2708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * methods. Use this for things such as 2718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.IExpectationSetters#andThrow(Throwable)} 2728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * on void methods. 2738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 2748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code mock.doFoo(); 2758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.expectLastCall().andThrow(new IllegalStateException());} 2768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @see #expect(Object) for more details about {@link org.easymock.IExpectationSetters} 2788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return the expectation setter. 2798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 2808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> IExpectationSetters<T> expectLastCall() { 2818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.expectLastCall(); 2828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 2838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 2848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 2858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code boolean} argument as a parameter to a mocked method. 2868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 2878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 2898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 2908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 2928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyBoolean())).andReturn("hello world");} 2938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 2948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code false}. The return value is always ignored. 2958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 2968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static boolean anyBoolean() { 2978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.anyBoolean(); 2988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 2998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 3008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 3018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code byte} argument as a parameter to a mocked method. 3028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 3038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 3058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 3068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 3088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyByte())).andReturn("hello world");} 3098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 3118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 3128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte anyByte() { 3138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.anyByte(); 3148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 3158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 3168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 3178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code char} argument as a parameter to a mocked method. 3188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 3198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 3218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 3228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 3248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyChar())).andReturn("hello world");} 3258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 3278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 3288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static char anyChar() { 3298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.anyChar(); 3308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 3318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 3328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 3338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code int} argument as a parameter to a mocked method. 3348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 3358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 3378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 3388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 3408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyInt())).andReturn("hello world");} 3418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 3438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 3448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int anyInt() { 3458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.anyInt(); 3468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 3478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 3488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 3498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code long} argument as a parameter to a mocked method. 3508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 3518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 3538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 3548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 3568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyLong())).andReturn("hello world");} 3578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 3598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 3608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long anyLong() { 3618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.anyLong(); 3628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 3638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 3648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 3658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code float} argument as a parameter to a mocked method. 3668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 3678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 3698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 3708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 3728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyFloat())).andReturn("hello world");} 3738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 3758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 3768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float anyFloat() { 3778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.anyFloat(); 3788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 3798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 3808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 3818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code double} argument as a parameter to a mocked method. 3828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 3838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 3858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 3868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 3888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyDouble())).andReturn("hello world");} 3898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. */ 3918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double anyDouble() { 3928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.anyDouble(); 3938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 3948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 3958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 3968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code short} argument as a parameter to a mocked method. 3978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 3988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 3998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 4008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 4018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 4038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyShort())).andReturn("hello world");} 4048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. */ 4068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short anyShort() { 4078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.anyShort(); 4088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 4098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 4108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 4118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code java.lang.Object} (or subclass) argument as a parameter to a mocked method. 4128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Note that this includes Arrays (since an array {@literal is an Object}) 4138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 4148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 4168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 4178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 4198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.anyLong())).andReturn("hello world");} 4208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 4228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 4238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("unchecked") 4248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T anyObject() { 4258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return (T) EasyMock.anyObject(); 4268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 4278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 4288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 4298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code Comparable} argument greater than or equal to the given value as a parameter 4308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 4318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 4338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 4358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 4368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 4388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.geq("hi"))).andReturn("hello");} 4398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 4418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than or equal. 4428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 4438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 4448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T extends Comparable<T>> T geq(Comparable<T> expectedValue) { 4458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.geq(expectedValue); 4468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 4478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 4488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 4498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} argument greater than or equal to the given value as a parameter 4508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 4518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 4538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 4558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 4568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 4588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.geq((byte)42))).andReturn("hello");} 4598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 4618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than or equal. 4628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 4638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 4648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte geq(byte expectedValue) { 4658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.geq(expectedValue); 4668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 4678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 4688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 4698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} argument greater than or equal to the given value as a parameter 4708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 4718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 4738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 4758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 4768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 4788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.geq(42.0))).andReturn("hello");} 4798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 4818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than or equal. 4828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 4838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 4848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double geq(double expectedValue) { 4858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.geq(expectedValue); 4868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 4878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 4888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 4898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} argument greater than or equal to the given value as a parameter 4908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 4918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 4938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 4958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 4968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 4978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 4988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.geq(42.0f))).andReturn("hello");} 4998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 5018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than or equal. 5028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 5038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 5048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float geq(float expectedValue) { 5058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.geq(expectedValue); 5068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 5078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 5088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 5098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code int} argument greater than or equal to the given value as a parameter 5108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 5118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 5138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 5158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 5168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 5188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.geq(42))).andReturn("hello");} 5198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 5218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than or equal. 5228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 5238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 5248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int geq(int expectedValue) { 5258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.geq(expectedValue); 5268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 5278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 5288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 5298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} argument greater than or equal to the given value as a parameter 5308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 5318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 5338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 5358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 5368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 5388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.geq(42l))).andReturn("hello");} 5398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 5418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than or equal. 5428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 5438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 5448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long geq(long expectedValue) { 5458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.geq(expectedValue); 5468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 5478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 5488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 5498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} argument greater than or equal to the given value as a parameter 5508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 5518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 5538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 5558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 5568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 5588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.geq((short)42))).andReturn("hello");} 5598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 5618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than or equal. 5628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 5638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 5648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short geq(short expectedValue) { 5658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.geq(expectedValue); 5668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 5678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 5688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 5698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code Comparable} argument less than or equal to the given value as a parameter 5708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 5718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 5738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 5758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 5768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 5788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.leq("hi"))).andReturn("hello");} 5798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 5818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than or equal. 5828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 5838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 5848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T extends Comparable<T>> T leq(Comparable<T> expectedValue) { 5858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.leq(expectedValue); 5868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 5878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 5888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 5898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} argument less than or equal to the given value as a parameter 5908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 5918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 5938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 5958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 5968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 5978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 5988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.leq((byte)42))).andReturn("hello");} 5998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 6018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than or equal. 6028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 6038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 6048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte leq(byte expectedValue) { 6058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.leq(expectedValue); 6068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 6078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 6088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 6098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} argument less than or equal to the given value as a parameter 6108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 6118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 6138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 6158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 6168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 6188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.leq(42.0))).andReturn("hello");} 6198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 6218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than or equal. 6228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 6238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 6248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double leq(double expectedValue) { 6258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.leq(expectedValue); 6268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 6278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 6288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 6298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} argument less than or equal to the given value as a parameter 6308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 6318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 6338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 6358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 6368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 6388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.leq(42.0f))).andReturn("hello");} 6398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 6418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than or equal. 6428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 6438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 6448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float leq(float expectedValue) { 6458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.leq(expectedValue); 6468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 6478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 6488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 6498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code int} argument less than or equal to the given value as a parameter 6508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 6518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 6538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 6558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 6568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 6588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.leq(42))).andReturn("hello");} 6598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 6618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than or equal. 6628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 6638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 6648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int leq(int expectedValue) { 6658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.leq(expectedValue); 6668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 6678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 6688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 6698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} argument less than or equal to the given value as a parameter 6708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 6718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 6738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 6758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 6768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 6788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.leq(42l))).andReturn("hello");} 6798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 6818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than or equal. 6828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 6838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 6848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long leq(long expectedValue) { 6858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.leq(expectedValue); 6868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 6878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 6888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 6898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} argument less than or equal to the given value as a parameter 6908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 6918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 6938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 6958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 6968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 6978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 6988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.leq((short)42))).andReturn("hello");} 6998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 7018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than or equal. 7028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 7038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 7048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short leq(short expectedValue) { 7058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.leq(expectedValue); 7068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 7078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 7088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 7098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code Comparable} argument greater than the given value as a parameter 7108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 7118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 7138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 7158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 7168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 7188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.gt("hi"))).andReturn("hello");} 7198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 7218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than. 7228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 7238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 7248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T extends Comparable<T>> T gt(Comparable<T> expectedValue) { 7258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.gt(expectedValue); 7268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 7278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 7288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 7298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} argument greater than the given value as a parameter 7308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 7318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 7338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 7358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 7368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 7388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.gt((byte)42))).andReturn("hello");} 7398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 7418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than. 7428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 7438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 7448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte gt(byte expectedValue) { 7458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.gt(expectedValue); 7468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 7478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 7488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 7498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} argument greater than the given value as a parameter 7508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 7518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 7538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 7558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 7568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 7588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.gt(42.0))).andReturn("hello");} 7598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 7618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than. 7628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 7638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 7648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double gt(double expectedValue) { 7658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.gt(expectedValue); 7668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 7678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 7688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 7698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} argument greater than the given value as a parameter 7708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 7718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 7738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 7758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 7768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 7788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.gt(42.0f))).andReturn("hello");} 7798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 7818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than. 7828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 7838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 7848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float gt(float expectedValue) { 7858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.gt(expectedValue); 7868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 7878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 7888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 7898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code int} argument greater than the given value as a parameter 7908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 7918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 7938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 7958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 7968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 7978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 7988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.gt(42))).andReturn("hello");} 7998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 8018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than. 8028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 8038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 8048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int gt(int expectedValue) { 8058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.gt(expectedValue); 8068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 8078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 8088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 8098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} argument greater than the given value as a parameter 8108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 8118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 8138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 8158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 8168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 8188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.gt(42l))).andReturn("hello");} 8198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 8218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than. 8228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 8238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 8248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long gt(long expectedValue) { 8258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.gt(expectedValue); 8268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 8278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 8288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 8298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} argument greater than the given value as a parameter 8308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 8318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 8338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 8358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 8368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 8388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.gt((short)42))).andReturn("hello");} 8398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 8418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be greater than. 8428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 8438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 8448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short gt(short expectedValue) { 8458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.gt(expectedValue); 8468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 8478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 8488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 8498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code Comparable} argument less than the given value as a parameter 8508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 8518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 8538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 8558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 8568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 8588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.lt("hi"))).andReturn("hello");} 8598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 8618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than. 8628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 8638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 8648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T extends Comparable<T>> T lt(Comparable<T> expectedValue) { 8658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.lt(expectedValue); 8668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 8678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 8688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 8698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} argument less than the given value as a parameter 8708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 8718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 8738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 8758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 8768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 8788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.lt((byte)42))).andReturn("hello");} 8798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 8818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than. 8828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 8838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 8848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte lt(byte expectedValue) { 8858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.lt(expectedValue); 8868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 8878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 8888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 8898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} argument less than the given value as a parameter 8908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 8918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 8938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 8958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 8968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 8978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 8988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.lt(42.0))).andReturn("hello");} 8998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 9018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than. 9028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 9038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 9048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double lt(double expectedValue) { 9058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.lt(expectedValue); 9068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 9078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 9088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 9098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} argument less than the given value as a parameter 9108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 9118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 9138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 9158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 9168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 9188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.lt(42.0f))).andReturn("hello");} 9198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 9218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than. 9228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 9238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 9248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float lt(float expectedValue) { 9258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.lt(expectedValue); 9268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 9278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 9288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 9298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code int} argument less than the given value as a parameter 9308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 9318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 9338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 9358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 9368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 9388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.lt(42))).andReturn("hello");} 9398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 9418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than. 9428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 9438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 9448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int lt(int expectedValue) { 9458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.lt(expectedValue); 9468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 9478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 9488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 9498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} argument less than the given value as a parameter 9508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 9518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 9538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 9558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 9568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 9588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.lt(42l))).andReturn("hello");} 9598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 9618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than. 9628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 9638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 9648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long lt(long expectedValue) { 9658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.lt(expectedValue); 9668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 9678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 9688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 9698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} argument less than the given value as a parameter 9708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to a mocked method. 9718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 9738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 9758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 9768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 9788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.lt((short)42))).andReturn("hello");} 9798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 9818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be less than. 9828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 9838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 9848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short lt(short expectedValue) { 9858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.lt(expectedValue); 9868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 9878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 9888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 9898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an object implementing the given class as a parameter to a mocked method. During 9908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * replay mode, the mocked method call will accept any {@code Object} that is an instance of 9918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the specified class or one of its subclasses. Specifically, any {@code non-null} parameter for 9928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * which the {@code java.lang.Class.isAssignableFrom(Class)} will return true will be accepted by 9938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * this matcher during the replay phase. 9948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 9968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 9978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 9988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 9998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 10018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.isA(HashMap.class))).andReturn("hello");} 10028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the expected Class type. 10048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param clazz the class of the accepted type. 10058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 10068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 10078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T isA(Class<T> clazz) { 10088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.isA(clazz); 10098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 10108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 10118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 10128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a string that contains the given substring as a parameter to a mocked method. 10138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code non-null String} which contains 10148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided {@code substring}. 10158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Use this to loosen the expectations of acceptable parameters for a mocked method call. 10178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 10198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 10208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 10228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.substring("hi"))).andReturn("hello");} 10238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param substring the substring which any incoming parameter to the mocked method must contain. 10258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. 10268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 10278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static String contains(String substring) { 10288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.contains(substring); 10298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 10308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 10318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 10328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code boolean} parameter that matches both of the provided expectations. During 10338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * replay mode, the mocked method will accept any {@code boolean} that matches both of the 10348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations. Possible expectations for {@code first} and {@code second} include (but 10358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * are not limited to) {@link #anyBoolean()} and {@link #eq(boolean)}. 10368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 10388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 10398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.and(AndroidMock.anyBoolean(), AndroidMock.eq(true)))).andReturn("hello");} 10408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 10428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(anyBoolean(), eq(true)))).andReturn("hello");} 10448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 10468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 10478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 10498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 10508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code false}. The return value is always ignored. 10518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 10528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static boolean and(boolean first, boolean second) { 10538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 10548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 10558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 10568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 10578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} parameter that matches both of the provided expectations. During replay 10588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mode, the mocked method will accept any {@code byte} that matches both of the provided 10598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectations. Possible expectations for {@code first} and {@code second} include (but are not 10608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limited to) {@link #anyByte()}, {@link #leq(byte)} and {@link #eq(byte)}. 10618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 10638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.and( 10648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.gt((byte)0), AndroidMock.lt((byte)42)))).andReturn("hello");} 10658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 10678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(gt((byte)0), lt((byte)42)))).andReturn("hello");} 10698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 10718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 10728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 10748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 10758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 10768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 10778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte and(byte first, byte second) { 10788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 10798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 10808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 10818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 10828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code char} parameter that matches both of the provided expectations. During replay 10838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mode, the mocked method will accept any {@code char} that matches both of the provided 10848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectations. Possible expectations for {@code first} and {@code second} include (but are not 10858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limited to) {@link #anyChar()} and {@link #eq(char)}. 10868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 10888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 10898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.and(AndroidMock.geq('a'), AndroidMock.lt('q')))).andReturn("hello");} 10908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 10928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(eq('a'), anyChar()))).andReturn("hello");} 10948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 10968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 10978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 10988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 10998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 11008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 11018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 11028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static char and(char first, char second) { 11038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 11048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 11058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 11068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 11078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} parameter that matches both of the provided expectations. During 11088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * replay mode, the mocked method will accept any {@code double} that matches both of the provided 11098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectations. Possible expectations for {@code first} and {@code second} include (but are not 11108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limited to) {@link #anyDouble()}, {@link #leq(double)} and {@link #eq(double)}. 11118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 11138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 11148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.and(AndroidMock.gt(0.0), AndroidMock.lt(42.0)))).andReturn("hello");} 11158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 11178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(gt(0.0), lt(42.0)))).andReturn("hello");} 11198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 11218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 11228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 11248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 11258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 11268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 11278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double and(double first, double second) { 11288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 11298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 11308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 11318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 11328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} parameter that matches both of the provided expectations. During 11338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * replay mode, the mocked method will accept any {@code float} that matches both of the provided 11348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectations. Possible expectations for {@code first} and {@code second} include (but are not 11358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limited to) {@link #anyFloat()}, {@link #leq(float)} and {@link #eq(float)}. 11368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 11388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 11398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.and(AndroidMock.gt(0.0f), AndroidMock.lt(42.0f)))).andReturn("hello");} 11408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 11428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(gt(0.0f), lt(42.0f)))).andReturn("hello");} 11448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 11468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 11478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 11498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 11508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 11518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 11528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float and(float first, float second) { 11538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 11548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 11558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 11568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 11578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code int} parameter that matches both of the provided expectations. During 11588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * replay mode, the mocked method will accept any {@code int} that matches both of the provided 11598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectations. Possible expectations for {@code first} and {@code second} include (but are not 11608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limited to) {@link #anyInt()}, {@link #leq(int)} and {@link #eq(int)}. 11618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 11638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 11648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.and(AndroidMock.gt(0), AndroidMock.lt(42)))).andReturn("hello");} 11658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 11678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(gt(0), lt(42)))).andReturn("hello");} 11698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 11718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 11728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 11748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 11758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 11768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 11778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int and(int first, int second) { 11788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 11798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 11808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 11818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 11828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} parameter that matches both of the provided expectations. During 11838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * replay mode, the mocked method will accept any {@code long} that matches both of the provided 11848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectations. Possible expectations for {@code first} and {@code second} include (but are not 11858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limited to) {@link #anyLong()}, {@link #leq(long)} and {@link #eq(long)}. 11868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 11888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 11898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.and(AndroidMock.gt(0l), AndroidMock.lt(42l)))).andReturn("hello");} 11908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 11928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(gt(0l), lt(42l)))).andReturn("hello");} 11948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 11968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 11978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 11988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 11998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 12008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 12018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 12028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long and(long first, long second) { 12038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 12048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 12058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 12068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 12078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} parameter that matches both of the provided expectations. During 12088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * replay mode, the mocked method will accept any {@code short} that matches both of the provided 12098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectations. Possible expectations for {@code first} and {@code second} include (but are not 12108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limited to) {@link #anyShort()}, {@link #leq(short)} and {@link #eq(short)}. 12118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 12138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.and( 12148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.gt((short)0), AndroidMock.lt((short)42)))).andReturn("hello");} 12158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 12178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(gt((short)0), lt((short)42)))).andReturn("hello");} 12198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 12218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 12228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 12248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 12258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 12268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 12278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short and(short first, short second) { 12288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 12298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 12308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 12318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 12328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code Object} parameter that matches both of the provided expectations. During 12338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * replay mode, the mocked method will accept any {@code Object} that matches both of the provided 12348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expectations. Possible expectations for {@code first} and {@code second} include (but are not 12358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * limited to) {@link #anyObject()}, {@link #isA(Class)} and {@link #contains(String)}. 12368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 12388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 12398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.and( 12408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.contains("hi"), AndroidMock.contains("world")))).andReturn("hello");} 12418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 12438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(contains("hi"), contains("world")))).andReturn("hello");} 12458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 12478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 12488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 12508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 12518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 12528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 12538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T and(T first, T second) { 12548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.and(first, second); 12558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 12568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 12578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 12588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code boolean} parameter that matches one or both of the provided expectations. 12598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code boolean} that matches one of the 12608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 12618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyBoolean()} and {@link #eq(boolean)}. 12628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 12648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 12658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.or(AndroidMock.eq(true), AndroidMock.anyBoolean()))).andReturn("hello");} 12668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 12688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(and(eq(true), anyBoolean()))).andReturn("hello");} 12708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 12728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 12738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 12758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 12768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code false}. The return value is always ignored. 12778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 12788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static boolean or(boolean first, boolean second) { 12798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 12808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 12818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 12828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 12838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} parameter that matches one or both of the provided expectations. 12848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code byte} that matches one of the 12858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 12868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyByte()}, {@link #eq(byte)}, 12878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * and {@link #lt(byte)}. 12888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 12908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.or( 12918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.geq((byte)0), AndroidMock.lt((byte)42)))).andReturn("hello");} 12928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 12948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(or(geq((byte)0), lt((byte)42)))).andReturn("hello");} 12968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 12978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 12988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 12998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 13018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 13028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 13038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 13048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte or(byte first, byte second) { 13058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 13068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 13078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 13088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 13098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code char} parameter that matches one or both of the provided expectations. 13108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code char} that matches one of the 13118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 13128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyChar()} and {@link #eq(char)}. 13138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 13158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.or( 13168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.eq('a'), AndroidMock.eq('z')))).andReturn("hello");} 13178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 13198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(or(eq('a'), eq('z')))).andReturn("hello");} 13218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 13238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 13248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 13268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 13278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 13288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 13298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static char or(char first, char second) { 13308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 13318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 13328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 13338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 13348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} parameter that matches one or both of the provided expectations. 13358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code double} that matches one of the 13368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 13378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyDouble()}, {@link #eq(double)} 13388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * and {@link #lt(double)}. 13398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 13418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.or( 13428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.eq(0.0), AndroidMock.geq(42.0)))).andReturn("hello");} 13438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 13458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(or(eq(0.0), geq(42.0)))).andReturn("hello");} 13478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 13498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 13508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 13528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 13538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 13548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 13558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double or(double first, double second) { 13568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 13578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 13588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 13598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 13608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} parameter that matches one or both of the provided expectations. 13618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code float} that matches one of the 13628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 13638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyFloat()}, {@link #eq(float)} 13648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * and {@link #lt(float)}. 13658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 13678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.or( 13688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.eq(0.0f), AndroidMock.geq(42.0f)))).andReturn("hello");} 13698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 13718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(or(eq(0.0f), geq(42.0f)))).andReturn("hello");} 13738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 13758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 13768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 13788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 13798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 13808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 13818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float or(float first, float second) { 13828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 13838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 13848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 13858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 13868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code int} parameter that matches one or both of the provided expectations. 13878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code int} that matches one of the 13888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 13898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyInt()}, {@link #eq(int)} 13908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * and {@link #lt(int)}. 13918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 13938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.or( 13948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.eq(0), AndroidMock.geq(42)))).andReturn("hello");} 13958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 13978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 13988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(or(eq(0), geq(42)))).andReturn("hello");} 13998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 14018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 14028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 14048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 14058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 14068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 14078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int or(int first, int second) { 14088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 14098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 14108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 14118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 14128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} parameter that matches one or both of the provided expectations. 14138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code long} that matches one of the 14148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 14158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyLong()}, {@link #eq(long)} 14168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * and {@link #lt(long)}. 14178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 14198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.or( 14208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.eq(0l), AndroidMock.geq(42l)))).andReturn("hello");} 14218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 14238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(or(eq(0l), geq(42l)))).andReturn("hello");} 14258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 14278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 14288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 14308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 14318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 14328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 14338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long or(long first, long second) { 14348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 14358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 14368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 14378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 14388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} parameter that matches one or both of the provided expectations. 14398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code short} that matches one of the 14408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 14418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyShort()}, {@link #eq(short)} 14428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * and {@link #lt(short)}. 14438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 14458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.or( 14468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.eq((short)0), AndroidMock.geq((short)42)))).andReturn("hello");} 14478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 14498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(or(eq((short)0), geq((short)42)))).andReturn("hello");} 14518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 14538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 14548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 14568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 14578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 14588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 14598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short or(short first, short second) { 14608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 14618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 14628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 14638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 14648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code Object} parameter that matches one or both of the provided expectations. 14658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code Object} that matches one of the 14668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * provided expectations, or both of them. Possible expectations for {@code first} and 14678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code second} include (but are not limited to) {@link #anyObject()}, {@link #eq(Class)} 14688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * and {@link #lt(Comparable)}. 14698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 14718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.or( 14728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.notNull(), AndroidMock.geq(fortyTwo)))).andReturn("hello");} 14738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 14758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(or(notNull(), geq(fortyTwo)))).andReturn("hello");} 14778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 14798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 14808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param first the first expectation to test. 14828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param second the second expectation to test. 14838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 14848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 14858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T or(T first, T second) { 14868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.or(first, second); 14878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 14888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 14898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 14908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code boolean} parameter that does not match the provided expectation. 14918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code boolean} that does not match 14928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 14938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyBoolean()} and {@link #eq(boolean)}. 14948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 14968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 14978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq(true)))).andReturn("hello");} 14988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 14998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 15008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq(true)))).andReturn("hello");} 15028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 15048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 15058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 15078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code false}. The return value is always ignored. 15088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 15098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static boolean not(boolean expectation) { 15108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 15118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 15128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 15138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 15148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} parameter that does not match the provided expectation. 15158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code byte} that does not match 15168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 15178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyByte()}, {@link #eq(byte)} and 15188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #lt(byte)}. 15198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 15218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 15228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq((byte)42)))).andReturn("hello");} 15238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 15258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq((byte)42)))).andReturn("hello");} 15278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 15298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 15308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 15328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 15338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 15348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte not(byte expectation) { 15358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 15368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 15378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 15388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 15398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code char} parameter that does not match the provided expectation. 15408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code char} that does not match 15418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 15428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyChar()} and {@link #eq(char)}. 15438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 15458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 15468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq('a')))).andReturn("hello");} 15478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 15498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq('a')))).andReturn("hello");} 15518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 15538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 15548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 15568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 15578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 15588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static char not(char expectation) { 15598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 15608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 15618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 15628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 15638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} parameter that does not match the provided expectation. 15648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code double} that does not match 15658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 15668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyDouble()}, {@link #eq(double)} and 15678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #lt(double)}. 15688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 15708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 15718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq(42.0)))).andReturn("hello");} 15728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 15748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq(42.0)))).andReturn("hello");} 15768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 15788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 15798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 15818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 15828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 15838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double not(double expectation) { 15848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 15858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 15868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 15878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 15888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} parameter that does not match the provided expectation. 15898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code float} that does not match 15908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 15918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyFloat()}, {@link #eq(float)} and 15928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #lt(float)}. 15938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 15958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 15968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq(42.0f)))).andReturn("hello");} 15978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 15988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 15998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq(42.0f)))).andReturn("hello");} 16018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 16038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 16048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 16068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 16078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 16088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float not(float expectation) { 16098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 16108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 16118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 16128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 16138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code int} parameter that does not match the provided expectation. 16148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code int} that does not match 16158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 16168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyInt()}, {@link #eq(int)} and 16178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #lt(int)}. 16188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 16208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 16218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq(42)))).andReturn("hello");} 16228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 16248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq(42)))).andReturn("hello");} 16268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 16288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 16298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 16318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 16328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 16338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int not(int expectation) { 16348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 16358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 16368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 16378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 16388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} parameter that does not match the provided expectation. 16398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code long} that does not match 16408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 16418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyLong()}, {@link #eq(long)} and 16428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #lt(long)}. 16438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 16458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 16468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq(42l)))).andReturn("hello");} 16478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 16498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq(42l)))).andReturn("hello");} 16518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 16538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 16548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 16568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 16578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 16588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long not(long expectation) { 16598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 16608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 16618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 16628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 16638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} parameter that does not match the provided expectation. 16648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code short} that does not match 16658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 16668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyShort()}, {@link #eq(short)} and 16678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #lt(short)}. 16688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 16708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 16718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq((short)42)))).andReturn("hello");} 16728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 16748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq((short)42)))).andReturn("hello");} 16768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 16788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 16798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 16818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 16828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 16838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short not(short expectation) { 16848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 16858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 16868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 16878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 16888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code Object} parameter that does not match the given expectation. 16898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code Object} that does not match 16908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the provided expectation. Possible expectations for {@code expectation} 16918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * include (but are not limited to) {@link #anyObject()}, {@link #leq(Comparable)} and 16928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #isNull()}. 16938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 16958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString( 16968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.not(AndroidMock.eq(fortyTwo)))).andReturn("hello");} 16978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 16988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 16998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(not(eq(fortyTwo)))).andReturn("hello");} 17018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 17038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 17048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectation the expectation to test. 17068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 17078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 17088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T not(T expectation) { 17098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.not(expectation); 17108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 17118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 17128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 17138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code boolean} parameter that is equal to the provided {@code value}. 17148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code boolean} that matches the 17158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue}. 17168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 17188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(true))).andReturn("hello");} 17198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 17218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(true))).andReturn("hello");} 17238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 17258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 17268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 17288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 17298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code false}. The return value is always ignored. 17308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 17318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static boolean eq(boolean expectedValue) { 17328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 17338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 17348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 17358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 17368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} parameter that is equal to the provided {@code expectedValue}. 17378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code byte} that matches the 17388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue}. 17398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 17418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq((byte)0))).andReturn("hello");} 17428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 17448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq((byte)0))).andReturn("hello");} 17468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 17488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 17498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 17518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 17528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code false}. The return value is always ignored. 17538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 17548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte eq(byte expectedValue) { 17558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 17568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 17578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 17588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 17598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code char} parameter that is equal to the provided {@code expectedValue}. 17608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code char} that matches the 17618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue}. 17628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 17648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq('a'))).andReturn("hello");} 17658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 17678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq('a'))).andReturn("hello");} 17698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 17718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 17728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 17748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 17758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 17768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 17778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static char eq(char expectedValue) { 17788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 17798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 17808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 17818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 17828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} parameter that is equal to the provided {@code expectedValue}. 17838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code double} that matches the 17848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue}. 17858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 17878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(0.0))).andReturn("hello");} 17888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 17908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(0.0))).andReturn("hello");} 17928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 17948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 17958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 17968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 17978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 17988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 17998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 18008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double eq(double expectedValue) { 18018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 18028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 18038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 18048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 18058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} parameter that is equal to the provided {@code expectedValue}. 18068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code float} that matches the 18078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue}. 18088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 18108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(0.0f))).andReturn("hello");} 18118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 18138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(0.0f))).andReturn("hello");} 18158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 18178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 18188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 18208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 18218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 18228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 18238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float eq(float expectedValue) { 18248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 18258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 18268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 18278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 18288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code int} parameter that is equal to the provided {@code expectedValue}. 18298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code int} that matches the 18308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue}. 18318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 18338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(0))).andReturn("hello");} 18348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 18368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(0))).andReturn("hello");} 18388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 18408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 18418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 18438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 18448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 18458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 18468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int eq(int expectedValue) { 18478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 18488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 18498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 18508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 18518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} parameter that is equal to the provided {@code expectedValue}. 18528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code long} that matches the 18538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue}. 18548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 18568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(0l))).andReturn("hello");} 18578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 18598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(0l))).andReturn("hello");} 18618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 18638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 18648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 18668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 18678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 18688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 18698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long eq(long expectedValue) { 18708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 18718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 18728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 18738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 18748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} parameter that is equal to the provided {@code expectedValue}. 18758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code short} that matches the 18768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue}. 18778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 18798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq((short)0))).andReturn("hello");} 18808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 18828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq((short)0))).andReturn("hello");} 18848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 18868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 18878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 18888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 18898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 18908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 18918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 18928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short eq(short expectedValue) { 18938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 18948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 18958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 18968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 18978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code Object} parameter that is equal to the provided {@code expectedValue}. 18988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * During replay mode, the mocked method will accept any {@code Object} that matches the 18998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value of {@code expectedValue} according to its {@code equals(Object)} method. 19008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 19028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq("hi"))).andReturn("hello");} 19038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 19058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq("hi"))).andReturn("hello");} 19078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 19098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 19108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the value to which the specified incoming parameter to the mocked method 19128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must be equal. 19138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 19148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 19158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T eq(T expectedValue) { 19168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue); 19178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 19188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 19198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 19208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code boolean} array parameter that is equal to the given array, i.e. it has to 19218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 19228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 19248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myBooleanArray))).andReturn("hello");} 19258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 19278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myBooleanArray))).andReturn("hello");} 19298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 19318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 19328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 19348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 19358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 19368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 19378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static boolean[] aryEq(boolean[] expectedValue) { 19388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 19398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 19408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 19418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 19428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code byte} array parameter that is equal to the given array, i.e. it has to 19438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 19448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 19468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myByteArray))).andReturn("hello");} 19478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 19498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myByteArray))).andReturn("hello");} 19518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 19538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 19548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 19568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 19578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 19588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 19598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte[] aryEq(byte[] expectedValue) { 19608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 19618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 19628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 19638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 19648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code char} array parameter that is equal to the given array, i.e. it has to 19658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 19668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 19688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myCharArray))).andReturn("hello");} 19698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 19718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myCharArray))).andReturn("hello");} 19738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 19758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 19768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 19788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 19798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 19808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 19818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static char[] aryEq(char[] expectedValue) { 19828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 19838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 19848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 19858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 19868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} array parameter that is equal to the given array, i.e. it has to 19878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 19888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 19908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myDoubleArray))).andReturn("hello");} 19918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 19938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myDoubleArray))).andReturn("hello");} 19958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 19978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 19988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 19998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 20008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 20018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 20028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 20038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double[] aryEq(double[] expectedValue) { 20048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 20058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 20068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 20078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 20088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} array parameter that is equal to the given array, i.e. it has to 20098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 20108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 20128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myFloatrArray))).andReturn("hello");} 20138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 20158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myFloatArray))).andReturn("hello");} 20178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 20198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 20208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 20228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 20238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 20248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 20258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float[] aryEq(float[] expectedValue) { 20268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 20278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 20288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 20298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 20308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code int} array parameter that is equal to the given array, i.e. it has to 20318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 20328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 20348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myIntArray))).andReturn("hello");} 20358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 20378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myIntArray))).andReturn("hello");} 20398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 20418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 20428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 20448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 20458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 20468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 20478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int[] aryEq(int[] expectedValue) { 20488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 20498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 20508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 20518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 20528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code long} array parameter that is equal to the given array, i.e. it has to 20538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 20548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 20568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myLongArray))).andReturn("hello");} 20578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 20598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myLongArray))).andReturn("hello");} 20618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 20638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 20648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 20668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 20678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 20688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 20698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long[] aryEq(long[] expectedValue) { 20708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 20718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 20728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 20738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 20748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code short} array parameter that is equal to the given array, i.e. it has to 20758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 20768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 20788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myShortArray))).andReturn("hello");} 20798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 20818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myShortArray))).andReturn("hello");} 20838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 20858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 20868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 20888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 20898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 20908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 20918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static short[] aryEq(short[] expectedValue) { 20928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 20938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 20948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 20958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 20968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code Object} array parameter that is equal to the given array, i.e. it has to 20978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * have the same length, and each element has to be equal. 20988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 20998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 21008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mock.getString(AndroidMock.eq(myObjectArray))).andReturn("hello");} 21018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Or, for illustration purposes (using static imports) 21038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expect(mock.getString(eq(myObjectArray))).andReturn("hello");} 21058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 21078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 21088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the type of the array, it is passed through to prevent casts. 21108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the array to which the specified incoming parameter to the mocked method 21118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * must have equal contents. 21128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 21138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 21148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T[] aryEq(T[] expectedValue) { 21158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.aryEq(expectedValue); 21168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 21178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 21188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 21198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code null} Object as a parameter. 21208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 21228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 21238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 21258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 21268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("unchecked") 21278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T isNull() { 21288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return (T) EasyMock.isNull(); 21298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 21308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 21318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 21328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects any {@code non-null} Object parameter. 21338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 21358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 21368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 21388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 21398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("unchecked") 21408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T notNull() { 21418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return (T) EasyMock.notNull(); 21428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 21438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 21448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 21458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code String} that contains a substring that matches the given regular 21468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expression as a parameter to the mocked method. 21478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * See {@link java.util.regex.Matcher#find()} for more details. 21498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 21518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 21528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param regex the regular expression which must match some substring of the incoming parameter 21548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * to the mocked method. 21558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 21568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 21578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static String find(String regex) { 21588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.find(regex); 21598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 21608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 21618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 21628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code String} as a parameter to the mocked method, the entire length of which must 21638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * match the given regular expression. This is not to be confused with {@link #find(String)} which 21648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * matches the regular expression against any substring of the incoming parameter to the mocked 21658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * method. 21668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * See {@link java.util.regex.Matcher#matches()} for more details. 21688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 21708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 21718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param regex the regular expression against which the entire incoming parameter to the 21738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mocked method must match. 21748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 21758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 21768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static String matches(String regex) { 21778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.matches(regex); 21788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 21798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 21808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 21818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code String} as a parameter to the mocked method that starts with the given prefix. 21828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * See {@link java.lang.String#startsWith(String)} for more details. 21848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 21868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 21878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 21888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param prefix the string that is expected to match against the start of any incoming 21898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * parameter to the mocked method. 21908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 21918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 21928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static String startsWith(String prefix) { 21938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.startsWith(prefix); 21948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 21958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 21968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 21978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code String} as a parameter to the mocked method that ends with the given 21988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code suffix}. 21998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * See {@link java.lang.String#startsWith(String)} for more details. 22018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 22038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 22048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param suffix the string that is expected to match against the end of any incoming 22068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * parameter to the mocked method. 22078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 22088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 22098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static String endsWith(String suffix) { 22108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.endsWith(suffix); 22118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 22128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 22138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 22148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code double} as a parameter to the mocked method that has an absolute difference to 22158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the given {@code expectedValue} that is less than the given {@code delta}. 22168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The acceptable range of values is theoretically defined as any value {@code x} which satisfies 22188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the following inequality: {@code expectedValue - delta <= x <= expectedValue + delta}. 22198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * In practice, this is only true when {@code expectedValue + delta} and 22218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expectedValue - delta} fall exactly on a precisely representable {@code double} value. 22228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Normally, the acceptable range of values is defined as any value {@code x} which satisfies the 22238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * following inequality: 22248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expectedValue - delta < x < expectedValue + delta}. 22258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. {@code AndroidMock.expect(mockObject.getString( 22278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.eq(42.0, 0.1))).andReturn("hello world");} 22288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The code snippet above will expect any {@code double} value greater than 41.9 and 22308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * less than 42.1. 22318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 22338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 22348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the center value of the expected range of values. 22368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param delta the acceptable level of inaccuracy before this expectation fails. 22378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 22388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 22398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double eq(double expectedValue, double delta) { 22408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue, delta); 22418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 22428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 22438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 22448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@code float} as a parameter to the mocked method that has an absolute difference to 22458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the given {@code expectedValue} that is less than the given {@code delta}. 22468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The acceptable range of values is theoretically defined as any value {@code x} which satisfies 22488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the following inequality: {@code expectedValue - delta <= x <= expectedValue + delta}. 22498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * In practice, this is only true when {@code expectedValue + delta} and 22518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expectedValue - delta} fall exactly on a precisely representable {@code float} value. 22528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Normally, the acceptable range of values is defined as any value {@code x} which satisfies the 22538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * following inequality: 22548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expectedValue - delta < x < expectedValue + delta}. 22558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. {@code AndroidMock.expect(mockObject.getString( 22578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.eq(42.0f, 0.1f))).andReturn("hello world");} 22588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The code snippet above will expect any {@code float} value greater than 41.9 and 22608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * less than 42.1. 22618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 22638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 22648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the center value of the expected range of values. 22668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param delta the acceptable level of inaccuracy before this expectation fails. 22678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 22688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 22698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float eq(float expectedValue, float delta) { 22708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.eq(expectedValue, delta); 22718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 22728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 22738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 22748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an {@code Object} as a parameter to the mocked method that is the same as the given 22758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * value. This expectation will fail unless the incoming parameter is {@code ==} to the 22768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code expectedValue} provided (i.e. the same {@code Object} reference). 22778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 22798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 22808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> the type of the object, it is passed through to prevent casts. 22828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the exact object which is expected during replay. 22838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 22848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 22858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T same(T expectedValue) { 22868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.same(expectedValue); 22878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 22888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 22898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 22908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects a {@link java.lang.Comparable} argument equal to the given value according to 22918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * its {@link java.lang.Comparable#compareTo(Object)} method. 22928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 22948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 22958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 22968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the {@link java.lang.Comparable} value which is expected to be equal to 22978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * the incoming parameter to the mocked method according to the 22988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link java.lang.Comparable#compareTo(Object)} method. 22998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 23008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 23018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T extends Comparable<T>> T cmpEq(Comparable<T> expectedValue) { 23028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.cmpEq(expectedValue); 23038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 23048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 23058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 23068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expects an argument that will be compared using the provided {@link java.util.Comparator}, the 23078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * result of which will then be applied to the provided {@link org.easymock.LogicalOperator} 23088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * (e.g. {@link org.easymock.LogicalOperator#LESS_THAN}, 23098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.LogicalOperator#EQUAL}, 23108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.LogicalOperator#GREATER_OR_EQUAL}). 23118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The following comparison will take place: 23138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code comparator.compare(actual, expected) operator 0} 23148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 23168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * For illustration purposes (using static imports): 23178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code 23198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expect(mockObject.getString(cmp("hi", CASE_INSENSITIVE_ORDER, LESS_THAN))).andReturn("hello");} 23208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code 23228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.expect(mockObject.getString(AndroidMock.cmp("hi", String.CASE_INSENSITIVE_ORDER, 23238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * LogicalOperator.LESS_THAN))).andReturn("hello");} 23248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The above invocation indicates that the call to {@code mockObject.getString(String)} is 23278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expecting any String which is lexically before "hi" (in a case insensitive ordering). 23288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * If this method is used for anything other than to set a parameter expectation as part of a 23308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * mock object's recording phase, then an {@code IllegalStateException} will be thrown. 23318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param expectedValue the expected value against which the incoming method parameter will be 23338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * compared. 23348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param comparator {@link java.util.Comparator} used to perform the comparison between the 23358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * expected value and the incoming parameter to the mocked method. 23368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param operator The comparison operator, usually one of 23378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.LogicalOperator#LESS_THAN}, 23388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.LogicalOperator#LESS_OR_EQUAL}, 23398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.LogicalOperator#EQUAL}, {@link org.easymock.LogicalOperator#GREATER}, 23408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.LogicalOperator#GREATER_OR_EQUAL} 23418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 23428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 23438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T cmp(T expectedValue, Comparator<? super T> comparator, 23448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal LogicalOperator operator) { 23458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.cmp(expectedValue, comparator, operator); 23468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 23478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 23488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 23498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expect any {@code Object} as a parameter to the mocked method, but capture it for later use. 23508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture} allows for capturing of the incoming value. Use 23528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} to retrieve the captured value. 23538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param <T> Type of the captured object 23558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param captured a container to hold the captured value, retrieved by 23568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} 23578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code null}. The return value is always ignored. 23588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 23598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static <T> T capture(Capture<T> captured) { 23608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.capture(captured); 23618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 23628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 23638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 23648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expect any {@code int/Integer} as a parameter to the mocked method, but capture it for later 23658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * use. 23668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture} allows for capturing of the incoming value. Use 23688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} to retrieve the captured value. 23698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param captured a container to hold the captured value, retrieved by 23718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} 23728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 23738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 23748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static int capture(Capture<Integer> captured) { 23758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.capture(captured); 23768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 23778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 23788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 23798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expect any {@code long/Long} as a parameter to the mocked method, but capture it for later 23808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * use. 23818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture} allows for capturing of the incoming value. Use 23838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} to retrieve the captured value. 23848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param captured a container to hold the captured value, retrieved by 23868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} 23878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 23888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 23898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static long capture(Capture<Long> captured) { 23908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.capture(captured); 23918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 23928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 23938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 23948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expect any {@code float/Float} as a parameter to the mocked method, but capture it for later 23958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * use. 23968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 23978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture} allows for capturing of the incoming value. Use 23988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} to retrieve the captured value. 23998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param captured a container to hold the captured value, retrieved by 24018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} 24028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 24038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 24048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static float capture(Capture<Float> captured) { 24058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.capture(captured); 24068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 24088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 24098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expect any {@code double/Double} as a parameter to the mocked method, but capture it for later 24108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * use. 24118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture} allows for capturing of the incoming value. Use 24138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} to retrieve the captured value. 24148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param captured a container to hold the captured value, retrieved by 24168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} 24178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0}. The return value is always ignored. 24188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 24198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static double capture(Capture<Double> captured) { 24208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.capture(captured); 24218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 24238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 24248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expect any {@code byte/Byte} as a parameter to the mocked method, but capture it for later 24258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * use. 24268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture} allows for capturing of the incoming value. Use 24288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} to retrieve the captured value. 24298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param captured a container to hold the captured value, retrieved by 24318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} 24328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0} 24338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 24348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static byte capture(Capture<Byte> captured) { 24358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.capture(captured); 24368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 24388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 24398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Expect any {@code char/Character} as a parameter to the mocked method, but capture it for later 24408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * use. 24418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture} allows for capturing of the incoming value. Use 24438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} to retrieve the captured value. 24448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param captured a container to hold the captured value, retrieved by 24468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.Capture#getValue()} 24478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return {@code 0} 24488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 24498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static char capture(Capture<Character> captured) { 24508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.capture(captured); 24518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 24538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 24548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Switches the given mock objects (more exactly: the controls of the mock 24558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * objects) to replay mode. 24568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param mocks the mock objects. 24588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 24598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void replay(Object... mocks) { 24608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (Object mockObject : mocks) { 24618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (mockObject instanceof MockObject) { 24628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.replay(((MockObject) mockObject).getDelegate___AndroidMock()); 24638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 24648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.replay(mockObject); 24658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 24698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 24708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Resets the given mock objects (more exactly: the controls of the mock 24718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * objects) allowing the mock objects to be reused. 24728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param mocks the mock objects. 24748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 24758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void reset(Object... mocks) { 24768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (Object mockObject : mocks) { 24778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (mockObject instanceof MockObject) { 24788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.reset(((MockObject) mockObject).getDelegate___AndroidMock()); 24798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 24808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.reset(mockObject); 24818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 24858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 24868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Resets the given mock objects (more exactly: the controls of the mock 24878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * objects) and change them in to mocks with nice behavior. 24888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #createNiceMock(Class, Object...)} has more details. 24898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 24908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param mocks the mock objects 24918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 24928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void resetToNice(Object... mocks) { 24938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (Object mockObject : mocks) { 24948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (mockObject instanceof MockObject) { 24958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.resetToNice(((MockObject) mockObject).getDelegate___AndroidMock()); 24968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 24978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.resetToNice(mockObject); 24988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 24998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 25028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 25038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Resets the given mock objects (more exactly: the controls of the mock 25048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * objects) and turn them to a mock with default behavior. {@link #createMock(Class, Object...)} 25058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * has more details. 25068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param mocks the mock objects 25088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 25098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void resetToDefault(Object... mocks) { 25108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (Object mockObject : mocks) { 25118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (mockObject instanceof MockObject) { 25128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.resetToDefault(((MockObject) mockObject).getDelegate___AndroidMock()); 25138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 25148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.resetToDefault(mockObject); 25158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 25198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 25208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Resets the given mock objects (more exactly: the controls of the mock 25218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * objects) and turn them to a mock with strict behavior. 25228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link #createStrictMock(Class, Object...)} has more details. 25238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param mocks the mock objects 25258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 25268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void resetToStrict(Object... mocks) { 25278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (Object mockObject : mocks) { 25288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (mockObject instanceof MockObject) { 25298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.resetToStrict(((MockObject) mockObject).getDelegate___AndroidMock()); 25308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 25318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.resetToStrict(mockObject); 25328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 25368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 25378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Verifies that all of the expected method calls for the given mock objects (more exactly: the 25388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * controls of the mock objects) have been executed. 25398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * The {@code verify} method captures the scenario where several methods were invoked correctly, 25418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * but some invocations did not occur. Typically, the {@code verify} method is the final thing 25428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * invoked in a test. 25438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param mocks the mock objects. 25458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 25468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void verify(Object... mocks) { 25478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (Object mockObject : mocks) { 25488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (mockObject instanceof MockObject) { 25498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.verify(((MockObject) mockObject).getDelegate___AndroidMock()); 25508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 25518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.verify(mockObject); 25528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 25568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 25578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Switches order checking of the given mock object (more exactly: the control 25588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * of the mock object) on or off. When order checking is on, the mock will expect the method 25598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * invokations to occur exactly in the order in which they appeared during the recording phase. 25608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param mock the mock object. 25628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param orderCheckingOn {@code true} to turn order checking on, {@code false} to turn it off. 25638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 25648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void checkOrder(Object mock, boolean orderCheckingOn) { 25658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (mock instanceof MockObject) { 25668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.checkOrder(((MockObject) mock).getDelegate___AndroidMock(), orderCheckingOn); 25678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 25688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.checkOrder(mock, orderCheckingOn); 25698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 25728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 25738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Reports an argument matcher. This method is needed to define custom argument 25748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * matchers. 25758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * For example: 25778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code 25798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.reportMatcher(new IntIsFortyTwo()); 25808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * AndroidMock.expect(mockObject.getString(null)).andReturn("hello world");} 25818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * This example will expect a parameter for {@code mockObject.getString(int)} that matches the 25838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * conditions required by the {@code matches} method as defined by 25848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.IArgumentMatcher#matches(Object)}. 25858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param matcher the matcher whose {@code matches} method will be applied to the incoming 25878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * parameter to the mocked method. 25888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 25898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void reportMatcher(IArgumentMatcher matcher) { 25908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.reportMatcher(matcher); 25918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 25928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 25938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 25948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Returns the arguments of the current mock method call, if inside an 25958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code IAnswer} callback - be careful here, reordering parameters of a 25968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * method changes the semantics of your tests. 25978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 25988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * This method is only usable within an {@link org.easymock.IAnswer} instance. Attach an 25998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.IAnswer} to an expectation by using the 26008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@link org.easymock.IExpectationSetters#andAnswer(org.easymock.IAnswer)} method. 26018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 26028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * E.g. 26038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * {@code AndroidMock.expect(mockObject.getString()).andAnswer(myAnswerCallback);} 26048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 26058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @return the arguments of the current mock method call. 26068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @throws IllegalStateException if called outside of {@code IAnswer} 26078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * callbacks. 26088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 26098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static Object[] getCurrentArguments() { 26108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return EasyMock.getCurrentArguments(); 26118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 26138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal /** 26148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * Makes the mock thread safe. The mock will be usable in a multithreaded 26158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * environment. 26168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * 26178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param mock the mock to make thread safe. 26188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal * @param threadSafe If the mock should be thread safe or not. 26198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal */ 26208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal public static void makeThreadSafe(Object mock, boolean threadSafe) { 26218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (mock instanceof MockObject) { 26228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.makeThreadSafe(((MockObject) mock).getDelegate___AndroidMock(), threadSafe); 26238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 26248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal EasyMock.makeThreadSafe(mock, threadSafe); 26258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 26288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("unchecked") 26298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal private static <T, S> T getSubclassFor(Class<? super T> clazz, Class<S> delegateInterface, 26308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Object realMock, Object... args) { 26318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Class<T> subclass; 26328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal String className = null; 26338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal try { 26348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (isAndroidClass(clazz)) { 26358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal className = FileUtils.getSubclassNameFor(clazz, SdkVersion.getCurrentVersion()); 26368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 26378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal className = FileUtils.getSubclassNameFor(clazz, SdkVersion.UNKNOWN); 26388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal subclass = (Class<T>) Class.forName(className); 26408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (ClassNotFoundException e) { 26418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new RuntimeException("Could not find class for " + className 26428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + " which likely means that the mock-instrumented jar has not been created or else" 26438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + " is not being used in the current runtime environment. Try running MockGeneratorMain" 26448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + " in MockGenerator_deploy.jar or using the output of that execution as the input to" 26458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + " the dex/apk generation.", e); 26468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Constructor<T> constructor = getConstructorFor(subclass, args); 26488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal T newObject; 26498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal try { 26508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal newObject = constructor.newInstance(args); 26518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (InstantiationException e) { 26528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new RuntimeException("Internal error instantiating new mock subclass" 26538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + subclass.getName(), e); 26548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (IllegalAccessException e) { 26558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new RuntimeException( 26568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal "Internal error - the new mock subclass' constructor was inaccessible", e); 26578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (InvocationTargetException e) { 26588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new ExceptionInInitializerError(e); 26598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Method[] methods = subclass.getMethods(); 26618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Method setMethod; 26628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal try { 26638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal setMethod = subclass.getMethod("setDelegate___AndroidMock", delegateInterface); 26648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (NoSuchMethodException e) { 26658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new RuntimeException("Internal error - No setDelegate method found for " + "class " 26668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + subclass.getName() + " and param " + delegateInterface.getName(), e); 26678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal try { 26698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal setMethod.invoke(newObject, realMock); 26708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (IllegalArgumentException e) { 26718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new IllegalArgumentException("Internal error setting the delegate, expected " 26728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + newObject.getClass() + " to be subclass of " + clazz.getName()); 26738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (InvocationTargetException e) { 26748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new RuntimeException("Severe internal error, setDelegate threw an exception", e); 26758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (IllegalAccessException e) { 26768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new RuntimeException("Internal error, setDelegate method was inaccessible", e); 26778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return newObject; 26798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 26818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal static boolean isUnboxableToPrimitive(Class<?> clazz, Object arg, boolean exactMatch) { 26828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (!clazz.isPrimitive()) { 26838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new IllegalArgumentException( 26848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal "Internal Error - The class to test against is not a primitive"); 26858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 26868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Class<?> unboxedType = null; 26878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (arg.getClass().equals(Integer.class)) { 26888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal unboxedType = Integer.TYPE; 26898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (arg.getClass().equals(Long.class)) { 26908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal unboxedType = Long.TYPE; 26918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (arg.getClass().equals(Byte.class)) { 26928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal unboxedType = Byte.TYPE; 26938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (arg.getClass().equals(Short.class)) { 26948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal unboxedType = Short.TYPE; 26958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (arg.getClass().equals(Character.class)) { 26968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal unboxedType = Character.TYPE; 26978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (arg.getClass().equals(Float.class)) { 26988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal unboxedType = Float.TYPE; 26998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (arg.getClass().equals(Double.class)) { 27008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal unboxedType = Double.TYPE; 27018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (arg.getClass().equals(Boolean.class)) { 27028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal unboxedType = Boolean.TYPE; 27038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 27048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return false; 27058da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27068da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (exactMatch) { 27078da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return clazz == unboxedType; 27088da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27098da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return isAssignable(clazz, unboxedType); 27108da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27118da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 27128da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal private static boolean isAssignable(Class<?> to, Class<?> from) { 27138da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (to == Byte.TYPE) { 27148da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return from == Byte.TYPE; 27158da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (to == Short.TYPE){ 27168da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return from == Byte.TYPE || from == Short.TYPE || from == Character.TYPE; 27178da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (to == Integer.TYPE || to == Character.TYPE) { 27188da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return from == Byte.TYPE || from == Short.TYPE || from == Integer.TYPE 27198da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal || from == Character.TYPE; 27208da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (to == Long.TYPE) { 27218da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return from == Byte.TYPE || from == Short.TYPE || from == Integer.TYPE || from == Long.TYPE 27228da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal || from == Character.TYPE; 27238da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (to == Float.TYPE) { 27248da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return from == Byte.TYPE || from == Short.TYPE || from == Integer.TYPE 27258da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal || from == Character.TYPE || from == Float.TYPE; 27268da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (to == Double.TYPE) { 27278da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return from == Byte.TYPE || from == Short.TYPE || from == Integer.TYPE || from == Long.TYPE 27288da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal || from == Character.TYPE || from == Float.TYPE || from == Double.TYPE; 27298da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (to == Boolean.TYPE) { 27308da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return from == Boolean.TYPE; 27318da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 27328da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return to.isAssignableFrom(from); 27338da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27348da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27358da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 27368da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("unchecked") 27378da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal static <T> Constructor<T> getConstructorFor(Class<T> clazz, Object... args) 27388da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throws SecurityException { 27398da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Constructor<T>[] constructors = (Constructor<T>[]) clazz.getConstructors(); 27408da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Constructor<T> compatibleConstructor = null; 27418da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (Constructor<T> constructor : constructors) { 27428da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Class<?>[] params = constructor.getParameterTypes(); 27438da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (params.length == args.length) { 27448da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal boolean exactMatch = true; 27458da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal boolean compatibleMatch = true; 27468da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (int i = 0; i < params.length; ++i) { 27478da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal Object arg = args[i]; 27488da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (arg == null) { 27498da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal arg = Void.TYPE; 27508da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27518da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (!params[i].isAssignableFrom(arg.getClass())) { 27528da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (params[i].isPrimitive()) { 27538da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal exactMatch &= isUnboxableToPrimitive(params[i], arg, true); 27548da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal compatibleMatch &= isUnboxableToPrimitive(params[i], arg, false); 27558da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 27568da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal exactMatch = false; 27578da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal compatibleMatch = false; 27588da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27598da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27608da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27618da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (exactMatch) { 27628da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return constructor; 27638da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else if (compatibleMatch) { 27648da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal compatibleConstructor = constructor; 27658da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27668da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27678da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27688da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (compatibleConstructor != null) { 27698da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return compatibleConstructor; 27708da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27718da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal List<String> argTypes = new ArrayList<String>(args.length); 27728da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal for (Object arg : args) { 27738da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal argTypes.add(arg == null ? "<null>" : arg.getClass().toString()); 27748da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27758da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new IllegalArgumentException("Could not find the specified Constructor: " 27768da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + clazz.getName() + "(" + argTypes + ")"); 27778da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27788da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 27798da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal @SuppressWarnings("unchecked") 27808da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal private static <T> Class<T> getInterfaceFor(Class<T> clazz) { 27818da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal try { 27828da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal String className; 27838da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal if (isAndroidClass(clazz)) { 27848da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal className = FileUtils.getInterfaceNameFor(clazz, SdkVersion.getCurrentVersion()); 27858da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } else { 27868da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal className = FileUtils.getInterfaceNameFor(clazz, SdkVersion.UNKNOWN); 27878da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27888da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return (Class<T>) Class.forName(className); 27898da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } catch (ClassNotFoundException e) { 27908da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal throw new RuntimeException("Could not find mock for " + clazz.getName() 27918da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + " -- Make sure to run the MockGenerator.jar on your test jar, and to " 27928da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal + "build the Android test APK using the modified jar created by MockGenerator", e); 27938da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27948da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 27958da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal 27968da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal static boolean isAndroidClass(Class<?> clazz) { 27978da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal String packageName = clazz.getPackage().getName(); 27988da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal return packageName.startsWith("android.") || packageName.startsWith("dalvik.") 27998da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal || packageName.startsWith("java.") || packageName.startsWith("javax.") 28008da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal || packageName.startsWith("org.xml.sax") || packageName.startsWith("org.xmlpull.v1") 28018da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal || packageName.startsWith("org.w3c.dom") || packageName.startsWith("org.apache.http") 28028da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal || packageName.startsWith("junit."); 28038da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal } 28048da3e6ec64b991f5aa1e6561941d130683eba753Luis Sigal} 2805