package Ġtri kit a . an vil Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠXml Test Ġ: ĠUtils () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġinf late Count Ġ= Ġ 0 ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Xml () Ġ{ ĊĠĠĠĠĠĠĠ ĠAn vil . mount ( container ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġxml ( LAYOUT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattr (" text ", Ġ" foo ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv < Mock View > Ġ{ Ġattr (" tag ", Ġ" bar ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġinf late Count ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout Ġ= Ġcontainer !!. getChild At ( 0 ) Ġas ĠMock Layout ĊĠĠĠĠĠĠĠ ĠassertEquals (" foo ", Ġlayout . text ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġlayout . child Count ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ID _ HEADER , Ġlayout . getChild At ( 0 ). id ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" bar ", Ġlayout . getChild At ( 0 ). tag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠID _ HEADER Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠLAY OUT Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠAn vil . register View Factory ( object Ġ: ĠAn vil . View Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfrom Class ( c : ĠContext ?, Ġv : ĠClass < out ĠView >): ĠView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfrom Xml ( parent : ĠViewGroup , Ġxml Id : ĠInt ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( xml Id Ġ== ĠLAY OUT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinf late Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout Ġ= ĠMock Layout ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheader Ġ= ĠMock View ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheader . id Ġ= ĠID _ HEADER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . addView ( header , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġlayout ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ