{"action":"created","comment":{"url":"https://api.github.com/repos/supercollider/supercollider/pulls/comments/113380534","pull_request_review_id":34761850,"id":113380534,"diff_hunk":"@@ -0,0 +1,137 @@\n+TestAbstractFunction : UnitTest {\n+\n+\ttest_rest_binop {\n+\t\tvar func;\n+\t\tvar args = [[1, Rest(1)], [Rest(1), 1], [Rest(1), Rest(1)], [1, Rest()], [Rest(), Rest()]];\n+\t\tvar funcs = [\n+\t\t\t{ |a, b| a * b },\n+\t\t\t{ |a, b| a + b },\n+\t\t\t{ |a, b| a - b },\n+\t\t\t{ |a, b| a / b }\n+\t\t];\n+\t\tvar all = args.collect { |pair|\n+\t\t\tfuncs.collect { |f| f.valueArray(pair) }\n+\t\t};\n+\t\tall.postln;\n+\n+\t\tthis.assert(\n+\t\t\tall.flat.every(_.isKindOf(Rest)),\n+\t\t\t\"All binary math operations on Rest should return Rest.\\n\"\n+\t\t);\n+\n+\t\tthis.assert(\n+\t\t\tall.as(Set).postln.size == 1,\n+\t\t\t\"All binary math operations on Rest should have equal value for equivalent instance values. Default value should be 1\\n\"\n+\t\t);\n+\n+\t\tfunc = { |op, a, b| a.perform(op, b) == a.value.perform(op, b.value) };\n+\t\tall = [(0..2), (0..2).collect(Rest(_))].allTuples;\n+\t\tall = all ++ all.collect(_.reverse);\n+\t\tall.postln;\n+\t\tthis.assert(\n+\t\t\t['<', '>', '<=', '>='].every { |op| all.every { |args| func.(op, *args) } },\n+\t\t\t\"Instances of Rest should return a boolean for ordering operators\"\n+\t\t);\n+\n+\n+\t}\n+\n+\ttest_rest_event {\n+\n+\t\tthis.assert(Rest() == Rest(1), \"Rest default value should be 1\");\n+\n+\t\tthis.assert(\n+\t\t\t(degree: Rest(0), parent: Event.default.parent).use { ~freq.value } == Rest(60.midicps),\n+\t\t\t\"rest passes through event calculations\"\n+\t\t);\n+\n+\t\tthis.assert(\n+\t\t\t(degree: Rest(7), octave: Rest(4), parent: Event.default.parent).delta == 1,\n+\t\t\t\"delta is not touched by venet calculations\"","path":"testsuite/classlibrary/TestAbstractFunction.sc","position":50,"original_position":50,"commit_id":"8b8e73ae02e50ffe257983cdb5a7a2cd640b5760","original_commit_id":"8b8e73ae02e50ffe257983cdb5a7a2cd640b5760","user":{"login":"telephon","id":1810559,"avatar_url":"https://avatars2.githubusercontent.com/u/1810559?v=3","gravatar_id":"","url":"https://api.github.com/users/telephon","html_url":"https://github.com/telephon","followers_url":"https://api.github.com/users/telephon/followers","following_url":"https://api.github.com/users/telephon/following{/other_user}","gists_url":"https://api.github.com/users/telephon/gists{/gist_id}","starred_url":"https://api.github.com/users/telephon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/telephon/subscriptions","organizations_url":"https://api.github.com/users/telephon/orgs","repos_url":"https://api.github.com/users/telephon/repos","events_url":"https://api.github.com/users/telephon/events{/privacy}","received_events_url":"https://api.github.com/users/telephon/received_events","type":"User","site_admin":false},"body":"why not point it out? Thanks!","created_at":"2017-04-26T07:17:39Z","updated_at":"2017-04-26T07:17:39Z","html_url":"https://github.com/supercollider/supercollider/pull/2802#discussion_r113380534","pull_request_url":"https://api.github.com/repos/supercollider/supercollider/pulls/2802","_links":{"self":{"href":"https://api.github.com/repos/supercollider/supercollider/pulls/comments/113380534"},"html":{"href":"https://github.com/supercollider/supercollider/pull/2802#discussion_r113380534"},"pull_request":{"href":"https://api.github.com/repos/supercollider/supercollider/pulls/2802"}}},"pull_request":{"url":"https://api.github.com/repos/supercollider/supercollider/pulls/2802","id":111465452,"html_url":"https://github.com/supercollider/supercollider/pull/2802","diff_url":"https://github.com/supercollider/supercollider/pull/2802.diff","patch_url":"https://github.com/supercollider/supercollider/pull/2802.patch","issue_url":"https://api.github.com/repos/supercollider/supercollider/issues/2802","number":2802,"state":"open","locked":false,"title":"Refactor Rest; add Operand class","user":{"login":"telephon","id":1810559,"avatar_url":"https://avatars2.githubusercontent.com/u/1810559?v=3","gravatar_id":"","url":"https://api.github.com/users/telephon","html_url":"https://github.com/telephon","followers_url":"https://api.github.com/users/telephon/followers","following_url":"https://api.github.com/users/telephon/following{/other_user}","gists_url":"https://api.github.com/users/telephon/gists{/gist_id}","starred_url":"https://api.github.com/users/telephon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/telephon/subscriptions","organizations_url":"https://api.github.com/users/telephon/orgs","repos_url":"https://api.github.com/users/telephon/repos","events_url":"https://api.github.com/users/telephon/events{/privacy}","received_events_url":"https://api.github.com/users/telephon/received_events","type":"User","site_admin":false},"body":"This is a new branch with the changes compressed, from #2361. For the discussion, see there.","created_at":"2017-03-19T20:07:22Z","updated_at":"2017-04-26T07:17:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f0274c270f8cd8a96e091067040825e1f8de2f60","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/supercollider/supercollider/milestones/11","html_url":"https://github.com/supercollider/supercollider/milestone/11","labels_url":"https://api.github.com/repos/supercollider/supercollider/milestones/11/labels","id":1702022,"number":11,"title":"3.9","description":"","creator":{"login":"crucialfelix","id":218738,"avatar_url":"https://avatars2.githubusercontent.com/u/218738?v=3","gravatar_id":"","url":"https://api.github.com/users/crucialfelix","html_url":"https://github.com/crucialfelix","followers_url":"https://api.github.com/users/crucialfelix/followers","following_url":"https://api.github.com/users/crucialfelix/following{/other_user}","gists_url":"https://api.github.com/users/crucialfelix/gists{/gist_id}","starred_url":"https://api.github.com/users/crucialfelix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crucialfelix/subscriptions","organizations_url":"https://api.github.com/users/crucialfelix/orgs","repos_url":"https://api.github.com/users/crucialfelix/repos","events_url":"https://api.github.com/users/crucialfelix/events{/privacy}","received_events_url":"https://api.github.com/users/crucialfelix/received_events","type":"User","site_admin":false},"open_issues":126,"closed_issues":170,"state":"open","created_at":"2016-04-12T17:52:08Z","updated_at":"2017-04-24T14:37:33Z","due_on":"2017-04-01T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/supercollider/supercollider/pulls/2802/commits","review_comments_url":"https://api.github.com/repos/supercollider/supercollider/pulls/2802/comments","review_comment_url":"https://api.github.com/repos/supercollider/supercollider/pulls/comments{/number}","comments_url":"https://api.github.com/repos/supercollider/supercollider/issues/2802/comments","statuses_url":"https://api.github.com/repos/supercollider/supercollider/statuses/8b8e73ae02e50ffe257983cdb5a7a2cd640b5760","head":{"label":"telephon:topic-rest-reform-2","ref":"topic-rest-reform-2","sha":"8b8e73ae02e50ffe257983cdb5a7a2cd640b5760","user":{"login":"telephon","id":1810559,"avatar_url":"https://avatars2.githubusercontent.com/u/1810559?v=3","gravatar_id":"","url":"https://api.github.com/users/telephon","html_url":"https://github.com/telephon","followers_url":"https://api.github.com/users/telephon/followers","following_url":"https://api.github.com/users/telephon/following{/other_user}","gists_url":"https://api.github.com/users/telephon/gists{/gist_id}","starred_url":"https://api.github.com/users/telephon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/telephon/subscriptions","organizations_url":"https://api.github.com/users/telephon/orgs","repos_url":"https://api.github.com/users/telephon/repos","events_url":"https://api.github.com/users/telephon/events{/privacy}","received_events_url":"https://api.github.com/users/telephon/received_events","type":"User","site_admin":false},"repo":{"id":12350217,"name":"supercollider","full_name":"telephon/supercollider","owner":{"login":"telephon","id":1810559,"avatar_url":"https://avatars2.githubusercontent.com/u/1810559?v=3","gravatar_id":"","url":"https://api.github.com/users/telephon","html_url":"https://github.com/telephon","followers_url":"https://api.github.com/users/telephon/followers","following_url":"https://api.github.com/users/telephon/following{/other_user}","gists_url":"https://api.github.com/users/telephon/gists{/gist_id}","starred_url":"https://api.github.com/users/telephon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/telephon/subscriptions","organizations_url":"https://api.github.com/users/telephon/orgs","repos_url":"https://api.github.com/users/telephon/repos","events_url":"https://api.github.com/users/telephon/events{/privacy}","received_events_url":"https://api.github.com/users/telephon/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/telephon/supercollider","description":"an environment and programming language for real time audio synthesis and algorithmic composition","fork":true,"url":"https://api.github.com/repos/telephon/supercollider","forks_url":"https://api.github.com/repos/telephon/supercollider/forks","keys_url":"https://api.github.com/repos/telephon/supercollider/keys{/key_id}","collaborators_url":"https://api.github.com/repos/telephon/supercollider/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/telephon/supercollider/teams","hooks_url":"https://api.github.com/repos/telephon/supercollider/hooks","issue_events_url":"https://api.github.com/repos/telephon/supercollider/issues/events{/number}","events_url":"https://api.github.com/repos/telephon/supercollider/events","assignees_url":"https://api.github.com/repos/telephon/supercollider/assignees{/user}","branches_url":"https://api.github.com/repos/telephon/supercollider/branches{/branch}","tags_url":"https://api.github.com/repos/telephon/supercollider/tags","blobs_url":"https://api.github.com/repos/telephon/supercollider/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/telephon/supercollider/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/telephon/supercollider/git/refs{/sha}","trees_url":"https://api.github.com/repos/telephon/supercollider/git/trees{/sha}","statuses_url":"https://api.github.com/repos/telephon/supercollider/statuses/{sha}","languages_url":"https://api.github.com/repos/telephon/supercollider/languages","stargazers_url":"https://api.github.com/repos/telephon/supercollider/stargazers","contributors_url":"https://api.github.com/repos/telephon/supercollider/contributors","subscribers_url":"https://api.github.com/repos/telephon/supercollider/subscribers","subscription_url":"https://api.github.com/repos/telephon/supercollider/subscription","commits_url":"https://api.github.com/repos/telephon/supercollider/commits{/sha}","git_commits_url":"https://api.github.com/repos/telephon/supercollider/git/commits{/sha}","comments_url":"https://api.github.com/repos/telephon/supercollider/comments{/number}","issue_comment_url":"https://api.github.com/repos/telephon/supercollider/issues/comments{/number}","contents_url":"https://api.github.com/repos/telephon/supercollider/contents/{+path}","compare_url":"https://api.github.com/repos/telephon/supercollider/compare/{base}...{head}","merges_url":"https://api.github.com/repos/telephon/supercollider/merges","archive_url":"https://api.github.com/repos/telephon/supercollider/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/telephon/supercollider/downloads","issues_url":"https://api.github.com/repos/telephon/supercollider/issues{/number}","pulls_url":"https://api.github.com/repos/telephon/supercollider/pulls{/number}","milestones_url":"https://api.github.com/repos/telephon/supercollider/milestones{/number}","notifications_url":"https://api.github.com/repos/telephon/supercollider/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/telephon/supercollider/labels{/name}","releases_url":"https://api.github.com/repos/telephon/supercollider/releases{/id}","deployments_url":"https://api.github.com/repos/telephon/supercollider/deployments","created_at":"2013-08-24T21:31:48Z","updated_at":"2016-04-27T18:57:50Z","pushed_at":"2017-04-24T21:14:40Z","git_url":"git://github.com/telephon/supercollider.git","ssh_url":"git@github.com:telephon/supercollider.git","clone_url":"https://github.com/telephon/supercollider.git","svn_url":"https://github.com/telephon/supercollider","homepage":null,"size":129864,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"supercollider:master","ref":"master","sha":"9acbb6631a8ba83ea140ffc6f4157fb0b3ea8484","user":{"login":"supercollider","id":1706741,"avatar_url":"https://avatars2.githubusercontent.com/u/1706741?v=3","gravatar_id":"","url":"https://api.github.com/users/supercollider","html_url":"https://github.com/supercollider","followers_url":"https://api.github.com/users/supercollider/followers","following_url":"https://api.github.com/users/supercollider/following{/other_user}","gists_url":"https://api.github.com/users/supercollider/gists{/gist_id}","starred_url":"https://api.github.com/users/supercollider/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/supercollider/subscriptions","organizations_url":"https://api.github.com/users/supercollider/orgs","repos_url":"https://api.github.com/users/supercollider/repos","events_url":"https://api.github.com/users/supercollider/events{/privacy}","received_events_url":"https://api.github.com/users/supercollider/received_events","type":"Organization","site_admin":false},"repo":{"id":4228314,"name":"supercollider","full_name":"supercollider/supercollider","owner":{"login":"supercollider","id":1706741,"avatar_url":"https://avatars2.githubusercontent.com/u/1706741?v=3","gravatar_id":"","url":"https://api.github.com/users/supercollider","html_url":"https://github.com/supercollider","followers_url":"https://api.github.com/users/supercollider/followers","following_url":"https://api.github.com/users/supercollider/following{/other_user}","gists_url":"https://api.github.com/users/supercollider/gists{/gist_id}","starred_url":"https://api.github.com/users/supercollider/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/supercollider/subscriptions","organizations_url":"https://api.github.com/users/supercollider/orgs","repos_url":"https://api.github.com/users/supercollider/repos","events_url":"https://api.github.com/users/supercollider/events{/privacy}","received_events_url":"https://api.github.com/users/supercollider/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/supercollider/supercollider","description":"An audio server, programming language, and IDE for sound synthesis and algorithmic composition.","fork":false,"url":"https://api.github.com/repos/supercollider/supercollider","forks_url":"https://api.github.com/repos/supercollider/supercollider/forks","keys_url":"https://api.github.com/repos/supercollider/supercollider/keys{/key_id}","collaborators_url":"https://api.github.com/repos/supercollider/supercollider/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/supercollider/supercollider/teams","hooks_url":"https://api.github.com/repos/supercollider/supercollider/hooks","issue_events_url":"https://api.github.com/repos/supercollider/supercollider/issues/events{/number}","events_url":"https://api.github.com/repos/supercollider/supercollider/events","assignees_url":"https://api.github.com/repos/supercollider/supercollider/assignees{/user}","branches_url":"https://api.github.com/repos/supercollider/supercollider/branches{/branch}","tags_url":"https://api.github.com/repos/supercollider/supercollider/tags","blobs_url":"https://api.github.com/repos/supercollider/supercollider/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/supercollider/supercollider/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/supercollider/supercollider/git/refs{/sha}","trees_url":"https://api.github.com/repos/supercollider/supercollider/git/trees{/sha}","statuses_url":"https://api.github.com/repos/supercollider/supercollider/statuses/{sha}","languages_url":"https://api.github.com/repos/supercollider/supercollider/languages","stargazers_url":"https://api.github.com/repos/supercollider/supercollider/stargazers","contributors_url":"https://api.github.com/repos/supercollider/supercollider/contributors","subscribers_url":"https://api.github.com/repos/supercollider/supercollider/subscribers","subscription_url":"https://api.github.com/repos/supercollider/supercollider/subscription","commits_url":"https://api.github.com/repos/supercollider/supercollider/commits{/sha}","git_commits_url":"https://api.github.com/repos/supercollider/supercollider/git/commits{/sha}","comments_url":"https://api.github.com/repos/supercollider/supercollider/comments{/number}","issue_comment_url":"https://api.github.com/repos/supercollider/supercollider/issues/comments{/number}","contents_url":"https://api.github.com/repos/supercollider/supercollider/contents/{+path}","compare_url":"https://api.github.com/repos/supercollider/supercollider/compare/{base}...{head}","merges_url":"https://api.github.com/repos/supercollider/supercollider/merges","archive_url":"https://api.github.com/repos/supercollider/supercollider/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/supercollider/supercollider/downloads","issues_url":"https://api.github.com/repos/supercollider/supercollider/issues{/number}","pulls_url":"https://api.github.com/repos/supercollider/supercollider/pulls{/number}","milestones_url":"https://api.github.com/repos/supercollider/supercollider/milestones{/number}","notifications_url":"https://api.github.com/repos/supercollider/supercollider/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/supercollider/supercollider/labels{/name}","releases_url":"https://api.github.com/repos/supercollider/supercollider/releases{/id}","deployments_url":"https://api.github.com/repos/supercollider/supercollider/deployments","created_at":"2012-05-04T19:24:51Z","updated_at":"2017-04-26T01:09:45Z","pushed_at":"2017-04-25T12:21:31Z","git_url":"git://github.com/supercollider/supercollider.git","ssh_url":"git@github.com:supercollider/supercollider.git","clone_url":"https://github.com/supercollider/supercollider.git","svn_url":"https://github.com/supercollider/supercollider","homepage":"http://supercollider.github.io","size":145892,"stargazers_count":1395,"watchers_count":1395,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":294,"mirror_url":null,"open_issues_count":496,"forks":294,"open_issues":496,"watchers":1395,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/supercollider/supercollider/pulls/2802"},"html":{"href":"https://github.com/supercollider/supercollider/pull/2802"},"issue":{"href":"https://api.github.com/repos/supercollider/supercollider/issues/2802"},"comments":{"href":"https://api.github.com/repos/supercollider/supercollider/issues/2802/comments"},"review_comments":{"href":"https://api.github.com/repos/supercollider/supercollider/pulls/2802/comments"},"review_comment":{"href":"https://api.github.com/repos/supercollider/supercollider/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/supercollider/supercollider/pulls/2802/commits"},"statuses":{"href":"https://api.github.com/repos/supercollider/supercollider/statuses/8b8e73ae02e50ffe257983cdb5a7a2cd640b5760"}}}}
{"actor":{"display_login":"telephon"}}