package Ġcom . jetbrains . rd . framework . test . cases . serialization Ċ Ċ import Ġcom . jetbrains . rd . framework . Unsafe Buffer Ċ import Ġcom . jetbrains . rd . framework . test . cases . A Ċ import Ġcom . jetbrains . rd . framework . test . cases . B Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ import Ġorg . junit . jupiter . params . provider . Value Source Ċ Ċ class ĠUnsafe Buffer Test Ġ{ ĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Value Source ( b ooleans Ġ= Ġ[ true , Ġfalse ]) ĊĠĠĠ Ġfun Ġtest IntArray Write ( back edBy ByteArray : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= Ġif Ġ( back edBy ByteArray ) ĠUnsafe Buffer ( ByteArray ( 0 )) Ġelse ĠUnsafe Buffer ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġarray Ġ= ĠInt Array ( 1 0 0 ) Ġ{ Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġbuf . write IntArray ( array ) ĊĊĠĠĠĠĠĠĠ Ġbuf . rewind () ĊĊĠĠĠĠĠĠĠ Ġval Ġread Array Ġ= Ġbuf . read IntArray () ĊĠĠĠĠĠĠĠ Ġassert ( array . content Equals ( read Array )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Value Source ( b ooleans Ġ= Ġ[ true , Ġfalse ]) ĊĠĠĠ Ġfun Ġtest IntArray Overflow Read Empty ( back edBy ByteArray : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAssertions . assert Throws ( Index OutOfBoundsException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= Ġif Ġ( back edBy ByteArray ) ĠUnsafe Buffer ( ByteArray ( 0 )) Ġelse ĠUnsafe Buffer ( 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . read IntArray () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Value Source ( b ooleans Ġ= Ġ[ true , Ġfalse ]) ĊĠĠĠ Ġfun Ġtest IntArray Overflow Read Wrong Size ( back edBy ByteArray : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAssertions . assert Throws ( Index OutOfBoundsException :: class . java ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= Ġif Ġ( back edBy ByteArray ) ĠUnsafe Buffer ( ByteArray ( 0 )) Ġelse ĠUnsafe Buffer ( 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . writeInt ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . rewind () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . read IntArray () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġtodo : Ġtests Ġto Ġcover Ġother Ġaspects Ġof Ġthe Ġbuffer ĊĊĠĠĠ Ġ@ Experimental Unsigned Types ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Unsigned Types () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠUnsafe Buffer ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġbuf . write U Short ( U Short . MIN _ VALUE ) ĊĠĠĠĠĠĠĠ Ġbuf . write U Short ( U Short . MAX _ VALUE ) ĊĊĠĠĠĠĠĠĠ Ġbuf . write UInt ( UInt . MIN _ VALUE ) ĊĠĠĠĠĠĠĠ Ġbuf . write UInt ( UInt . MAX _ VALUE ) ĊĊĠĠĠĠĠĠĠ Ġbuf . write UL ong ( UL ong . MIN _ VALUE ) ĊĠĠĠĠĠĠĠ Ġbuf . write UL ong ( UL ong . MAX _ VALUE ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( buf . position , Ġ( U Short . SIZE _ BYTES Ġ+ ĠUInt . SIZE _ BYTES Ġ+ ĠU Long . SIZE _ BYTES ) Ġ* Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġbuf . rewind () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( U Short . MIN _ VALUE , Ġbuf . read U Short ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( U Short . MAX _ VALUE , Ġbuf . read U Short ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( UInt . MIN _ VALUE , Ġbuf . read UInt ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( UInt . MAX _ VALUE , Ġbuf . read UInt ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( UL ong . MIN _ VALUE , Ġbuf . read UL ong ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( UL ong . MAX _ VALUE , Ġbuf . read UL ong ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Unsigned Types ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Unsigned Array () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠUnsafe Buffer ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġarray Ġ= ĠUInt Array ( 1 0 ) Ġ{ ĠUInt . MAX _ VALUE Ġ} ĊĊĠĠĠĠĠĠĠ Ġbuf . write UInt Array ( array ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Int . SIZE _ BYTES Ġ+ Ġ 1 0 Ġ* ĠUInt . SIZE _ BYTES , Ġbuf . position ) ĊĊĠĠĠĠĠĠĠ Ġbuf . rewind () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( array . toString (), Ġbuf . read UInt Array (). toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Shrink ing 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinitial Size Ġ= Ġ 2 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠUnsafe Buffer ( initial Size . to Long ()) ĊĊĠĠĠĠĠĠĠ Ġbuf . rewind () ĊĠĠĠĠĠĠĠ ĠassertEquals ( initial Size , Ġbuf . allocated ) ĊĊĠĠĠĠĠĠĠ Ġbuf . reset () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 2 4 Ġ* Ġ 1 0 2 4 , Ġbuf . allocated ) ĊĊĠĠĠĠĠĠĠ Ġbuf . reset () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 2 4 Ġ* Ġ 1 0 2 4 , Ġbuf . allocated ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Shrink ing 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinitial Size Ġ= Ġ 2 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠUnsafe Buffer ( initial Size . to Long ()) ĊĊĠĠĠĠĠĠĠ Ġbuf . write ByteArray ( ByteArray ( initial Size Ġ- Ġ 1 6 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( initial Size , Ġbuf . allocated ) ĊĊĠĠĠĠĠĠĠ Ġbuf . reset () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 2 4 Ġ* Ġ 1 0 2 4 , Ġbuf . allocated ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Shrink ing 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinitial Size Ġ= Ġ 6 5 5 3 6 ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠUnsafe Buffer ( initial Size . to Long ()) ĊĊĠĠĠĠĠĠĠ Ġbuf . write ByteArray ( ByteArray ( 2 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 )) ĊĠĠĠĠĠĠĠ Ġassert ( buf . allocated Ġ>= Ġ 2 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 ) ĊĊĠĠĠĠĠĠĠ Ġbuf . reset () ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 2 4 Ġ* Ġ 1 0 2 4 , Ġbuf . allocated ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Inheritance () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠB (" a ") ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ( b Ġas ĠA ). a ĊĠĠĠĠĠĠĠ ĠassertEquals (" a ", Ġx ) ĊĠĠĠ Ġ} Ċ }