/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 5 ĠH ann es ĠD or fm ann Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 5 ĠTick ar oo , Ġ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 . tick ar oo . tik xml . auto value Ċ Ċ import Ġcom . google . auto . value . Auto Value Ċ import Ġcom . google . auto . value . processor . Auto Value Processor Ċ import Ġcom . google . common . truth . Truth Ċ import Ġcom . google . testing . compile . Java File Objects Ċ import Ġcom . google . testing . compile . Java Source Subject Factory Ċ import Ġcom . google . testing . compile . Java Sources Subject Ċ import Ġcom . tick ar oo . tik xml . annotation .* Ċ import Ġorg . junit . Ignore Ċ import Ġorg . junit . Test Ċ import Ġjavax . tools . Java FileObject Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠH ann es ĠD or fm ann Ċ Ġ*/ Ċ class ĠInherit ed Properties Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnot Annotated Properties From Inherited Interface () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomponent File Ġ= ĠJava File Objects . for Source Lines (" test . Ignore Properties ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" package Ġtest ;", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" import Ġ${ Xml :: class . java . canonical Name }; ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" import Ġ${ Auto Value :: class . java . canonical Name }; ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"@ ${ Xml :: class . java . simple Name }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"@ ${ Auto Value :: class . java . simple Name }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" abstract Ġclass ĠIgnore Properties Ġimplements ĠFoo Interface Ġ{ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġ@ ${ Attribute :: class . qualified Name } Ġpublic Ġabstract Ġint Ġan Int (); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" interface ĠFoo Interface Ġ{ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ ĠString Ġa Property (); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġint Ġanother Property (); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }") ĊĊĠĠĠĠĠĠĠ ĠTr uth . assert About < Java Sources Subject . Single Source Adapter , ĠJava FileObject >( Java Source Subject Factory . java Source ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( component File ). processed With ( Auto Value Processor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fails To Compile () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Error Containing (" class Ġtest . Ignore Properties Ġmust Ġhave Ġall Ġmethods Ġ( auto Ġvalue Ġproperties Ġmethods ) Ġannotated Ġwith ĠT ik Xml Ġannotations Ġlike Ġ@ Attribute , Ġ@ ${ Property Element :: class . simple Name }, Ġ@ ${ Element :: class . simple Name } Ġor Ġ@ ${ Text Content :: class . simple Name }. ĠIt 's Ġnot Ġallowed Ġto Ġannotate Ġjust Ġsome Ġof Ġthe Ġproperty Ġmethods Ġ( incl . Ġimplemented Ġinterface Ġmethods Ġthat Ġare Ġalso Ġauto Ġvalue Ġproperty Ġmethods ). ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Ignore ĊĠĠĠ Ġfun Ġignore Parcelable Properties () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcomponent File Ġ= ĠJava File Objects . for Source Lines (" android . os . Parcelable ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" package Ġandroid . os ;", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" import Ġ${ Xml :: class . java . canonical Name }; ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" import Ġ${ Auto Value :: class . java . canonical Name }; ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"@ ${ Xml :: class . java . simple Name }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"@ ${ Auto Value :: class . java . simple Name }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" abstract Ġclass ĠFoo Ġimplements Ġandroid . os . Parcelable Ġ{ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠ Ġ@ ${ Attribute :: class . qualified Name } Ġpublic Ġabstract Ġint Ġan Int (); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" public Ġinterface ĠParcel able Ġ{ Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġpublic Ġstatic Ġfinal Ġint ĠPAR CEL ABLE _ WRITE _ RETURN _ VALUE Ġ= Ġ 0 x 0 0 0 1 ;", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġpublic Ġstatic Ġfinal Ġint ĠCONTENT S _ FILE _ DESCRIPTOR Ġ= Ġ 0 x 0 0 0 1 ;", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġpublic Ġint Ġdescribe Contents Ġ(); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġpublic Ġvoid ĠwriteTo Parcel ( Parcel Ġdest , Ġint Ġflags ); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġpublic Ġinterface ĠCreator < T > Ġ{ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠ Ġpublic ĠT Ġcreate From Parcel ( Parcel Ġsource ); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠ Ġpublic ĠT [] Ġnew Array ( int Ġsize ); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" public Ġinterface ĠClassLoader Creator Ġ< ĠT Ġ> Ġextends ĠCreator < T >", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"{ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" public ĠT Ġcreate From Parcel ( Parcel Ġsource , ĠClassLoader Ġloader ); ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" class ĠParcel {", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġpublic Ġfinal Ġvoid Ġwrite Int ( int Ġval ) Ġ{}", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }") ĊĊĠĠĠĠĠĠĠ ĠTr uth . assert About < Java Sources Subject . Single Source Adapter , ĠJava FileObject >( Java Source Subject Factory . java Source ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. that ( component File ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. processed With ( Auto Value Processor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. comp iles Without Error () ĊĊĠĠĠ Ġ} Ċ }