package Ġcom . or h ano but . logger Ċ Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ Ċ internal Ġclass ĠLog Assert ( private Ġval Ġitems : ĠMutable List < Log Item >, Ġtag : ĠString ?, Ġprivate Ġval Ġpriority : ĠInt ) Ġ{ ĊĊĠ Ġprivate Ġval Ġtag : ĠString ĊĊĠ Ġprivate Ġvar Ġindex Ġ= Ġ 0 ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġthis . tag Ġ= Ġtag Ġ?: ĠDEFAULT _ TAG ĊĠ Ġ} ĊĊĠ Ġfun Ġhas Top Border (): ĠLog Assert Ġ{ ĊĠĠĠ Ġreturn Ġhas Log ( priority , Ġtag , ĠTOP _ BORDER ) ĊĠ Ġ} ĊĊĠ Ġfun Ġhas Bottom Border (): ĠLog Assert Ġ{ ĊĠĠĠ Ġreturn Ġhas Log ( priority , Ġtag , ĠBOTTOM _ BORDER ) ĊĠ Ġ} ĊĊĠ Ġfun Ġhas Middle Border (): ĠLog Assert Ġ{ ĊĠĠĠ Ġreturn Ġhas Log ( priority , Ġtag , ĠM ID DLE _ BORDER ) ĊĠ Ġ} ĊĊĠ Ġfun Ġhas Thread ( thread Name : ĠString ): ĠLog Assert Ġ{ ĊĠĠĠ Ġreturn Ġhas Log ( priority , Ġtag , Ġ"$ HORIZONTAL _ LINE ĠThread : Ġ$ thread Name ") ĊĠ Ġ} ĊĊĠ Ġfun Ġhas MethodInfo ( method Info : ĠString ): ĠLog Assert Ġ{ ĊĠĠĠ Ġreturn Ġhas Log ( priority , Ġtag , Ġ"$ HORIZONTAL _ LINE Ġ$ method Info ") ĊĠ Ġ} ĊĊĠ Ġfun Ġhas Message ( message : ĠString ): ĠLog Assert Ġ{ ĊĠĠĠ Ġreturn Ġhas Log ( priority , Ġtag , Ġ"$ HORIZONTAL _ LINE Ġ$ message ") ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġhas Log ( priority : ĠInt , Ġtag : ĠString , Ġmessage : ĠString ): ĠLog Assert Ġ= Ġapply Ġ{ ĊĠĠĠ Ġval Ġitem Ġ= Ġitems [ index ++] ĊĠĠĠ ĠassertThat ( item . priority ). isEqualTo ( priority ) ĊĠĠĠ ĠassertThat ( item . tag ). isEqualTo ( tag ) ĊĠĠĠ ĠassertThat ( item . message ). isEqualTo ( message ) ĊĠ Ġ} ĊĊĠ Ġfun Ġskip (): ĠLog Assert Ġ= Ġapply Ġ{ ĊĠĠĠ Ġindex ++ ĊĠ Ġ} ĊĊĠ Ġfun Ġhas No More Messages () Ġ{ ĊĠĠĠ ĠassertThat ( items ). has Size ( index ) ĊĠĠĠ Ġitems . clear () ĊĠ Ġ} ĊĊĠ Ġinternal Ġclass ĠLog Item ( val Ġpriority : ĠInt , Ġval Ġtag : ĠString , Ġval Ġmessage : ĠString ) ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠDEFAULT _ TAG Ġ= Ġ" PRE TTY _ LOGGER " ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠTOP _ LEFT _ COR NER Ġ= Ġ' âĶ Į ' ĊĠĠĠ Ġprivate Ġconst Ġval ĠBOTTOM _ LEFT _ COR NER Ġ= Ġ' âĶĶ ' ĊĠĠĠ Ġprivate Ġconst Ġval ĠM ID DLE _ COR NER Ġ= Ġ' âĶ ľ ' ĊĠĠĠ Ġprivate Ġconst Ġval ĠH ORIZONTAL _ LINE Ġ= Ġ' âĶĤ ' ĊĠĠĠ Ġprivate Ġconst Ġval ĠDOUBLE _ DI VIDER Ġ= Ġ" âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ " ĊĠĠĠ Ġprivate Ġconst Ġval ĠS INGLE _ DI VIDER Ġ= Ġ" âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ âĶ Ħ " ĊĠĠĠ Ġprivate Ġval ĠTOP _ BORDER Ġ= ĠTOP _ LEFT _ COR NER Ġ+ ĠDOUBLE _ DI VIDER Ġ+ ĠDOUBLE _ DI VIDER ĊĠĠĠ Ġprivate Ġval ĠBOTTOM _ BORDER Ġ= ĠBOTTOM _ LEFT _ COR NER Ġ+ ĠDOUBLE _ DI VIDER Ġ+ ĠDOUBLE _ DI VIDER ĊĠĠĠ Ġprivate Ġval ĠM ID DLE _ BORDER Ġ= ĠM ID DLE _ COR NER Ġ+ ĠS INGLE _ DI VIDER Ġ+ ĠS INGLE _ DI VIDER ĊĠ Ġ} Ċ } Ċ