package Ġru . luck yc act us . steam ro u lette . data . net . adapters Ċ Ċ import Ġcom . squareup . mos hi . Json Ċ import Ġcom . squareup . mos hi . Json Adapter Ċ import Ġcom . squareup . mos hi . Json Class Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ import Ġru . luck yc act us . steam ro u lette . data . net . Required Age Ċ Ċ class ĠRequired Age M oshi Adapter Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġadapter : ĠJson Adapter < Po jo > Ġ= ĠM oshi . Builder () ĊĠĠĠĠĠĠĠ Ġ. add ( Required Age M oshi Adapter ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ. adapter ( Po jo :: class . java ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġage Ġ== Ġ 0 Ġ- Ġshould Ġreturn Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġ""" {" required _ age ": 0 } """ ĊĠĠĠĠĠĠĠ Ġval Ġpo jo Ġ= Ġadapter . fromJson ( json ) !! ĊĠĠĠĠĠĠĠ ĠassertThat ( pojo . required Age ). isNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġage Ġis Ġan Ġinteger Ġstring Ġ- Ġshould Ġreturn ĠInt `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġ""" {" required _ age ":" 1 8 "} """ ĊĠĠĠĠĠĠĠ Ġval Ġpo jo Ġ= Ġadapter . fromJson ( json ) !! ĊĠĠĠĠĠĠĠ ĠassertThat ( pojo . required Age ). isEqualTo ( 1 8 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġage Ġis Ġa Ġnon - integer Ġstring Ġ- Ġshould Ġreturn Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġ""" {" required _ age ":" non - numeric "} """ ĊĠĠĠĠĠĠĠ Ġval Ġpo jo Ġ= Ġadapter . fromJson ( json ) !! ĊĠĠĠĠĠĠĠ ĠassertThat ( pojo . required Age ). isNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` when Ġage Ġis Ġnull Ġ- Ġshould Ġreturn Ġnull `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġ""" {" required _ age ": null } """ ĊĠĠĠĠĠĠĠ Ġval Ġpo jo Ġ= Ġadapter . fromJson ( json ) !! ĊĠĠĠĠĠĠĠ ĠassertThat ( pojo . required Age ). isNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Json Class ( generate Adapter Ġ= Ġtrue ) ĊĠĠĠ Ġclass ĠPo jo ( ĊĠĠĠĠĠĠĠ Ġ@ Required Age Ġ@ Json ( name Ġ= Ġ" required _ age ") Ġval Ġrequired Age : ĠInt ? ĊĠĠĠ Ġ) Ċ }