package Ġcom . so y wiz . k ds Ċ Ċ import Ġkotlin . test .* Ċ Ċ class ĠArrayList Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Rot ated () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ), ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). rot ated ( 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 4 , Ġ 1 , Ġ 2 , Ġ 3 ), ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). rot ated (+ 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 3 , Ġ 4 , Ġ 1 , Ġ 2 ), ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). rot ated (+ 2 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 2 , Ġ 3 , Ġ 4 , Ġ 1 ), ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). rot ated (+ 3 )) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 2 , Ġ 3 , Ġ 4 , Ġ 1 ), ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). rot ated (- 1 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 3 , Ġ 4 , Ġ 1 , Ġ 2 ), ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). rot ated (- 2 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 4 , Ġ 1 , Ġ 2 , Ġ 3 ), ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). rot ated (- 3 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Int () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠInt ArrayList ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 2 ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 3 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 2 , Ġ 3 ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 , Ġvalues . capacity ) ĊĊĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠInt ArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 2 , Ġ 3 ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 3 ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġv . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf (), Ġv . toList ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Float () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠFloat ArrayList ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 1 f ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 f ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 2 f ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 f , Ġ 2 f ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 3 f ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 f , Ġ 2 f , Ġ 3 f ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 , Ġvalues . capacity ) ĊĊĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠFloat ArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 2 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 3 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 f , Ġ 2 f , Ġ 3 f ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 f , Ġ 3 f ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġv . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 f ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf (), Ġv . toList ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Double () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠDouble ArrayList ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 1 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 . 0 ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 2 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 . 0 , Ġ 2 . 0 ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġvalues . capacity ) ĊĠĠĠĠĠĠĠ Ġvalues . add ( 3 . 0 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 . 0 , Ġ 2 . 0 , Ġ 3 . 0 ), Ġvalues . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġvalues . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 6 , Ġvalues . capacity ) ĊĊĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠDouble ArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 1 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . add ( 3 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 . 0 , Ġ 2 . 0 , Ġ 3 . 0 ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 . 0 , Ġ 3 . 0 ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġv . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 . 0 ), Ġv . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . remove At ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( listOf (), Ġv . toList ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmap () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( int ArrayList Of ( 0 , Ġ 6 , Ġ 1 2 , Ġ 1 8 , Ġ 2 4 ), Ġ( 0 Ġuntil Ġ 1 0 ). map Int Ġ{ Ġit Ġ* Ġ 3 Ġ}. filter Ġ{ Ġit Ġ% Ġ 2 Ġ== Ġ 0 Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġlist () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( int ArrayList Of ( 1 , Ġ 2 , Ġ 3 ). toList (), ĠlistOf ( 1 , Ġ 2 , Ġ 3 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 2 , Ġ 3 ), Ġint ArrayList Of ( 1 , Ġ 2 , Ġ 3 ). toList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdemo () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa 1 Ġ= Ġint ArrayList Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġa 2 Ġ= ĠInt ArrayList ( a 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ), Ġa 1 . toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ), Ġa 2 . toList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġlist Iterator () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 2 , Ġ 3 , Ġ 4 ), Ġint ArrayList Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). list Iterator ( 1 ). as Sequence (). toList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Insert At () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 4 , Ġ 3 , Ġ 2 , Ġ 1 ), Ġint ArrayList Of (). insert At ( 0 , Ġ 1 ). insert At ( 0 , Ġ 2 ). insert At ( 0 , Ġ 3 ). insert At ( 0 , Ġ 4 ). toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 2 1 , Ġ 2 2 , Ġ 2 3 , Ġ 1 1 , Ġ 1 2 , Ġ 1 3 , Ġ 1 , Ġ 2 , Ġ 3 ), Ġint ArrayList Of (). insert At ( 0 , Ġint ArrayOf ( 1 , Ġ 2 , Ġ 3 )). insert At ( 0 , Ġint ArrayOf ( 1 1 , Ġ 1 2 , Ġ 1 3 )). insert At ( 0 , Ġint ArrayOf ( 2 1 , Ġ 2 2 , Ġ 2 3 )). toList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest RemoveAt () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 , Ġ 5 ), Ġint ArrayList Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). apply Ġ{ Ġremove At ( 1 , Ġ 3 ) Ġ}. toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 1 ), Ġint ArrayList Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). apply Ġ{ Ġremove At ( 1 , Ġ 4 ) Ġ}. toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 5 ), Ġint ArrayList Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). apply Ġ{ Ġremove At ( 0 , Ġ 4 ) Ġ}. toList ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf (), Ġint ArrayList Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). apply Ġ{ Ġremove At ( 0 , Ġ 5 ) Ġ}. toList ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest HashCode Int ArrayList () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= ĠInt ArrayList ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 0 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . add ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 1 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . add ( 2 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 2 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . remove At ( a . size Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 3 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠInt ArrayList ( 1 0 ). also Ġ{ Ġit . add ( a ) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( hc 1 , Ġhc 0 ) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( hc 1 , Ġhc 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( hc 1 , Ġhc 3 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( a , Ġb ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest HashCode Float ArrayList () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= ĠFloat ArrayList ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 0 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . add ( 1 0 f ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 1 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . add ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 2 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . remove At ( a . size Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 3 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠFloat ArrayList ( 1 0 ). also Ġ{ Ġit . add ( a ) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( hc 1 , Ġhc 0 ) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( hc 1 , Ġhc 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( hc 1 , Ġhc 3 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( a , Ġb ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest HashCode Double ArrayList () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= ĠDouble ArrayList ( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 0 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . add ( 1 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 1 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . add ( 2 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 2 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . remove At ( a . size Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 3 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠDouble ArrayList ( 1 0 ). also Ġ{ Ġit . add ( a ) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( hc 1 , Ġhc 0 ) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( hc 1 , Ġhc 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( hc 1 , Ġhc 3 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( a , Ġb ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest HashCode Long ArrayList () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= ĠArrayList < Any >( 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 0 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . add ( Unit ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 1 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . add ( Unit ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 2 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġa . remove At ( a . size Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġhc 3 Ġ= Ġa . hashCode () ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠArrayList < Any >( 1 0 ). also Ġ{ Ġit . addAll ( a ) Ġ} ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( hc 1 , Ġhc 0 ) ĊĠĠĠĠĠĠĠ Ġassert Not Equals ( hc 1 , Ġhc 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( hc 1 , Ġhc 3 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( a , Ġb ) ĊĠĠĠ Ġ} Ċ } Ċ