@Test public void testResolveShouldReturnEmptyListForNotFoundDataProviderMethods() { // Given: doReturn(Collections.<Method>emptyList()).when(underTest).findAnnotatedMethods( ArgumentMatchers.<List<Class<?>>>any(), ArgumentMatchers.<Class<? extends Annotation>>any()); // When: List<Method> result = underTest.resolve(context); // Then: assertThat(result).isEmpty(); }
@Test public void testResolveShouldReturnListContainingExplicitelySpecifiedDataProviderMethod() { // Given: final Method method2 = Methods.getMethod(this.getClass(), "dataProviderMethod"); final Method method3 = Methods.anyMethod(); doReturn(asList(method, method2, method3)).when(underTest).findAnnotatedMethods( ArgumentMatchers.<List<Class<?>>>any(), ArgumentMatchers.<Class<? extends Annotation>>any()); when(context.useDataProviderNameConvention()).thenReturn(false); when(context.getDataProviderName()).thenReturn("dataProviderMethod"); // When: List<Method> result = underTest.resolve(context); // Then: assertThat(result).containsOnly(method2); }
@Test public void testResolveShouldReturnListContainingOnlyConventionMatchingDataProviderMethods() { // Given: final Method method2 = Methods.anyMethod(); final Method method3 = Methods.anyMethod(); doReturn(asList(method, method2, method3)).when(underTest).findAnnotatedMethods( ArgumentMatchers.<List<Class<?>>>any(), ArgumentMatchers.<Class<? extends Annotation>>any()); doReturn(false).doReturn(true).doReturn(true).when(underTest).isMatchingNameConvention(any(String.class), any(String.class)); when(context.useDataProviderNameConvention()).thenReturn(true); when(context.getTestMethod()).thenReturn(Methods.anyMethod()); // When: List<Method> result = underTest.resolve(context); // Then: assertThat(result).containsOnly(method2, method3); }
@Test public void testResolveShouldThrowNullPointerExceptionIfContextIsNull() { // Given: expectedException.expect(NullPointerException.class); expectedException.expectMessage("'context' must not be null"); // When: underTest.resolve(null); // Then: expect exception }