package Ġm ary k . core . properties . types . numeric Ċ Ċ import Ġm ary k . lib . extensions . to Hex Ċ import Ġm ary k . test . Byte Collector Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . expect Ċ Ċ internal Ġclass ĠUInt 3 2 Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġu Int 3 2 values Ġ= ĠarrayOf ( UInt 3 2 . MIN _ VALUE , ĠUInt 3 2 . MAX _ VALUE , Ġ 4 2 4 2 3 4 2 3 4 9 u ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Random () Ġ{ ĊĠĠĠĠĠĠĠ ĠUInt 3 2 . create Random () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest String Conversion () Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect (" 0 ") Ġ{ ĠUInt 3 2 . MIN _ VALUE . toString () Ġ} ĊĠĠĠĠĠĠĠ Ġexpect (" 4 2 9 4 9 6 7 2 9 5 ") Ġ{ ĠUInt 3 2 . MAX _ VALUE . toString () Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( u Int Ġin Ġu Int 3 2 values ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect ( u Int ) Ġ{ ĠUInt 3 2 . of String ( u Int . toString ()) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Storage Bytes Conversion () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbc Ġ= ĠByte Collector () ĊĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġu Int 3 2 values . zip ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 0 0 0 0 0 0 0 ", Ġ" ffffffff ", Ġ" fc dd 0 1 cd ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ(( value , Ġhex String ) Ġin Ġvalues ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbc . reserve ( UInt 3 2 . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUInt 3 2 . write Storage Bytes ( value , Ġbc :: write ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect ( hex String ) Ġ{ Ġbc . bytes ?. to Hex () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect ( value ) Ġ{ ĠUInt 3 2 . from Storage Byte Reader ( bc . size , Ġbc :: read ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbc . reset () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Transport Bytes Conversion () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbc Ġ= ĠByte Collector () ĊĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġu Int 3 2 values . zip ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 0 ", Ġ" ffffffff 0 f ", Ġ" cd 8 3 f 4 e 6 0 f ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ(( value , Ġhex String ) Ġin Ġvalues ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbc . reserve ( UInt 3 2 . calculate Transport Byte Length ( value )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUInt 3 2 . write Transport Bytes ( value , Ġbc :: write ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect ( hex String ) Ġ{ Ġbc . bytes ?. to Hex () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect ( value ) Ġ{ ĠUInt 3 2 . read Transport Bytes ( bc :: read ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbc . reset () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ