@Test public void shouldUseCustomObjectMatcher() { when(mock.oneArg(argThat(new ContainsFoo()))).thenReturn("foo"); assertEquals("foo", mock.oneArg("foo")); assertEquals(null, mock.oneArg("bar")); }
@Test public void shouldUseCustomCharMatcher() { when(mock.oneArg(charThat(new IsSorZ()))).thenReturn("foo"); assertEquals("foo", mock.oneArg('s')); assertEquals("foo", mock.oneArg('z')); assertEquals(null, mock.oneArg('x')); }
@Test public void shouldUseCustomBooleanMatcher() { when(mock.oneArg(booleanThat(new IsAnyBoolean()))).thenReturn("foo"); assertEquals("foo", mock.oneArg(true)); assertEquals("foo", mock.oneArg(false)); assertEquals(null, mock.oneArg("x")); }
@Test public void shouldUseCustomPrimitiveNumberMatchers() { when(mock.oneArg(byteThat(new IsZeroOrOne<Byte>()))).thenReturn("byte"); when(mock.oneArg(shortThat(new IsZeroOrOne<Short>()))).thenReturn("short"); when(mock.oneArg(intThat(new IsZeroOrOne<Integer>()))).thenReturn("int"); when(mock.oneArg(longThat(new IsZeroOrOne<Long>()))).thenReturn("long"); when(mock.oneArg(floatThat(new IsZeroOrOne<Float>()))).thenReturn("float"); when(mock.oneArg(doubleThat(new IsZeroOrOne<Double>()))).thenReturn("double"); assertEquals("byte", mock.oneArg((byte) 0)); assertEquals("short", mock.oneArg((short) 1)); assertEquals("int", mock.oneArg(0)); assertEquals("long", mock.oneArg(1L)); assertEquals("float", mock.oneArg(0F)); assertEquals("double", mock.oneArg(1.0)); assertEquals(null, mock.oneArg(2)); assertEquals(null, mock.oneArg("foo")); }