{"action":"created","comment":{"url":"https://api.github.com/repos/junit-team/junit5/pulls/comments/178569224","pull_request_review_id":108645702,"id":178569224,"diff_hunk":"@@ -64,4 +74,22 @@ public Object resolveParameter(ParameterContext parameterContext, ExtensionConte\n \t\t\t\tex);\n \t\t}\n \t}\n+\n+\tpublic static boolean isAggregate(Parameter parameter) {\n+\t\treturn ArgumentsAccessor.class.isAssignableFrom(parameter.getType())\n+\t\t\t\t|| AnnotationUtils.isAnnotated(parameter, AggregateWith.class);\n+\t}\n+\n+\tprivate Object aggregate(ParameterContext parameterContext, ExtensionContext extensionContext) {\n+\n+\t\tParameter parameter = parameterContext.getParameter();\n+\t\tOptional<AggregateWith> annotation = AnnotationUtils.findAnnotation(parameter, AggregateWith.class);\n+\t\tArgumentsAccessor accessor = new DefaultArgumentsAccessor(arguments);\n+\t\t// @formatter:off\n+\t\treturn annotation.map(AggregateWith::value)\n+\t\t\t\t.map(clazz -> ReflectionUtils.newInstance(clazz))\n+\t\t\t\t.map(aggregator -> aggregator.aggregateArguments(accessor,parameterContext))","path":"junit-jupiter-params/src/main/java/org/junit/jupiter/params/ParameterizedTestParameterResolver.java","position":52,"original_position":52,"commit_id":"1a5c0256ef9563d9bf743f3edb09211ebd34ad8d","original_commit_id":"1a5c0256ef9563d9bf743f3edb09211ebd34ad8d","user":{"login":"geo-m","id":25904283,"avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"body":"If i understand correctly, ParameterResolution semantically encompasses any operation that results to the final value? Which means that i could move the Exception to the \"resolveParameter\" method to account for anything that goes wrong in the process?","created_at":"2018-04-02T15:31:52Z","updated_at":"2018-04-02T15:31:52Z","html_url":"https://github.com/junit-team/junit5/pull/1325#discussion_r178569224","pull_request_url":"https://api.github.com/repos/junit-team/junit5/pulls/1325","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/comments/178569224"},"html":{"href":"https://github.com/junit-team/junit5/pull/1325#discussion_r178569224"},"pull_request":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/1325"}},"in_reply_to_id":178522341},"pull_request":{"url":"https://api.github.com/repos/junit-team/junit5/pulls/1325","id":174223062,"html_url":"https://github.com/junit-team/junit5/pull/1325","diff_url":"https://github.com/junit-team/junit5/pull/1325.diff","patch_url":"https://github.com/junit-team/junit5/pull/1325.patch","issue_url":"https://api.github.com/repos/junit-team/junit5/issues/1325","number":1325,"state":"open","locked":false,"title":"Support aggregation of multiple arguments into a single object for parameterized tests","user":{"login":"geo-m","id":25904283,"avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"body":"## Overview\r\n\r\nDraft implementation of the proposed API for #1191 \r\n\r\nThe tests that fail due to the changes ensure that no surplus arguments are provided to a `@ParameterizedTest` method .However that is contradictory with the purpose of an aggregator. This is up to the Junit team to decide how to handle.\r\n\r\nIssue: #1191\r\n\r\n---\r\n\r\nI hereby agree to the terms of the [JUnit Contributor License Agreement](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#junit-contributor-license-agreement).\r\n\r\n---\r\n\r\n### Definition of Done\r\n\r\n- [ ] There are no TODOs left in the code\r\n- [ ] Method [preconditions](http://junit.org/junit5/docs/snapshot/api/org/junit/platform/commons/util/Preconditions.html) are checked and documented in the method's Javadoc\r\n- [x] [Coding conventions](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#coding-conventions) (e.g. for logging) have been followed\r\n- [x] Change is covered by [automated tests](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#tests)\r\n- [ ] Public API has [Javadoc](https://github.com/junit-team/junit5/blob/master/CONTRIBUTING.md#javadoc) and [`@API` annotations](http://junit.org/junit5/docs/snapshot/api/org/junit/platform/commons/meta/API.html)\r\n- [ ] Change is documented in the [User Guide](http://junit.org/junit5/docs/snapshot/user-guide/) and [Release Notes](http://junit.org/junit5/docs/snapshot/user-guide/#release-notes)\r\n- [x] All [continuous integration builds](https://github.com/junit-team/junit5#continuous-integration-builds) pass\r\n","created_at":"2018-03-11T14:14:07Z","updated_at":"2018-04-02T15:31:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e4003527c6770b4b9bd905f97cebfbd70f51690d","assignee":{"login":"geo-m","id":25904283,"avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"assignees":[{"login":"geo-m","id":25904283,"avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":420911923,"url":"https://api.github.com/repos/junit-team/junit5/labels/component:%20Jupiter","name":"component: Jupiter","color":"11ee99","default":false},{"id":294412858,"url":"https://api.github.com/repos/junit-team/junit5/labels/status:%20in%20progress","name":"status: in progress","color":"ffbb00","default":false},{"id":289029959,"url":"https://api.github.com/repos/junit-team/junit5/labels/theme:%20extensions","name":"theme: extensions","color":"c7def8","default":false},{"id":747276013,"url":"https://api.github.com/repos/junit-team/junit5/labels/theme:%20parameterized%20tests","name":"theme: parameterized tests","color":"9e9dea","default":false},{"id":293473932,"url":"https://api.github.com/repos/junit-team/junit5/labels/theme:%20programming%20model","name":"theme: programming model","color":"c7def8","default":false},{"id":165165180,"url":"https://api.github.com/repos/junit-team/junit5/labels/type:%20enhancement","name":"type: enhancement","color":"84b6eb","default":false}],"milestone":{"url":"https://api.github.com/repos/junit-team/junit5/milestones/22","html_url":"https://github.com/junit-team/junit5/milestone/22","labels_url":"https://api.github.com/repos/junit-team/junit5/milestones/22/labels","id":3141332,"number":22,"title":"5.2 M1","description":null,"creator":{"login":"marcphilipp","id":214207,"avatar_url":"https://avatars2.githubusercontent.com/u/214207?v=4","gravatar_id":"","url":"https://api.github.com/users/marcphilipp","html_url":"https://github.com/marcphilipp","followers_url":"https://api.github.com/users/marcphilipp/followers","following_url":"https://api.github.com/users/marcphilipp/following{/other_user}","gists_url":"https://api.github.com/users/marcphilipp/gists{/gist_id}","starred_url":"https://api.github.com/users/marcphilipp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcphilipp/subscriptions","organizations_url":"https://api.github.com/users/marcphilipp/orgs","repos_url":"https://api.github.com/users/marcphilipp/repos","events_url":"https://api.github.com/users/marcphilipp/events{/privacy}","received_events_url":"https://api.github.com/users/marcphilipp/received_events","type":"User","site_admin":false},"open_issues":19,"closed_issues":19,"state":"open","created_at":"2018-02-25T09:11:28Z","updated_at":"2018-04-02T12:34:43Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/junit-team/junit5/pulls/1325/commits","review_comments_url":"https://api.github.com/repos/junit-team/junit5/pulls/1325/comments","review_comment_url":"https://api.github.com/repos/junit-team/junit5/pulls/comments{/number}","comments_url":"https://api.github.com/repos/junit-team/junit5/issues/1325/comments","statuses_url":"https://api.github.com/repos/junit-team/junit5/statuses/1a5c0256ef9563d9bf743f3edb09211ebd34ad8d","head":{"label":"geo-m:Issue#1191","ref":"Issue#1191","sha":"1a5c0256ef9563d9bf743f3edb09211ebd34ad8d","user":{"login":"geo-m","id":25904283,"avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"repo":{"id":124676475,"name":"junit5","full_name":"geo-m/junit5","owner":{"login":"geo-m","id":25904283,"avatar_url":"https://avatars1.githubusercontent.com/u/25904283?v=4","gravatar_id":"","url":"https://api.github.com/users/geo-m","html_url":"https://github.com/geo-m","followers_url":"https://api.github.com/users/geo-m/followers","following_url":"https://api.github.com/users/geo-m/following{/other_user}","gists_url":"https://api.github.com/users/geo-m/gists{/gist_id}","starred_url":"https://api.github.com/users/geo-m/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geo-m/subscriptions","organizations_url":"https://api.github.com/users/geo-m/orgs","repos_url":"https://api.github.com/users/geo-m/repos","events_url":"https://api.github.com/users/geo-m/events{/privacy}","received_events_url":"https://api.github.com/users/geo-m/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/geo-m/junit5","description":"The next generation of JUnit.","fork":true,"url":"https://api.github.com/repos/geo-m/junit5","forks_url":"https://api.github.com/repos/geo-m/junit5/forks","keys_url":"https://api.github.com/repos/geo-m/junit5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/geo-m/junit5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/geo-m/junit5/teams","hooks_url":"https://api.github.com/repos/geo-m/junit5/hooks","issue_events_url":"https://api.github.com/repos/geo-m/junit5/issues/events{/number}","events_url":"https://api.github.com/repos/geo-m/junit5/events","assignees_url":"https://api.github.com/repos/geo-m/junit5/assignees{/user}","branches_url":"https://api.github.com/repos/geo-m/junit5/branches{/branch}","tags_url":"https://api.github.com/repos/geo-m/junit5/tags","blobs_url":"https://api.github.com/repos/geo-m/junit5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/geo-m/junit5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/geo-m/junit5/git/refs{/sha}","trees_url":"https://api.github.com/repos/geo-m/junit5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/geo-m/junit5/statuses/{sha}","languages_url":"https://api.github.com/repos/geo-m/junit5/languages","stargazers_url":"https://api.github.com/repos/geo-m/junit5/stargazers","contributors_url":"https://api.github.com/repos/geo-m/junit5/contributors","subscribers_url":"https://api.github.com/repos/geo-m/junit5/subscribers","subscription_url":"https://api.github.com/repos/geo-m/junit5/subscription","commits_url":"https://api.github.com/repos/geo-m/junit5/commits{/sha}","git_commits_url":"https://api.github.com/repos/geo-m/junit5/git/commits{/sha}","comments_url":"https://api.github.com/repos/geo-m/junit5/comments{/number}","issue_comment_url":"https://api.github.com/repos/geo-m/junit5/issues/comments{/number}","contents_url":"https://api.github.com/repos/geo-m/junit5/contents/{+path}","compare_url":"https://api.github.com/repos/geo-m/junit5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/geo-m/junit5/merges","archive_url":"https://api.github.com/repos/geo-m/junit5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/geo-m/junit5/downloads","issues_url":"https://api.github.com/repos/geo-m/junit5/issues{/number}","pulls_url":"https://api.github.com/repos/geo-m/junit5/pulls{/number}","milestones_url":"https://api.github.com/repos/geo-m/junit5/milestones{/number}","notifications_url":"https://api.github.com/repos/geo-m/junit5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/geo-m/junit5/labels{/name}","releases_url":"https://api.github.com/repos/geo-m/junit5/releases{/id}","deployments_url":"https://api.github.com/repos/geo-m/junit5/deployments","created_at":"2018-03-10T16:53:06Z","updated_at":"2018-03-10T16:53:14Z","pushed_at":"2018-03-31T13:26:59Z","git_url":"git://github.com/geo-m/junit5.git","ssh_url":"git@github.com:geo-m/junit5.git","clone_url":"https://github.com/geo-m/junit5.git","svn_url":"https://github.com/geo-m/junit5","homepage":"https://junit.org","size":470290,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"junit-team:master","ref":"master","sha":"a45ce627aa96e5af52cb96bf96c149b374b70092","user":{"login":"junit-team","id":874086,"avatar_url":"https://avatars1.githubusercontent.com/u/874086?v=4","gravatar_id":"","url":"https://api.github.com/users/junit-team","html_url":"https://github.com/junit-team","followers_url":"https://api.github.com/users/junit-team/followers","following_url":"https://api.github.com/users/junit-team/following{/other_user}","gists_url":"https://api.github.com/users/junit-team/gists{/gist_id}","starred_url":"https://api.github.com/users/junit-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/junit-team/subscriptions","organizations_url":"https://api.github.com/users/junit-team/orgs","repos_url":"https://api.github.com/users/junit-team/repos","events_url":"https://api.github.com/users/junit-team/events{/privacy}","received_events_url":"https://api.github.com/users/junit-team/received_events","type":"Organization","site_admin":false},"repo":{"id":29102367,"name":"junit5","full_name":"junit-team/junit5","owner":{"login":"junit-team","id":874086,"avatar_url":"https://avatars1.githubusercontent.com/u/874086?v=4","gravatar_id":"","url":"https://api.github.com/users/junit-team","html_url":"https://github.com/junit-team","followers_url":"https://api.github.com/users/junit-team/followers","following_url":"https://api.github.com/users/junit-team/following{/other_user}","gists_url":"https://api.github.com/users/junit-team/gists{/gist_id}","starred_url":"https://api.github.com/users/junit-team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/junit-team/subscriptions","organizations_url":"https://api.github.com/users/junit-team/orgs","repos_url":"https://api.github.com/users/junit-team/repos","events_url":"https://api.github.com/users/junit-team/events{/privacy}","received_events_url":"https://api.github.com/users/junit-team/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/junit-team/junit5","description":"The next generation of JUnit.","fork":false,"url":"https://api.github.com/repos/junit-team/junit5","forks_url":"https://api.github.com/repos/junit-team/junit5/forks","keys_url":"https://api.github.com/repos/junit-team/junit5/keys{/key_id}","collaborators_url":"https://api.github.com/repos/junit-team/junit5/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/junit-team/junit5/teams","hooks_url":"https://api.github.com/repos/junit-team/junit5/hooks","issue_events_url":"https://api.github.com/repos/junit-team/junit5/issues/events{/number}","events_url":"https://api.github.com/repos/junit-team/junit5/events","assignees_url":"https://api.github.com/repos/junit-team/junit5/assignees{/user}","branches_url":"https://api.github.com/repos/junit-team/junit5/branches{/branch}","tags_url":"https://api.github.com/repos/junit-team/junit5/tags","blobs_url":"https://api.github.com/repos/junit-team/junit5/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/junit-team/junit5/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/junit-team/junit5/git/refs{/sha}","trees_url":"https://api.github.com/repos/junit-team/junit5/git/trees{/sha}","statuses_url":"https://api.github.com/repos/junit-team/junit5/statuses/{sha}","languages_url":"https://api.github.com/repos/junit-team/junit5/languages","stargazers_url":"https://api.github.com/repos/junit-team/junit5/stargazers","contributors_url":"https://api.github.com/repos/junit-team/junit5/contributors","subscribers_url":"https://api.github.com/repos/junit-team/junit5/subscribers","subscription_url":"https://api.github.com/repos/junit-team/junit5/subscription","commits_url":"https://api.github.com/repos/junit-team/junit5/commits{/sha}","git_commits_url":"https://api.github.com/repos/junit-team/junit5/git/commits{/sha}","comments_url":"https://api.github.com/repos/junit-team/junit5/comments{/number}","issue_comment_url":"https://api.github.com/repos/junit-team/junit5/issues/comments{/number}","contents_url":"https://api.github.com/repos/junit-team/junit5/contents/{+path}","compare_url":"https://api.github.com/repos/junit-team/junit5/compare/{base}...{head}","merges_url":"https://api.github.com/repos/junit-team/junit5/merges","archive_url":"https://api.github.com/repos/junit-team/junit5/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/junit-team/junit5/downloads","issues_url":"https://api.github.com/repos/junit-team/junit5/issues{/number}","pulls_url":"https://api.github.com/repos/junit-team/junit5/pulls{/number}","milestones_url":"https://api.github.com/repos/junit-team/junit5/milestones{/number}","notifications_url":"https://api.github.com/repos/junit-team/junit5/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/junit-team/junit5/labels{/name}","releases_url":"https://api.github.com/repos/junit-team/junit5/releases{/id}","deployments_url":"https://api.github.com/repos/junit-team/junit5/deployments","created_at":"2015-01-11T19:06:10Z","updated_at":"2018-04-02T14:27:06Z","pushed_at":"2018-04-02T14:37:51Z","git_url":"git://github.com/junit-team/junit5.git","ssh_url":"git@github.com:junit-team/junit5.git","clone_url":"https://github.com/junit-team/junit5.git","svn_url":"https://github.com/junit-team/junit5","homepage":"https://junit.org","size":484558,"stargazers_count":1988,"watchers_count":1988,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":460,"mirror_url":null,"archived":false,"open_issues_count":151,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":460,"open_issues":151,"watchers":1988,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/1325"},"html":{"href":"https://github.com/junit-team/junit5/pull/1325"},"issue":{"href":"https://api.github.com/repos/junit-team/junit5/issues/1325"},"comments":{"href":"https://api.github.com/repos/junit-team/junit5/issues/1325/comments"},"review_comments":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/1325/comments"},"review_comment":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/junit-team/junit5/pulls/1325/commits"},"statuses":{"href":"https://api.github.com/repos/junit-team/junit5/statuses/1a5c0256ef9563d9bf743f3edb09211ebd34ad8d"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"geo-m"}}