package Ġch . u zh . ifi . se al . bench er . analysis . finder . asm Ċ Ċ import Ġarrow . core . get Or Handle Ċ import Ġch . u zh . ifi . se al . bench er . Benchmark Ċ import Ġch . u zh . ifi . se al . bench er . analysis . Jar TestHelper Ċ import Ġch . u zh . ifi . se al . bench er . file Resource Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠA sm Bench Finder Test Ġ: ĠAbstract Asm Bench Finder Test () Ġ{ ĊĊĠĠĠ Ġprivate Ġfun Ġj mh Bench s ( bf : ĠA sm Bench Finder , Ġbs : ĠIterable < Benchmark >): Ġj mh Bench s Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbs . map Ġ{ Ġb Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( set Of ( b ), Ġbf . setup s ( b ). toSet (), Ġbf . te ar Down s ( b ). toSet ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtwo Bench s 1 2 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠJar TestHelper . jar 2 Bench s J mh 1 2 1 . file Resource () ĊĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( url , Ġ" Could Ġnot Ġget Ġresource ") ĊĊĠĠĠĠĠĠĠ Ġval Ġbf Ġ= ĠA sm Bench Finder ( url . absolute File , Ġpkg Prefixes ) ĊĠĠĠĠĠĠĠ Ġval Ġbs Ġ= Ġbf . all (). get Or Handle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . fail < String >(" Could Ġnot Ġretrieve Ġbenchmarks : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert Two Bench s ( bs ) ĊĠĠĠĠĠĠĠ Ġassert Bench s Setup s Tear Down s ( j mh Bench s ( bf , Ġbs )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfour Bench s 1 2 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠJar TestHelper . jar 4 Bench s J mh 1 2 1 . file Resource () ĊĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( url , Ġ" Could Ġnot Ġget Ġresource ") ĊĊĠĠĠĠĠĠĠ Ġval Ġbf Ġ= ĠA sm Bench Finder ( url . absolute File , Ġpkg Prefixes ) ĊĠĠĠĠĠĠĠ Ġval Ġbs Ġ= Ġbf . all (). get Or Handle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . fail < String >(" Could Ġnot Ġretrieve Ġbenchmarks : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert Two Bench s ( bs ) ĊĠĠĠĠĠĠĠ Ġassert Bench s Setup s Tear Down s ( j mh Bench s ( bf , Ġbs )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfour Bench s 1 2 1 No Pp () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠJar TestHelper . jar 4 Bench s J mh 1 2 1 . file Resource () ĊĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( url , Ġ" Could Ġnot Ġget Ġresource ") ĊĊĠĠĠĠĠĠĠ Ġval Ġbf Ġ= ĠA sm Bench Finder ( url . absolute File ) ĊĠĠĠĠĠĠĠ Ġval Ġbs Ġ= Ġbf . all (). get Or Handle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . fail < String >(" Could Ġnot Ġretrieve Ġbenchmarks : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert Two Bench s ( bs ) ĊĠĠĠĠĠĠĠ Ġassert Bench s Setup s Tear Down s ( j mh Bench s ( bf , Ġbs )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtwo Bench s 1 1 0 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠJar TestHelper . jar 2 Bench s J mh 1 1 0 . file Resource () ĊĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( url , Ġ" Could Ġnot Ġget Ġresource ") ĊĊĠĠĠĠĠĠĠ Ġval Ġbf Ġ= ĠA sm Bench Finder ( url . absolute File , Ġpkg Prefixes ) ĊĠĠĠĠĠĠĠ Ġval Ġbs Ġ= Ġbf . all (). get Or Handle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . fail < String >(" Could Ġnot Ġretrieve Ġbenchmarks : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert Two Bench s ( bs ) ĊĠĠĠĠĠĠĠ Ġassert Bench s Setup s Tear Down s ( j mh Bench s ( bf , Ġbs )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfour Bench s 1 1 0 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠJar TestHelper . jar 4 Bench s J mh 1 1 0 . file Resource () ĊĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( url , Ġ" Could Ġnot Ġget Ġresource ") ĊĊĠĠĠĠĠĠĠ Ġval Ġbf Ġ= ĠA sm Bench Finder ( url . absolute File , Ġpkg Prefixes ) ĊĠĠĠĠĠĠĠ Ġval Ġbs Ġ= Ġbf . all (). get Or Handle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssertions . fail < String >(" Could Ġnot Ġretrieve Ġbenchmarks : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġassert Two Bench s ( bs ) ĊĠĠĠĠĠĠĠ Ġassert Bench s Setup s Tear Down s ( j mh Bench s ( bf , Ġbs )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpkg Prefixes Ġ= Ġset Of (" org . sample ", Ġ" org . sam ") ĊĠĠĠ Ġ} Ċ } Ċ