/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠThe ĠK oral ĠAuthors Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġtools . a qua . k oral . util Ċ Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ internal Ġclass ĠQu adr atic Array 2 D Test Ġ{ ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` reported Ġlabels Ġare Ġcorrect `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 1 0 , Ġ 2 0 , Ġ"") ĊĠĠĠ ĠassertEquals (( 0 .. 9 ). toList (), Ġarray . columns ) ĊĠĠĠ ĠassertEquals (( 0 .. 1 9 ). toList (), Ġarray . rows ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` all Ġquadr atic Ġcells Ġinitialized Ġto Ġinitial Ġvalue `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i ") ĊĠĠĠ ĠassertEquals (" i ", Ġarray [ 0 , Ġ 0 ]) ĊĠĠĠ ĠassertEquals (" i ", Ġarray [ 0 , Ġ 1 ]) ĊĠĠĠ ĠassertEquals (" i ", Ġarray [ 1 , Ġ 0 ]) ĊĠĠĠ ĠassertEquals (" i ", Ġarray [ 1 , Ġ 1 ]) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` written Ġvalues Ġare Ġread `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i ") ĊĠĠĠ Ġarray [ 1 , Ġ 0 ] Ġ= Ġ" x " ĊĠĠĠ ĠassertEquals (" x ", Ġarray [ 1 , Ġ 0 ]) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` written Ġvalues Ġare Ġnot Ġread Ġon Ġinverted Ġindices `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ Ġassert Not Equals (" x ", Ġarray [ 0 , Ġ 1 ]) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` put Ġreads Ġcorrect Ġvalue `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i ") ĊĠĠĠ ĠassertEquals (" i ", Ġarray . put ( 0 , Ġ 1 , Ġ" x ")) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` put Ġwrites Ġcorrect Ġvalue `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit . put ( 1 , Ġ 0 , Ġ" x ") Ġ} ĊĠĠĠ ĠassertEquals (" x ", Ġarray [ 1 , Ġ 0 ]) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` copying Ġyields Ġidentical Ġcontent `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ}. copyOf () ĊĊĠĠĠ ĠassertEquals (" i ", Ġarray [ 0 , Ġ 0 ]) ĊĠĠĠ ĠassertEquals (" i ", Ġarray [ 0 , Ġ 1 ]) ĊĠĠĠ ĠassertEquals (" x ", Ġarray [ 1 , Ġ 0 ]) ĊĠĠĠ ĠassertEquals (" i ", Ġarray [ 1 , Ġ 1 ]) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` copying Ġde co uples Ġstorage `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i ") ĊĠĠĠ Ġarray . copyOf ()[ 1 , Ġ 0 ] Ġ= Ġ" x " ĊĠĠĠ ĠassertEquals (" i ", Ġarray [ 1 , Ġ 0 ]) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` equal Ġarrays Ġcompare Ġequal `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ Ġval Ġother Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ ĠassertTrue ( array Ġ== Ġother ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` different - column Ġarrays Ġdo Ġnot Ġcompare Ġequal `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ Ġval Ġother Ġ= ĠQu adr atic Array 2 D . create ( 3 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ ĠassertTrue ( array Ġ!= Ġother ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` different - row Ġarrays Ġdo Ġnot Ġcompare Ġequal `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ Ġval Ġother Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 3 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ ĠassertTrue ( array Ġ!= Ġother ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` different - content Ġarrays Ġdo Ġnot Ġcompare Ġequal `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ Ġval Ġother Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" not - x " Ġ} ĊĠĠĠ ĠassertTrue ( array Ġ!= Ġother ) ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` equal Ġarrays Ġhave Ġsame ĠhashCode `() Ġ{ ĊĠĠĠ Ġval Ġarray Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ Ġval Ġother Ġ= ĠQu adr atic Array 2 D . create ( 2 , Ġ 2 , Ġ" i "). also Ġ{ Ġit [ 1 , Ġ 0 ] Ġ= Ġ" x " Ġ} ĊĠĠĠ ĠassertTrue ( array . hashCode () Ġ== Ġother . hashCode ()) ĊĠ Ġ} Ċ } Ċ