/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 Ġ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 . build . gradle . options Ċ Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test . fail Ċ Ċ /** ĠTests Ġfor Ġ[ Boolean Option ]. Ġ*/ Ċ class ĠBoolean Option Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check ĠBoolean Ġoptions Ġare Ġput Ġin Ġcorrect Ġorder `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠExpected Ġorder Ġof ĠBoolean Ġoptions ĊĠĠĠĠĠĠĠ Ġval Ġorder Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Stage . Stable :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeature Stage . Supported :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Stage . Experimental :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeature Stage . Experimental :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeature Stage . Soft ly En forced :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Stage . Deprecated :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeature Stage . Deprecated :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeature Stage . En forced :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Stage . Removed :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeature Stage . Removed :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBoolean Option :: class . java . declared Fields ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . type Ġ== ĠBoolean Option :: class . java Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . get ( Boolean Option :: class . java ) Ġas ĠBoolean Option Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġlast Option : ĠBoolean Option ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġoptions . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( last Option Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġorder . indexOf ( it . stage . java Class ) Ġ< Ġorder . indexOf ( last Option !!. stage . java Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Boolean Ġoption Ġ`${ last Option !!. name }` Ġwith Ġstage Ġ`${ last Option !!. stage . java Class . name }` " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġshould Ġbe Ġposition ed Ġafter ĠBoolean Ġoption Ġ`${ it . name }` Ġwith Ġstage Ġ`${ it . stage . java Class . name }`. " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠRe arrange Ġtheir Ġpositions Ġto Ġput Ġthem Ġin Ġthe Ġcorrect Ġgroups ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Option Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }