package Ġorg . map db . el sa Ċ Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . Assert .* Ċ import Ġjava . io . External izable Ċ import Ġjava . io . Object Input Ċ import Ġjava . io . Object Output Ċ import Ġjava . util .* Ċ import Ġjava . util . Arrays . asList Ċ Ċ class ĠMisc Test { ĊĊĠĠĠ Ġ@ Test Ġfun Ġarrays _ array (){ ĊĠĠĠĠĠĠ Ġfun Ġclone ( a 1 : Any ? ){ ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġser Ġ= ĠEl sa Serializer Po jo () ĊĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( a 1 , ĠEl sa Serializer Base Test . clone Po jo ( a 1 , Ġser )) ĊĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġclone ( asList < Any >()) ĊĠĠĠĠĠĠĠ Ġclone ( asList < Any >(" aa "," bb ")) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġclass ĠEx tern 2 : ĠExternal izable Ġ{ ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġread Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġwrite Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġnot Set : Any ? Ġ= null ĊĊĠĠĠĠĠĠĠ Ġvar Ġfield : String Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġvar Ġread Count Here Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġwrite Count Here Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġread External ( oi : ĠObject Input ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Count Here ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġo i . read UTF () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġwrite External ( out : ĠObject Output ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Count Here ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . write UTF ( field ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġexternal izable Used (){ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ex tern 2 . read Count ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ex tern 2 . write Count ) ĊĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠEx tern 2 () ĊĠĠĠĠĠĠĠ Ġe . not Set Ġ= Ġ" ignore Ġthis " ĊĠĠĠĠĠĠĠ Ġe . field Ġ= Ġ" dont Ġignore " ĊĠĠĠĠĠĠĠ Ġval Ġe 2 Ġ= ĠEl sa Serializer Base Test . clone Po jo ( e ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġe . read Count Here ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġe . write Count Here ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ex tern 2 . read Count ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ex tern 2 . write Count ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġe 2 . read Count Here ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġe 2 . write Count Here ) ĊĊĠĠĠĠĠĠĠ ĠassertNull ( e 2 . not Set ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" dont Ġignore ", Ġe . field ) ĊĠĠĠ Ġ} Ċ Ċ }