Add repeatable capabilities for @..Source annotations
Overview
These changes aim to add capabilities of repeatable @..Source annotations. Solves #3736.
Repeatable capabilities added to every annotation that makes use of AnnotationBasedArgumentsProvider by adapting to accept multiple annotations while aggregating the result of each annotation arguments.
Helper class AnnotationConsumerInitializer needs adaptations as well in order to invoke initialization for each annotation if repeatable.
This change does not affect annotations related to null and/or empty sources: @NullSource, @EmptySource and @NullAndEmptySource. This makes sense since they have predefined/hardcoded arguments relevant to null and empty collections.
I hereby agree to the terms of the JUnit Contributor License Agreement.
Definition of Done
- [x] There are no TODOs left in the code
- [ ] Method preconditions are checked and documented in the method's Javadoc
- [x] Coding conventions (e.g. for logging) have been followed
- [x] Change is covered by automated tests including corner cases, errors, and exception handling
- [x] Public API has Javadoc and
@APIannotations - [x] Change is documented in the User Guide and Release Notes