package Ġcom . github . pan pf . assembly adapter . list . test . expand able Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġcom . github . pan pf . assembly adapter . list . expand able . Expand able Group Ċ import Ġcom . github . pan pf . assembly adapter . list . expand able . Extra Expand able Child Item Ċ import Ġcom . github . pan pf . tools 4 j . test . k tx . assert Throw Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ class ĠExtra Expand able Child Item Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Suppress (" Remove Explicit Type Arguments ") ĊĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠInstrument ation Registry . get Instrumentation (). context ĊĠĠĠĠĠĠĠ Ġval Ġtest Extra Item Ġ= ĠText Child Extra Item ( TextView ( context )) ĊĊĠĠĠĠĠĠĠ ĠAssert . assertNull ( test Extra Item . get Extra OrNull < String >(" test Key ")) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" get Extra OrElse ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra OrElse < String >(" test Key ") Ġ{ Ġ" get Extra OrElse " Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" get Extra OrDefault ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra OrDefault < String >(" test Key ", Ġ" get Extra OrDefault ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġassert Throw ( Exception :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra OrThrow < String >(" test Key ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" get Extra Or Put ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra Or Put < String >(" test Key ") Ġ{ Ġ" get Extra Or Put " Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" get Extra Or Put ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra OrNull < String >(" test Key ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtest Extra Item . putExtra (" test Key ", Ġnull ) ĊĠĠĠĠĠĠĠ ĠAssert . assertNull ( test Extra Item . get Extra OrNull < String >(" test Key ")) ĊĊĠĠĠĠĠĠĠ Ġtest Extra Item . putExtra (" test Key ", Ġ" test Value ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test Value ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra OrElse < String >(" test Key ") Ġ{ Ġ" get Extra OrElse " Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test Value ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra OrDefault < String >(" test Key ", Ġ" get Extra OrDefault ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test Value ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra OrThrow < String >(" test Key ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test Value ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Extra Item . get Extra Or Put < String >(" test Key ") Ġ{ Ġ" get Extra Or Put " Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġdata Ġclass ĠText ( val Ġtext : ĠString ) ĊĊĠĠĠ Ġprivate Ġdata Ġclass ĠText Group ( val Ġlist : ĠList < Text >) Ġ: ĠExpand able Group Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠĠĠĠĠ Ġval Ġlist Join ToString : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġlist . join ToString ( prefix Ġ= Ġ"[", Ġpostfix Ġ= Ġ"] ") Ġ{ Ġit . text Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠĠĠĠĠ Ġconstructor ( var arg Ġtexts : ĠString ) Ġ: Ġthis ( texts . map Ġ{ ĠText ( it ) Ġ}. toList ()) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Child Count (): ĠInt Ġ= Ġlist . size ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Child ( child Position : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSh ield Ġthe Ġdifferences Ġin Ġexceptions Ġthrown Ġby Ġdifferent Ġversions Ġof Ġthe ĠArrayList Ġget Ġmethod ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġlist . get OrNull ( child Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIndex OutOfBoundsException (" Index : Ġ$ child Position , ĠSize : Ġ${ list . size }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠText Child Extra Item ( item View : ĠView ) Ġ: ĊĠĠĠĠĠĠĠ ĠExtra Expand able Child Item < Text Group , ĠText >( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind Data ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Binding Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Absolute Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Data : ĠText Group , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Last Child : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġabsolute Adapter Position : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata : ĠText ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }