/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠGoogle , ĠInc . Ċ Ġ* Ċ Ġ* Ġ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 . bir bit . artifact finder . parser . test apk Ċ Ċ import Ġcom . bir bit . artifact finder . parser . vo . Parsed Artifact Info Ċ import Ġcom . bir bit . artifact finder . parser . vo . Parsed Class Info Ċ import Ġcom . bir bit . artifact finder . parser . vo . Parsed MethodInfo Ċ import Ġcom . google . common . truth . Failure Metadata Ċ import Ġcom . google . common . truth . Subject Ċ import Ġcom . google . common . truth . Subject . Factory Ċ import Ġcom . google . common . truth . Truth Ċ Ċ class ĠArtifact Info Subject ( ĊĠĠĠ Ġmetadata : ĠFailure Metadata ?, ĊĠĠĠ Ġprivate Ġval Ġactual : ĠParsed Artifact Info Ċ ) Ġ: ĠSubject ( metadata , Ġactual ) Ġ{ ĊĠĠĠ Ġfun Ġhas Exact Classes ( expected : ĠCollection < Parsed Class Info >): ĠArtifact Info Subject Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck (" classes () "). that ( actual . classes ). isEqualTo ( expected . toSet ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Classes ( expected : ĠCollection < Parsed Class Info >): ĠArtifact Info Subject Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck (" some Ġclasses () "). that ( actual . classes ). contains At Least Elements In ( expected ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Exact Global Methods ( expected : ĠCollection < Parsed MethodInfo >): ĠArtifact Info Subject Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck (" methods () "). that ( actual . methods . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . receiver Ġ== Ġnull ĊĠĠĠĠĠĠĠ Ġ}. toSet ()). isEqualTo ( expected . toSet ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Exact Extension Methods ( expected : ĠCollection < Parsed MethodInfo >): ĠArtifact Info Subject Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck (" extension Methods () "). that ( actual . methods . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . receiver Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ}. toSet ()). isEqualTo ( expected . toSet ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġartifact Info (): ĠSubject . Factory < Artifact Info Subject , ĠParsed Artifact Info > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFactory Ġ{ Ġmetadata , Ġactual Ġ-> ĠArtifact Info Subject ( metadata , Ġactual ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠassertThat ( artifact Info : ĠParsed Artifact Info ): ĠArtifact Info Subject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTr uth . assert About ( artifact Info ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( artifact Info ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ