package Ġcom . fasterxml . jackson . module . kotlin . test Ċ Ċ import Ġcom . fasterxml . jackson . core . exc . Input Co erc ion Exception Ċ import Ġcom . fasterxml . jackson . module . kotlin . jackson ObjectMapper Ċ import Ġcom . fasterxml . jackson . module . kotlin . readValue Ċ import Ġorg . junit . Assert . assert Throws Ċ import Ġorg . junit . Test Ċ import Ġjava . math . BigInteger Ċ import Ġkotlin . test . assertEquals Ċ Ċ internal Ġclass ĠUnsigned Numbers On Key Test Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠMAP PER Ġ= Ġj ack son ObjectMapper () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠFor U Byte Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġmake Src ( v : ĠInt ): ĠString Ġ= ĠMAP PER . writeValue AsString ( map Of ( v Ġto Ġ 0 )) ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠMAP PER . readValue < Map < U Byte , ĠU Byte >>( make Src ( U Byte . MAX _ VALUE . toInt ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( map Of ( U Byte . MAX _ VALUE Ġto Ġ 0 . to U Byte ()), Ġactual ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġoverflow () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Input Co erc ion Exception :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAP PER . readValue < Map < U Byte , ĠU Byte >>( make Src ( U Byte . MAX _ VALUE . toInt () Ġ+ Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġunder flow () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Input Co erc ion Exception :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAP PER . readValue < Map < U Byte , ĠU Byte >>( make Src (- 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠFor U Short Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġmake Src ( v : ĠInt ): ĠString Ġ= ĠMAP PER . writeValue AsString ( map Of ( v Ġto Ġ 0 )) ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠMAP PER . readValue < Map < U Short , ĠU Short >>( make Src ( U Short . MAX _ VALUE . toInt ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( map Of ( U Short . MAX _ VALUE Ġto Ġ 0 . to U Short ()), Ġactual ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġoverflow () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Input Co erc ion Exception :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAP PER . readValue < Map < U Short , ĠU Short >>( make Src ( U Short . MAX _ VALUE . toInt () Ġ+ Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġunder flow () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Input Co erc ion Exception :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAP PER . readValue < Map < U Short , ĠU Short >>( make Src (- 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠFor UInt Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġmake Src ( v : ĠLong ): ĠString Ġ= ĠMAP PER . writeValue AsString ( map Of ( v Ġto Ġ 0 )) ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠMAP PER . readValue < Map < UInt , ĠUInt >>( make Src ( UInt . MAX _ VALUE . to Long ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( map Of ( UInt . MAX _ VALUE Ġto Ġ 0 . to UInt ()), Ġactual ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġoverflow () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Input Co erc ion Exception :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAP PER . readValue < Map < UInt , ĠUInt >>( make Src ( UInt . MAX _ VALUE . to Long () Ġ+ Ġ 1 L )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġunder flow () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Input Co erc ion Exception :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAP PER . readValue < Map < UInt , ĠUInt >>( make Src (- 1 L )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠFor UL ong Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġmake Src ( v : ĠBigInteger ): ĠString Ġ= ĠMAP PER . writeValue AsString ( map Of ( v Ġto Ġ 0 )) ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠMAP PER . readValue < Map < UL ong , ĠU Long >>( make Src ( BigInteger ( UL ong . MAX _ VALUE . toString ()))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( map Of ( UL ong . MAX _ VALUE Ġto Ġ 0 . to UL ong ()), Ġactual ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġoverflow () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Input Co erc ion Exception :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAP PER . readValue < Map < UL ong , ĠU Long >>( make Src ( BigInteger ( UL ong . MAX _ VALUE . toString ()) Ġ+ ĠBigInteger . ONE )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġunder flow () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Input Co erc ion Exception :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAP PER . readValue < Map < UL ong , ĠU Long >>( make Src ( BigInteger . valueOf (- 1 L ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ