package Ġcom . av ito . report . serialize Ċ Ċ import Ġcom . av ito . android . Result Ċ import Ġcom . av ito . report . model . Test Runtime Data Ċ import Ġcom . av ito . report . model . Test Runtime Data Package Ċ import Ġcom . google . gson . Gson Ċ import Ġjava . io . File Ċ import Ġjava . io . FileReader Ċ Ċ internal Ġclass ĠGson Report Serializer ( private Ġval Ġgson : ĠGson ) Ġ: ĠReport Serializer Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( test Runtime Data : ĠTest Runtime Data , Ġreport File : ĠFile ): ĠResult < File > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResult . try Catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġgson . toJson ( test Runtime Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport File . write Text ( json ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport File ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" If Then To El vis ") ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( report File : ĠFile ): ĠResult < Test Runtime Data > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResult . try Catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Runtime Data : ĠTest Runtime Data ? Ġ= ĠFileReader ( report File ). use Ġ{ Ġreader Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson . fromJson ( reader , ĠTest Runtime Data Package :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( test Runtime Data Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Report Ġfile Ġis Ġempty : Ġ${ report File . path }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Runtime Data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ