package Ġcom . van mo . tests Ċ Ċ import Ġcom . van mo . common . command . Command Ċ import Ġcom . van mo . common .` object `. U Object Ċ import Ġcom . van mo . resolve Ċ import Ġcom . van mo . serialization . dependencies . Deserialization Strategy Ċ import Ġcom . van mo . serialization . dependencies . S Object New Ċ import Ġcom . van mo . serialization . dependencies . Serialization Strategy Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠDeserial ization Test Ġ{ ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġresolve < Command >(" Io C . Register ", Ġ" Deserialize ", ĠDeserial ization Strategy ()) () ĊĠĠĠĠĠĠĠ Ġresolve < Command >(" Io C . Register ", Ġ" S Object . new ", ĠS Object New ()) () ĊĠĠĠĠĠĠĠ Ġresolve < Command >(" Io C . Register ", Ġ" Serialize ", ĠSerialization Strategy ()) () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdeserialize Object () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj : ĠU Object Ġ= Ġresolve (" Deserialize ", Ġ""" {" prop 1 ": Ġ" value "," prop 2 ": Ġ{" nested ": Ġ" value "}," prop 3 ":[ 1 , 2 ] Ġ} """) ĊĠĠĠĠĠĠĠ ĠassertEquals (" value ", Ġobj [" prop 1 "]) ĊĠĠĠĠĠĠĠ ĠassertEquals (" value ", Ġ( obj [" prop 2 "] Ġas ĠU Object )[" nested "]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġ( obj [" prop 3 "] Ġas ĠList <* >) [ 0 ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġ( obj [" prop 3 "] Ġas ĠList <* >) [ 1 ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdeserialize Array () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠList < Int > Ġ= Ġresolve (" Deserialize ", Ġ""" [ 1 , 2 , 3 ] """) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġlist [ 0 ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġlist [ 1 ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġlist [ 2 ]) ĊĠĠĠ Ġ} Ċ } Ċ