package Ġmono . shape . shape Ċ Ċ import Ġmono . graphics . geo . Rect Ċ import Ġmono . shape . serialization . Serializable Text Ċ import Ġmono . shape . extra . Text Extra Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ /** Ċ Ġ* ĠA Ġtest Ġfor Ġ[ Text ] Ċ Ġ*/ Ċ class ĠText Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Serialization _ init () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĠText ( Rect . by L TW H ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ), ĠparentId Ġ= ĠP ARENT _ ID ) ĊĊĠĠĠĠĠĠĠ Ġval Ġserial izable Text Ġ= Ġtext . to Serializable Shape ( true ) Ġas ĠSerializable Text ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . text , Ġserial izable Text . text ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . bound , Ġserial izable Text . bound ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . extra . to Serializable Extra (), Ġserial izable Text . extra ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Serialization _ update Bound () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĠText ( Rect . by L TW H ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ), ĠparentId Ġ= ĠP ARENT _ ID ) ĊĠĠĠĠĠĠĠ Ġtext . set Bound ( Rect . by L TW H ( 5 , Ġ 6 , Ġ 7 , Ġ 8 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġserial izable Text Ġ= Ġtext . to Serializable Shape ( true ) Ġas ĠSerializable Text ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . text , Ġserial izable Text . text ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . bound , Ġserial izable Text . bound ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . extra . to Serializable Extra (), Ġserial izable Text . extra ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Serialization _ update Text () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĠText ( Rect . by L TW H ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ), ĠparentId Ġ= ĠP ARENT _ ID ) ĊĠĠĠĠĠĠĠ Ġtext . setText (" Hello ĠHello !") ĊĊĠĠĠĠĠĠĠ Ġval Ġserial izable Text Ġ= Ġtext . to Serializable Shape ( true ) Ġas ĠSerializable Text ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . text , Ġserial izable Text . text ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . bound , Ġserial izable Text . bound ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . extra . to Serializable Extra (), Ġserial izable Text . extra ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Serialization _ restore () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĠText ( Rect . by L TW H ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ), ĠparentId Ġ= ĠP ARENT _ ID ) ĊĠĠĠĠĠĠĠ Ġtext . setText (" Hello ĠHello !") ĊĠĠĠĠĠĠĠ Ġtext . set Bound ( Rect . by L TW H ( 5 , Ġ 5 , Ġ 2 , Ġ 2 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġserial izable Text Ġ= Ġtext . to Serializable Shape ( true ) Ġas ĠSerializable Text ĊĠĠĠĠĠĠĠ Ġval Ġtext 2 Ġ= ĠText ( serial izable Text , ĠparentId Ġ= ĠP ARENT _ ID ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( PARENT _ ID , Ġtext 2 . parentId ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . text , Ġtext 2 . text ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . bound , Ġtext 2 . bound ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( text . extra , Ġtext 2 . extra ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext . render able Text . get Render able Text (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext 2 . render able Text . get Render able Text () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Convert Render able Text () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠText ( Rect . by L TW H ( 0 , Ġ 0 , Ġ 5 , Ġ 5 )) ĊĊĠĠĠĠĠĠĠ Ġtarget . setText (" 0 Ġ 1 2 3 4 Ġ 1 2 3 4 5 \ n 1 ĠĠĠ 2 Ġ 3 Ġ 4 Ġ 5 6 7 8 9 0 1 Ġ 2 3 ") ĊĠĠĠĠĠĠĠ Ġtarget . set Extra ( Text Extra . NO _ BOUND ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (" 0 ", Ġ" 1 2 3 4 ", Ġ" 1 2 3 4 5 ", Ġ" 1 ĠĠĠ 2 ", Ġ" 3 Ġ 4 ", Ġ" 5 6 7 8 9 ", Ġ" 0 1 Ġ 2 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . render able Text . get Render able Text () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Content Bound () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠText ( Rect . by L TW H ( 1 , Ġ 2 , Ġ 5 , Ġ 6 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġdefault Bound Extra Ġ= Ġtarget . extra . bound Extra ĊĊĠĠĠĠĠĠĠ Ġval Ġextra With Border Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . extra . copy ( bound Extra Ġ= Ġdefault Bound Extra . copy ( is Border Enabled Ġ= Ġtrue )) ĊĠĠĠĠĠĠĠ Ġtarget . set Extra ( extra With Border ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRect . by L TW H ( 2 , Ġ 3 , Ġ 3 , Ġ 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . content Bound ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġextra Without Border Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . extra . copy ( bound Extra Ġ= Ġdefault Bound Extra . copy ( is Border Enabled Ġ= Ġfalse )) ĊĠĠĠĠĠĠĠ Ġtarget . set Extra ( extra Without Border ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRect . by L TW H ( 1 , Ġ 2 , Ġ 5 , Ġ 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . content Bound ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP ARENT _ ID Ġ= Ġ" 1 " ĊĠĠĠ Ġ} Ċ } Ċ