package Ġcom . bug sn ag . android Ċ Ċ import Ġcom . bug sn ag . android . Breadcrumb Type . MAN UAL Ċ import Ġorg . junit . Assert . assertEquals Ċ Ċ import Ġandroidx . test . filters . Small Test Ċ import Ġcom . bug sn ag . android . Bug sn ag TestUtils .* Ċ Ċ import Ġorg . json . JSONException Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ Ċ import Ġjava . io . IOException Ċ import Ġjava . util . HashMap Ċ import Ġjava . util . Locale Ċ Ċ @ Small Test Ċ class ĠB readcrumb s Serialization Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbreadcrumb s : ĠB readcrumb s ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġconfig : ĠConfiguration ĊĠĠĠ Ġprivate Ġvar Ġclient : ĠClient ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig Ġ= Ġgenerate Configuration () ĊĠĠĠĠĠĠĠ Ġbreadcrumb s Ġ= ĠB readcrumb s ( config ) ĊĠĠĠĠĠĠĠ Ġclient Ġ= Ġgenerate Client () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġclient ?. close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVerifies Ġthat Ġbreadcrumb Ġmetadata Ġis Ġserial ised ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Payload Type () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmetadata Ġ= Ġmap Of ( Pair (" direction ", Ġ" left ")) ĊĠĠĠĠĠĠĠ Ġbreadcrumb s . add ( Breadcrumb (" Rot ated ĠMenu ", ĠB readcrumb Type . STATE , Ġmetadata )) ĊĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġstream able ToJson Array ( breadcrumbs ) ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġjson . getJSONObject ( 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Rot ated ĠMenu ", Ġnode . get (" name ")) ĊĠĠĠĠĠĠĠ ĠassertEquals (" state ", Ġnode . get (" type ")) ĊĠĠĠĠĠĠĠ ĠassertEquals (" left ", Ġnode . getJSONObject (" metaData "). get (" direction ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġjson . length ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVerifies Ġthat Ġthe ĠClient Ġmethods Ġleave Ġbreadcrumb s Ġcorrectly ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Client Methods () Ġ{ ĊĠĠĠĠĠĠĠ Ġclient !!. leave Breadcrumb (" Hello ĠWorld ") ĊĠĠĠĠĠĠĠ Ġval Ġstore Ġ= Ġclient !!. breadcrumbs . store ĊĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( breadcrumb Ġin Ġstore ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( MAN UAL Ġ== Ġbreadcrumb . type Ġ&& Ġ" manual " Ġ== Ġbreadcrumb . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Hello ĠWorld ", Ġbreadcrumb . metadata [" message "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġcount ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ