package Ġtest . arrays Ċ Ċ import Ġkotlin . test .* Ċ import Ġorg . junit . Test Ġas Ġtest Ċ Ċ class ĠArrays JVM Test Ġ{ ĊĊĠĠĠ Ġtest Ġfun Ġcopy Of () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Content ( boolean Array ( true , Ġfalse , Ġtrue , Ġfalse , Ġtrue , Ġfalse ). copyOf (). iterator (), Ġ 6 ) Ġ{ Ġit Ġ% Ġ 2 Ġ== Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( byteArray ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). copyOf (). iterator (), Ġ 6 ) Ġ{ Ġit . to Byte () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( short Array ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). copyOf (). iterator (), Ġ 6 ) Ġ{ Ġit . to Short () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( int Array ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). copyOf (). iterator (), Ġ 6 ) Ġ{ Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( long Array ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). copyOf (). iterator (), Ġ 6 ) Ġ{ Ġit . to Long () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( float Array ( 0 . toFloat (), Ġ 1 . toFloat (), Ġ 2 . toFloat (), Ġ 3 . toFloat ()). copyOf (). iterator (), Ġ 4 ) Ġ{ Ġit . toFloat () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( double Array ( 0 . 0 , Ġ 1 . 0 , Ġ 2 . 0 , Ġ 3 . 0 , Ġ 4 . 0 , Ġ 5 . 0 ). copyOf (). iterator (), Ġ 6 ) Ġ{ Ġit . toDouble () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( char Array (' 0 ', Ġ' 1 ', Ġ' 2 ', Ġ' 3 ', Ġ' 4 ', Ġ' 5 '). copyOf (). iterator (), Ġ 6 ) Ġ{ Ġ( it Ġ+ Ġ' 0 '). to Char () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest Ġfun Ġcopy Of Range () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Content ( boolean Array ( true , Ġfalse , Ġtrue , Ġfalse , Ġtrue , Ġfalse ). copyOf Range ( 0 , Ġ 3 ). iterator (), Ġ 3 ) Ġ{ Ġit Ġ% Ġ 2 Ġ== Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( byteArray ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). copyOf Range ( 0 , Ġ 3 ). iterator (), Ġ 3 ) Ġ{ Ġit . to Byte () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( short Array ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). copyOf Range ( 0 , Ġ 3 ). iterator (), Ġ 3 ) Ġ{ Ġit . to Short () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( int Array ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). copyOf Range ( 0 , Ġ 3 ). iterator (), Ġ 3 ) Ġ{ Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( long Array ( 0 , Ġ 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). copyOf Range ( 0 , Ġ 3 ). iterator (), Ġ 3 ) Ġ{ Ġit . to Long () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( float Array ( 0 . toFloat (), Ġ 1 . toFloat (), Ġ 2 . toFloat (), Ġ 3 . toFloat ()). copyOf Range ( 0 , Ġ 3 ). iterator (), Ġ 3 ) Ġ{ Ġit . toFloat () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( double Array ( 0 . 0 , Ġ 1 . 0 , Ġ 2 . 0 , Ġ 3 . 0 , Ġ 4 . 0 , Ġ 5 . 0 ). copyOf Range ( 0 , Ġ 3 ). iterator (), Ġ 3 ) Ġ{ Ġit . toDouble () Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Content ( char Array (' 0 ', Ġ' 1 ', Ġ' 2 ', Ġ' 3 ', Ġ' 4 ', Ġ' 5 '). copyOf Range ( 0 , Ġ 3 ). iterator (), Ġ 3 ) Ġ{ Ġ( it Ġ+ Ġ' 0 '). to Char () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest Ġfun Ġreduce () Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect (- 4 ) Ġ{ ĠintArray ( 1 , Ġ 2 , Ġ 3 ) Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġa Ġ- Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect (- 4 . to Long ()) Ġ{ Ġlong Array ( 1 , Ġ 2 , Ġ 3 ) Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġa Ġ- Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect (- 4 . toFloat ()) Ġ{ Ġfloat Array ( 1 . toFloat (), Ġ 2 . toFloat (), Ġ 3 . toFloat ()) Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġa Ġ- Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect (- 4 . 0 ) Ġ{ Ġdouble Array ( 1 . 0 , Ġ 2 . 0 , Ġ 3 . 0 ) Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġa Ġ- Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect (' 3 ') Ġ{ ĠcharArray (' 1 ', Ġ' 3 ', Ġ' 2 ') Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġif ( a Ġ> Ġb ) Ġa Ġelse Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ Ġboolean Array ( true , Ġtrue , Ġfalse ) Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġa Ġ&& Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ Ġboolean Array ( true , Ġtrue ) Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġa Ġ&& Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( 0 . to Byte ()) Ġ{ ĠbyteArray ( 3 , Ġ 2 , Ġ 1 ) Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġ( a Ġ- Ġb ). to Byte () Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( 0 . to Short ()) Ġ{ Ġshort Array ( 3 , Ġ 2 , Ġ 1 ) Ġreduce Ġ{ Ġa , Ġb Ġ-> Ġ( a Ġ- Ġb ). to Short () Ġ} Ġ} ĊĊĠĠĠĠĠĠĠ Ġfails With < Unsupported OperationException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠintArray (). reduce Ġ{ Ġa , Ġb Ġ-> Ġa Ġ+ Ġb } ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest Ġfun Ġreduce Right () Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect ( 2 ) Ġ{ ĠintArray ( 1 , Ġ 2 , Ġ 3 ) Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġa Ġ- Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( 2 . to Long ()) Ġ{ Ġlong Array ( 1 , Ġ 2 , Ġ 3 ) Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġa Ġ- Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( 2 . toFloat ()) Ġ{ Ġfloat Array ( 1 . toFloat (), Ġ 2 . toFloat (), Ġ 3 . toFloat ()) Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġa Ġ- Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( 2 . 0 ) Ġ{ Ġdouble Array ( 1 . 0 , Ġ 2 . 0 , Ġ 3 . 0 ) Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġa Ġ- Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect (' 3 ') Ġ{ ĠcharArray (' 1 ', Ġ' 3 ', Ġ' 2 ') Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġif ( a Ġ> Ġb ) Ġa Ġelse Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ Ġboolean Array ( true , Ġtrue , Ġfalse ) Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġa Ġ&& Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ Ġboolean Array ( true , Ġtrue ) Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġa Ġ&& Ġb Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( 2 . to Byte ()) Ġ{ ĠbyteArray ( 1 , Ġ 2 , Ġ 3 ) Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġ( a Ġ- Ġb ). to Byte () Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( 2 . to Short ()) Ġ{ Ġshort Array ( 1 , Ġ 2 , Ġ 3 ) Ġreduce Right Ġ{ Ġa , Ġb Ġ-> Ġ( a Ġ- Ġb ). to Short () Ġ} Ġ} ĊĊĠĠĠĠĠĠĠ Ġfails With < Unsupported OperationException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠintArray (). reduce Right Ġ{ Ġa , Ġb Ġ-> Ġa Ġ+ Ġb } ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ