/** * {@inheritDoc} * * @see DefaultDataProviderMethodResolver */ @Override public List<Method> resolve(DataProviderResolverContext context) { checkNotNull(context, "'context' must not be null"); List<Method> dataProviderMethods = findAnnotatedMethods(context.getLocations(), context.getDataProviderAnnotationClass()); List<Method> result = new ArrayList<Method>(); for (Method dataProviderMethod : dataProviderMethods) { if (context.useDataProviderNameConvention()) { if (isMatchingNameConvention(context.getTestMethod().getName(), dataProviderMethod.getName())) { result.add(dataProviderMethod); } } else if (dataProviderMethod.getName().equals(context.getDataProviderName())) { result.add(dataProviderMethod); } } return result; }
@Test public void testDataProviderResolverContextShouldAddTestMethodsDeclaringClassToLocationsIfLocationsIsEmpty() { // Given: List<Class<?>> emptyLocations = emptyList(); // When: DataProviderResolverContext result = new DataProviderResolverContext(testMethod, resolverClasses, resolveStrategy, emptyLocations, dataProviderAnnotationClass, dataProviderName); // Then: assertThat(result.getLocations()).containsOnly(testMethod.getDeclaringClass()); }
@Test public void testDataProviderResolverContext() { // When: DataProviderResolverContext result = new DataProviderResolverContext(testMethod, resolverClasses, resolveStrategy, locations, dataProviderAnnotationClass, dataProviderName); // Then: assertThat(result).isNotNull(); assertThat(result.getTestMethod()).isEqualTo(testMethod); assertThat(result.getResolverClasses()).isNotSameAs(resolverClasses).isEqualTo(resolverClasses); assertThat(result.getResolveStrategy()).isEqualTo(resolveStrategy); assertThat(result.getLocations()).isNotSameAs(locations).isEqualTo(locations); assertThat(result.getDataProviderAnnotationClass()).isEqualTo(dataProviderAnnotationClass); assertThat(result.getDataProviderName()).isEqualTo(dataProviderName); }