/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ Ċ package Ġcom . android . tools . build . jet ifier . processor . transform . pom Ċ Ċ import Ġcom . android . tools . build . jet ifier . core . pom . P om Dependency Ċ import Ġcom . android . tools . build . jet ifier . core . pom . P om Rewrite Rule Ċ import Ġcom . google . common . truth . Truth Ċ import Ġorg . junit . Test Ċ Ċ class ĠP om Rewrite Rule Test Ġ{ ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġversions _ null In Rule _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ" 2 7 . 0 . 0 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ null In P om _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġversions _ null Both _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ same _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ" 2 7 . 0 . 0 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ same _ strict _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ"[ 2 7 . 0 . 0 ]" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ different _ no Match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions DoNot Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ" 2 6 . 0 . 0 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ release _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ" release " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ latest _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ" latest " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ range _ right Open _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ"( 2 6 . 0 . 0 , ]" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ range _ right Open 2 _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ"( 2 6 . 0 . 0 , )" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ range _ inclusive _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ"[ 2 1 . 0 . 0 , 2 7 . 0 . 0 ]" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ range _ inclusive _ no Match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions DoNot Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ"[ 2 1 . 0 . 0 , 2 6 . 0 . 0 ]" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ range _ exclusive _ no Match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions DoNot Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ"[ 2 1 . 0 . 0 , 2 7 . 0 . 0 )" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġversions _ ex clusion Range _ match () Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Versions Match ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrule Version Ġ= Ġ" 2 7 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Version Ġ= Ġ"( , 2 6 . 0 . 0 ),( 2 6 . 0 . 0 , )" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest Versions Match ( rule Version : ĠString ?, Ġpom Version : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfrom Ġ= ĠP om Dependency ( groupId Ġ= Ġ" g ", Ġartifact Id Ġ= Ġ" a ", Ġversion Ġ= Ġrule Version ) ĊĠĠĠĠĠĠĠ Ġval Ġpom Ġ= ĠP om Dependency ( groupId Ġ= Ġ" g ", Ġartifact Id Ġ= Ġ" a ", Ġversion Ġ= Ġpom Version ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrule Ġ= ĠP om Rewrite Rule ( from , Ġfrom ) ĊĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( rule . validate Version ( pom )). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest Versions DoNot Match ( rule Version : ĠString ?, Ġpom Version : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfrom Ġ= ĠP om Dependency ( groupId Ġ= Ġ" g ", Ġartifact Id Ġ= Ġ" a ", Ġversion Ġ= Ġrule Version ) ĊĠĠĠĠĠĠĠ Ġval Ġpom Ġ= ĠP om Dependency ( groupId Ġ= Ġ" g ", Ġartifact Id Ġ= Ġ" a ", Ġversion Ġ= Ġpom Version ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrule Ġ= ĠP om Rewrite Rule ( from , Ġfrom ) ĊĊĠĠĠĠĠĠĠ ĠTr uth . assertThat ( rule . validate Version ( pom )). isFalse () ĊĠĠĠ Ġ} Ċ }