package Ġmo e . tl aster . h son Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . time . Instant Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNotNull Ċ import Ġkotlin . test . assertNull Ċ Ċ class ĠTest K Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġ"< b >< a > asd </ a ></ b >" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠH son . deserialize K Data < Sample >( html ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" asd ", Ġresult . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġattr Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġ"< b >< a Ġc =\" c \"> asd </ a ></ b >" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠH son . deserialize K Data < Sample Attr >( html ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" c ", Ġresult . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġnullable Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġ"< b >< a > asd </ a ></ b >" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠH son . deserialize K Data < Sample Nullable >( html ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" asd ", Ġresult . data ) ĊĠĠĠĠĠĠĠ ĠassertNull ( result . null Data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmultiple Test 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġ"< c >< b >< a > asd 1 </ a ></ b >< b >< a > asd 2 </ a ></ b ></ c >" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠH son . deserialize K Data < Sample Multiple >( html ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" asd 1 ", Ġresult . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmultiple Test 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġ"< c >< b >< an ull > asd 1 </ an ull ></ b >< b >< a > asd 2 </ a ></ b ></ c >" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠH son . deserialize K Data < Sample Multiple >( html ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" asd 1 ", Ġresult . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconverter Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠInstant . now () ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġ"< a >$ now </ a >" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠH son . deserialize K Data < Sample With Converter >( html ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( now , Ġresult . data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġlist Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġ"< c >< b >< a > asd </ a ></ b >< b >< a > asd </ a ></ b ></ c >" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠH son . deserialize K Data < List Sample >( html ) ĊĠĠĠĠĠĠĠ Ġassert ( result . data . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġassert ( result . data . all Ġ{ Ġit . data Ġ== Ġ" asd " Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġself Reference Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= Ġ"< a > a </ a >< b >< a > b </ a ></ b >" ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠH son . deserialize K Data < Sample Self Reference >( html ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" a ", Ġresult . data ) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( result . reference ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" b ", Ġresult . reference . data ) ĊĠĠĠĠĠĠĠ ĠassertNull ( result . reference . reference ) ĊĠĠĠ Ġ} Ċ }