/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 - 2 0 2 0 ĠHERE ĠEurope ĠB . V . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* ĠLicense - Filename : ĠLICENSE Ċ Ġ*/ Ċ Ċ package Ġorg . oss review toolkit . model Ċ Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . core . spec . style . Word Spec Ċ import Ġorg . oss review toolkit . model . config . Package Configuration Ċ import Ġorg . oss review toolkit . model . config . V cs Matcher Ċ import Ġorg . oss review toolkit . model . utils . Simple Package Configuration Provider Ċ Ċ class ĠSimple Package Configuration Provider Test Ġ: ĠWord Spec ({ ĊĠĠĠ Ġ" constructor " Ġshould Ġ{ ĊĠĠĠĠĠĠĠ Ġ" throw Ġan Ġexception Ġprovided Ġmultiple Ġpackage Ġconfigurations Ġfor Ġsame ĠId Ġand Ġsource Ġartifact Ġpro venance " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpackage Config Ġ= ĠPackage Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠIdentifier (" type : group : name : version "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Artifact Url Ġ= Ġ" https :// some - host / some / path " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfigurations Ġ= ĠlistOf ( package Config , Ġpackage Config . copy ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimple Package Configuration Provider ( configurations ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" throw Ġan Ġexception Ġprovided Ġmultiple Ġpackage Ġconfigurations Ġfor Ġsame ĠId Ġand ĠV CS Ġpro venance " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpackage Config Ġ= ĠPackage Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠIdentifier (" type : group : name : version "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv cs Ġ= ĠV cs Matcher ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠV cs Type . GIT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ" https :// some - host / some / path . git ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrevision Ġ= Ġ" 0 c 1 b 2 aec 2 8 1 2 e 4 8 3 3 bd ca 1 0 2 8 b 5 cb 4 b 6 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfigurations Ġ= ĠlistOf ( package Config , Ġpackage Config . copy ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimple Package Configuration Provider ( configurations ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ