package Ġto mas vol ker . num er iko . interfaces . array 0 d Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġto mas vol ker . num er iko . core . interfaces . factory .* Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNot Equals ĊĊ Ċ class ĠGeneric Array 0 D Test Ġ{ ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconstructor () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġa 1 Ġ= Ġarray 0 D (" value ") ĊĠĠĠĠĠĠĠ Ġval Ġa 2 Ġ= Ġarray 0 D Of (" value ") ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( a 1 . getValue (), Ġ" value ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( a 2 . getValue (), Ġ" value ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( a 1 , Ġa 2 ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġaccess () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġa 1 Ġ= Ġarray 0 D ( 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġa 2 Ġ= Ġarray 0 D ( 5 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( a 1 . getValue (), Ġa 2 . getValue ( int Array 1 D ( 0 ) Ġ{ Ġ 0 Ġ})) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġslice () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġa 1 Ġ= Ġarray 0 D ( 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġa 2 Ġ= Ġarray 0 D ( 5 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( a 1 . getView (), Ġa 2 ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` view Ġcopy Ġinstance `() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġa 1 Ġ= Ġarray 0 D ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġa 1 . getView () ĊĊĠĠĠĠĠĠĠ Ġval Ġview Copy Ġ= Ġview . copy () ĊĊĠĠĠĠĠĠĠ Ġassert ( view Ġ!== Ġview Copy ) ĊĠĠĠĠĠĠĠ Ġassert ( view Ġ== Ġview Copy ) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmodification () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġa 1 Ġ= Ġarray 0 D ( 1 0 0 ). as Mutable () ĊĊĠĠĠĠĠĠĠ Ġval Ġa 2 Ġ= Ġa 1 . copy () ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( a 1 , Ġa 2 ) ĊĊĠĠĠĠĠĠĠ Ġa 1 . setValue (- 1 ) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( a 1 , Ġa 2 ) ĊĊĠĠĠĠĠĠĠ Ġa 1 . setValue ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( a 1 , Ġa 2 ) ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ