1e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/*
2e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Copyright (c) 2007 Mockito contributors
3e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * This program is made available under the terms of the MIT License.
4e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */
5e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
6e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpackage org.mockito;
7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.matchers.ArrayEquals;
9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.matchers.CompareEqual;
10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.matchers.EqualsWithDelta;
11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.matchers.Find;
12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.matchers.GreaterOrEqual;
13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.matchers.GreaterThan;
14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.matchers.LessOrEqual;
15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.matchers.LessThan;
16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.progress.HandyReturnValues;
17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.progress.MockingProgress;
18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.progress.ThreadSafeMockingProgress;
19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/**
21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * See {@link Matchers} for general info about matchers.
22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <p>
23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * AdditionalMatchers provides rarely used matchers, kept only for somewhat compatibility with EasyMock.
24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Use additional matchers very judiciously because they may impact readability of a test.
25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * It is recommended to use matchers from {@link Matchers} and keep stubbing and verification simple.
26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <p>
27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Example of using logical and(), not(), or() matchers:
28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <pre class="code"><code class="java">
30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *   //anything but not "ejb"
31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *   mock.someMethod(not(eq("ejb")));
32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
33e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *   //not "ejb" and not "michael jackson"
34e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *   mock.someMethod(and(not(eq("ejb")), not(eq("michael jackson"))));
35e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
36e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *   //1 or 10
37e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *   mock.someMethod(or(eq(1), eq(10)));
38e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * </code></pre>
39e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson *
40e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Scroll down to see all methods - full list of matchers.
41e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */
42e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class AdditionalMatchers {
43e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
44e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    private static MockingProgress mockingProgress = new ThreadSafeMockingProgress();
45e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
46e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
47e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * argument greater than or equal the given value.
48e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
49e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
50e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
51e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
52e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
53e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
54e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
55e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T extends Comparable<T>> T geq(Comparable<T> value) {
56e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterOrEqual<T>(value)).<T>returnNull();
57e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
58e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
59e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
60e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * byte argument greater than or equal to the given value.
61e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
62e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
63e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
64e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
65e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
66e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
67e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
68e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static byte geq(byte value) {
69e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterOrEqual<Byte>(value)).returnZero();
70e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
71e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
72e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
73e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double argument greater than or equal to the given value.
74e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
75e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
76e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
77e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
78e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
79e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
80e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
81e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double geq(double value) {
82e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterOrEqual<Double>(value)).returnZero();
83e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
84e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
85e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
86e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float argument greater than or equal to the given value.
87e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
88e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
89e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
90e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
91e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
92e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
93e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
94e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float geq(float value) {
95e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterOrEqual<Float>(value)).returnZero();
96e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
97e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
98e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
99e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * int argument greater than or equal to the given value.
100e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
101e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
102e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
103e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
104e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
105e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
106e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
107e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static int geq(int value) {
108e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterOrEqual<Integer>(value)).returnZero();
109e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
110e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
111e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
112e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * long argument greater than or equal to the given value.
113e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
114e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
115e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
116e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
117e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
118e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
119e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
120e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static long geq(long value) {
121e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterOrEqual<Long>(value)).returnZero();
122e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
123e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
124e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
125e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * short argument greater than or equal to the given value.
126e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
127e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
128e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
129e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
130e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
131e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
132e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
133e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static short geq(short value) {
134e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterOrEqual<Short>(value)).returnZero();
135e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
136e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
137e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
138e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * comparable argument less than or equal the given value details.
139e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
140e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
141e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
142e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
143e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
144e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
145e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
146e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T extends Comparable<T>> T leq(Comparable<T> value) {
147e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessOrEqual<T>(value)).<T>returnNull();
148e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
149e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
150e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
151e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * byte argument less than or equal to the given value.
152e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
153e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
154e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
155e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
156e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
157e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
158e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
159e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static byte leq(byte value) {
160e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessOrEqual<Byte>(value)).returnZero();
161e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
162e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
163e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
164e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double argument less than or equal to the given value.
165e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
166e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
167e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
168e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
169e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
170e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
171e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
172e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double leq(double value) {
173e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessOrEqual<Double>(value)).returnZero();
174e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
175e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
176e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
177e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float argument less than or equal to the given value.
178e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
179e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
180e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
181e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
182e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
183e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
184e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
185e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float leq(float value) {
186e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessOrEqual<Float>(value)).returnZero();
187e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
188e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
189e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
190e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * int argument less than or equal to the given value.
191e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
192e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
193e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
194e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
195e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
196e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
197e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
198e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static int leq(int value) {
199e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessOrEqual<Integer>(value)).returnZero();
200e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
201e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
202e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
203e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * long argument less than or equal to the given value.
204e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
205e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
206e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
207e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
208e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
209e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
210e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
211e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static long leq(long value) {
212e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessOrEqual<Long>(value)).returnZero();
213e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
214e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
215e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
216e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * short argument less than or equal to the given value.
217e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
218e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
219e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
220e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
221e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
222e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
223e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
224e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static short leq(short value) {
225e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessOrEqual<Short>(value)).returnZero();
226e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
227e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
228e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
229e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * comparable argument greater than the given value.
230e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
231e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
232e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
233e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
234e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
235e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
236e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
237e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T extends Comparable<T>> T gt(Comparable<T> value) {
238e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterThan<T>(value)).<T>returnNull();
239e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
240e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
241e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
242e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * byte argument greater than the given value.
243e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
244e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
245e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
246e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
247e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
248e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
249e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
250e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static byte gt(byte value) {
251e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterThan<Byte>(value)).returnZero();
252e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
253e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
254e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
255e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double argument greater than the given value.
256e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
257e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
258e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
259e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
260e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
261e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
262e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
263e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double gt(double value) {
264e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterThan<Double>(value)).returnZero();
265e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
266e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
267e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
268e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float argument greater than the given value.
269e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
270e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
271e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
272e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
273e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
274e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
275e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
276e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float gt(float value) {
277e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterThan<Float>(value)).returnZero();
278e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
279e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
280e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
281e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * int argument greater than the given value.
282e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
283e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
284e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
285e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
286e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
287e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
288e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
289e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static int gt(int value) {
290e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterThan<Integer>(value)).returnZero();
291e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
292e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
293e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
294e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * long argument greater than the given value.
295e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
296e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
297e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
298e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
299e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
300e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
301e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
302e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static long gt(long value) {
303e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterThan<Long>(value)).returnZero();
304e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
305e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
306e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
307e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * short argument greater than the given value.
308e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
309e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
310e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
311e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
312e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
313e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
314e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
315e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static short gt(short value) {
316e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new GreaterThan<Short>(value)).returnZero();
317e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
318e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
319e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
320e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * comparable argument less than the given value.
321e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
322e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
323e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
324e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
325e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
326e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
327e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
328e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T extends Comparable<T>> T lt(Comparable<T> value) {
329e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessThan<T>(value)).<T>returnNull();
330e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
331e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
332e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
333e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * byte argument less than the given value.
334e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
335e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
336e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
337e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
338e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
339e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
340e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
341e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static byte lt(byte value) {
342e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessThan<Byte>(value)).returnZero();
343e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
344e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
345e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
346e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double argument less than the given value.
347e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
348e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
349e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
350e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
351e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
352e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
353e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
354e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double lt(double value) {
355e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessThan<Double>(value)).returnZero();
356e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
357e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
358e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
359e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float argument less than the given value.
360e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
361e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
362e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
363e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
364e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
365e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
366e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
367e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float lt(float value) {
368e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessThan<Float>(value)).returnZero();
369e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
370e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
371e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
372e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * int argument less than the given value.
373e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
374e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
375e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
376e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
377e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
378e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
379e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
380e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static int lt(int value) {
381e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessThan<Integer>(value)).returnZero();
382e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
383e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
384e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
385e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * long argument less than the given value.
386e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
387e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
388e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
389e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
390e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
391e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
392e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
393e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static long lt(long value) {
394e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessThan<Long>(value)).returnZero();
395e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
396e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
397e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
398e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * short argument less than the given value.
399e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
400e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
401e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
402e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
403e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
404e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
405e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
406e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static short lt(short value) {
407e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new LessThan<Short>(value)).returnZero();
408e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
409e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
410e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
411e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * comparable argument equals to the given value according to their
412e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * compareTo method.
413e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
414e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
415e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
416e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
417e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
418e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
419e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
420e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T extends Comparable<T>> T cmpEq(Comparable<T> value) {
421e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new CompareEqual<T>(value)).<T>returnNull();
422e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
423e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
424e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
425e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * String argument that contains a substring that matches the given regular
426e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * expression.
427e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
428e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param regex
429e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the regular expression.
430e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
431e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
432e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static String find(String regex) {
433e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new Find(regex)).<String>returnNull();
434e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
435e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
436e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
437e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * Object array argument that is equal to the given array, i.e. it has to
438e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * have the same type, length, and each element has to be equal.
439e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
440e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
441e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
442e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param <T>
443e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the type of the array, it is passed through to prevent casts.
444e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
445e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
446e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
447e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
448e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T> T[] aryEq(T[] value) {
449e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
450e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
451e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
452e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
453e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * short array argument that is equal to the given array, i.e. it has to
454e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * have the same length, and each element has to be equal.
455e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
456e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
457e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
458e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
459e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
460e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
461e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
462e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static short[] aryEq(short[] value) {
463e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
464e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
465e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
466e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
467e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * long array argument that is equal to the given array, i.e. it has to have
468e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * the same length, and each element has to be equal.
469e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
470e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
471e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
472e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
473e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
474e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
475e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
476e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static long[] aryEq(long[] value) {
477e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
478e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
479e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
480e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
481e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * int array argument that is equal to the given array, i.e. it has to have
482e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * the same length, and each element has to be equal.
483e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
484e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
485e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
486e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
487e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
488e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
489e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
490e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static int[] aryEq(int[] value) {
491e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
492e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
493e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
494e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
495e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float array argument that is equal to the given array, i.e. it has to
496e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * have the same length, and each element has to be equal.
497e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
498e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
499e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
500e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
501e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
502e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
503e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
504e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float[] aryEq(float[] value) {
505e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
506e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
507e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
508e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
509e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double array argument that is equal to the given array, i.e. it has to
510e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * have the same length, and each element has to be equal.
511e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
512e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
513e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
514e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
515e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
516e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
517e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
518e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double[] aryEq(double[] value) {
519e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
520e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
521e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
522e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
523e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * char array argument that is equal to the given array, i.e. it has to have
524e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * the same length, and each element has to be equal.
525e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
526e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
527e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
528e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
529e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
530e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
531e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
532e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static char[] aryEq(char[] value) {
533e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
534e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
535e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
536e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
537e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * byte array argument that is equal to the given array, i.e. it has to have
538e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * the same length, and each element has to be equal.
539e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
540e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
541e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
542e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
543e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
544e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
545e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
546e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static byte[] aryEq(byte[] value) {
547e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
548e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
549e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
550e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
551e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * boolean array argument that is equal to the given array, i.e. it has to
552e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * have the same length, and each element has to be equal.
553e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
554e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
555e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
556e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
557e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given array.
558e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
559e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
560e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static boolean[] aryEq(boolean[] value) {
561e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new ArrayEquals(value)).returnNull();
562e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
563e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
564e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
565e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * boolean argument that matches both given matchers.
566e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
567e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
568e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
569e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
570e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
571e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
572e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
573e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>false</code>.
574e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
575e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static boolean and(boolean first, boolean second) {
576e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().returnFalse();
577e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
578e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
579e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
580e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * byte argument that matches both given argument matchers.
581e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
582e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
583e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
584e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
585e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
586e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
587e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
588e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
589e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
590e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static byte and(byte first, byte second) {
591e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().returnZero();
592e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
593e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
594e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
595e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * char argument that matches both given argument matchers.
596e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
597e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
598e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
599e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
600e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
601e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
602e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
603e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
604e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
605e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static char and(char first, char second) {
606e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().returnChar();
607e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
608e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
609e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
610e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double argument that matches both given argument matchers.
611e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
612e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
613e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
614e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
615e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
616e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
617e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
618e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
619e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
620e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double and(double first, double second) {
621e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().returnZero();
622e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
623e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
624e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
625e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float argument that matches both given argument matchers.
626e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
627e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
628e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
629e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
630e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
631e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
632e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
633e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
634e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
635e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float and(float first, float second) {
636e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().returnZero();
637e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
638e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
639e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
640e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * int argument that matches both given argument matchers.
641e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
642e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
643e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
644e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
645e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
646e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
647e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
648e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
649e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
650e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static int and(int first, int second) {
651e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().returnZero();
652e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
653e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
654e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
655e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * long argument that matches both given argument matchers.
656e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
657e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
658e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
659e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
660e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
661e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
662e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
663e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
664e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
665e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static long and(long first, long second) {
666e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().returnZero();
667e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
668e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
669e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
670e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * short argument that matches both given argument matchers.
671e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
672e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
673e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
674e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
675e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
676e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
677e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
678e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
679e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
680e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static short and(short first, short second) {
681e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().returnZero();
682e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
683e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
684e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
685e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * Object argument that matches both given argument matchers.
686e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
687e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
688e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
689e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param <T>
690e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the type of the object, it is passed through to prevent casts.
691e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
692e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
693e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
694e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
695e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
696e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
697e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T> T and(T first, T second) {
698e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportAnd().<T>returnNull();
699e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
700e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
701e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
702e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * boolean argument that matches any of the given argument matchers.
703e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
704e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
705e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
706e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
707e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
708e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
709e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
710e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>false</code>.
711e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
712e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static boolean or(boolean first, boolean second) {
713e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().returnFalse();
714e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
715e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
716e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
717e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * Object argument that matches any of the given argument matchers.
718e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
719e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
720e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
721e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param <T>
722e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the type of the object, it is passed through to prevent casts.
723e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
724e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
725e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
726e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
727e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
728e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
729e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T> T or(T first, T second) {
730e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().<T>returnNull();
731e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
732e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
733e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
734e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * short argument that matches any of the given argument matchers.
735e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
736e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
737e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
738e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
739e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
740e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
741e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
742e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
743e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
744e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static short or(short first, short second) {
745e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().returnZero();
746e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
747e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
748e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
749e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * long argument that matches any of the given argument matchers.
750e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
751e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
752e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
753e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
754e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
755e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
756e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
757e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
758e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
759e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static long or(long first, long second) {
760e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().returnZero();
761e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
762e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
763e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
764e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * int argument that matches any of the given argument matchers.
765e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
766e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
767e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
768e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
769e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
770e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
771e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
772e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
773e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
774e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static int or(int first, int second) {
775e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().returnZero();
776e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
777e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
778e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
779e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float argument that matches any of the given argument matchers.
780e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
781e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
782e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
783e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
784e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
785e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
786e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
787e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
788e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
789e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float or(float first, float second) {
790e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().returnZero();
791e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
792e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
793e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
794e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double argument that matches any of the given argument matchers.
795e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
796e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
797e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
798e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
799e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
800e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
801e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
802e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
803e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
804e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double or(double first, double second) {
805e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().returnZero();
806e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
807e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
808e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
809e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * char argument that matches any of the given argument matchers.
810e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
811e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
812e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
813e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
814e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
815e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
816e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
817e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
818e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
819e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static char or(char first, char second) {
820e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().returnChar();
821e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
822e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
823e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
824e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * byte argument that matches any of the given argument matchers.
825e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
826e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
827e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
828e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
829e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the first argument matcher.
830e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param second
831e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the second argument matcher.
832e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
833e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
834e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static byte or(byte first, byte second) {
835e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportOr().returnZero();
836e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
837e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
838e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
839e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * Object argument that does not match the given argument matcher.
840e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
841e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
842e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
843e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param <T>
844e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the type of the object, it is passed through to prevent casts.
845e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
846e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
847e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>null</code>.
848e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
849e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static <T> T not(T first) {
850e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().<T>returnNull();
851e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
852e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
853e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
854e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * short argument that does not match the given argument matcher.
855e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
856e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
857e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
858e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
859e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
860e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
861e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
862e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static short not(short first) {
863e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().returnZero();
864e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
865e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
866e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
867e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * int argument that does not match the given argument matcher.
868e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
869e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
870e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
871e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
872e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
873e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
874e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
875e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static int not(int first) {
876e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().returnZero();
877e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
878e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
879e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
880e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * long argument that does not match the given argument matcher.
881e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
882e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
883e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
884e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
885e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
886e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
887e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
888e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static long not(long first) {
889e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().returnZero();
890e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
891e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
892e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
893e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float argument that does not match the given argument matcher.
894e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
895e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
896e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
897e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
898e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
899e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
900e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
901e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float not(float first) {
902e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().returnZero();
903e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
904e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
905e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
906e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double argument that does not match the given argument matcher.
907e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
908e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
909e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
910e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
911e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
912e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
913e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
914e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double not(double first) {
915e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().returnZero();
916e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
917e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
918e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
919e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * char argument that does not match the given argument matcher.
920e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
921e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
922e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
923e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
924e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
925e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
926e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
927e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static char not(char first) {
928e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().returnChar();
929e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
930e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
931e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
932e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * boolean argument that does not match the given argument matcher.
933e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
934e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
935e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
936e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
937e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
938e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>false</code>.
939e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
940e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static boolean not(boolean first) {
941e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().returnFalse();
942e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
943e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
944e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
945e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * byte argument that does not match the given argument matcher.
946e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
947e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
948e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
949e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param first
950e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            placeholder for the argument matcher.
951e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
952e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
953e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static byte not(byte first) {
954e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportNot().returnZero();
955e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
956e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
957e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
958e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * double argument that has an absolute difference to the given value that
959e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * is less than the given delta details.
960e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
961e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
962e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
963e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
964e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
965e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param delta
966e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given delta.
967e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
968e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
969e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static double eq(double value, double delta) {
970e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new EqualsWithDelta(value, delta)).returnZero();
971e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
972e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
973e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    /**
974e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * float argument that has an absolute difference to the given value that is
975e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * less than the given delta details.
976e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * <p>
977e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * See examples in javadoc for {@link AdditionalMatchers} class
978e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *
979e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param value
980e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given value.
981e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @param delta
982e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     *            the given delta.
983e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     * @return <code>0</code>.
984e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson     */
985e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    public static float eq(float value, float delta) {
986e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return reportMatcher(new EqualsWithDelta(value, delta)).returnZero();
987e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
988e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson
989e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    private static HandyReturnValues reportMatcher(ArgumentMatcher<?> matcher) {
990e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson        return mockingProgress.getArgumentMatcherStorage().reportMatcher(matcher);
991e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson    }
992e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson}