/* Ċ Ġ* ĠThis Ġfile Ġis Ġpart Ġof ĠDis 4 IRC . Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 - 2 0 2 1 ĠDis 4 IRC Ġcontributors Ċ Ġ* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ*/ Ċ Ċ package Ġio . z ach br . dis 4 irc . bridge . util Ċ Ċ import Ġio . z ach br . dis 4 irc . util . Wr apping Long Array Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠWr apping Long Array Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Under Pop ulated () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġ 5 0 ĊĠĠĠĠĠĠĠ Ġval Ġpopulation Ġ= Ġ 2 7 ĊĠĠĠĠĠĠĠ Ġval Ġev ict ing Ġ= ĠWr apping Long Array ( size ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġpopulate ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġpopulation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġev ict ing . add ( i . to Long ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġarray Out Ġ= Ġev ict ing . to Long Array () ĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġsize Ġ- Ġwe Ġcare Ġabout Ġpopulation ĊĠĠĠĠĠĠĠ ĠassertEquals ( population , Ġarray Out . size ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġcontents Ġcorrect ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġpopulation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( i . to Long (), Ġarray Out [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Fully Pop ulated () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġ 5 0 ĊĠĠĠĠĠĠĠ Ġval Ġev ict ing Ġ= ĠWr apping Long Array ( size ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġpopulate ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġev ict ing . add ( i . to Long ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġarray Out Ġ= Ġev ict ing . to Long Array () ĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġsize Ġcorrect ĊĠĠĠĠĠĠĠ ĠassertEquals ( size , Ġarray Out . size ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġcontents Ġcorrect ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( i . to Long (), Ġarray Out [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Over Pop ulated () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġ 5 0 ĊĠĠĠĠĠĠĠ Ġval Ġmodifier Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġval Ġev ict ing Ġ= ĠWr apping Long Array ( size ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġpopulate ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize Ġ* Ġmodifier ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġev ict ing . add ( i . to Long ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġarray Out Ġ= Ġev ict ing . to Long Array () ĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġsize Ġcorrect ĊĠĠĠĠĠĠĠ ĠassertEquals ( size , Ġarray Out . size ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġcontents Ġcorrect ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġsize Ġ* Ġ( modifier Ġ- Ġ 1 ) Ġ+ Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected . to Long (), Ġarray Out [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Over Pop ulated By 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġ 5 0 ĊĠĠĠĠĠĠĠ Ġval Ġev ict ing Ġ= ĠWr apping Long Array ( size ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġpopulate ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize Ġ+ Ġ 1 ) Ġ{ Ġ// Ġover Ġsize ĊĠĠĠĠĠĠĠĠĠĠĠ Ġev ict ing . add ( i . to Long ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġarray Out Ġ= Ġev ict ing . to Long Array () ĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġsize Ġcorrect ĊĠĠĠĠĠĠĠ ĠassertEquals ( size , Ġarray Out . size ) ĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġcorrect Ġoverflow ĊĠĠĠĠĠĠĠ ĠassertEquals ( 5 0 , Ġarray Out [ 0 ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġarray Out [ 1 ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Under Pop ulated By 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġ 5 0 ĊĠĠĠĠĠĠĠ Ġval Ġev ict ing Ġ= ĠWr apping Long Array ( size ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġpopulate ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize Ġ- Ġ 1 ) Ġ{ Ġ// Ġunder Ġsize ĊĠĠĠĠĠĠĠĠĠĠĠ Ġev ict ing . add ( i . to Long ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġarray Out Ġ= Ġev ict ing . to Long Array () ĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġsize Ġcorrect ĊĠĠĠĠĠĠĠ ĠassertEquals ( size Ġ- Ġ 1 , Ġarray Out . size ) ĊĠĠĠĠĠĠĠ Ġ// Ġassert Ġno Ġoverflow ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġarray Out [ 0 ]) ĊĠĠĠ Ġ} Ċ } Ċ