package Ġkotlin . jdk 8 . collections . test Ċ Ċ import Ġorg . junit . Test Ċ import Ġkotlin . test .* Ċ import Ġjava . util . function .* ĊĊĊ Ċ class ĠIterable Test Ġ{ ĊĊĠĠĠ Ġval Ġdata Ġ= ĠlistOf (" foo ", Ġ" bar ") ĊĠĠĠ Ġval Ġiterable Ġ= ĠIterable Ġ{ Ġdata . iterator () Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġspl iterator () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspl iterator Ġ= Ġiterable . spl iterator () ĊĊĠĠĠĠĠĠĠ ĠassertEquals (- 1 , Ġspl iterator . exact Size If Known ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġdata . to Mutable List () ĊĠĠĠĠĠĠĠ Ġspl iterator . forEach Remaining Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected . remove At ( 0 ), Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun ĠforEach () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġdata . to Mutable List () ĊĠĠĠĠĠĠĠ Ġiterable . forEach ( Consumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected . remove At ( 0 ), Ġit ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun ĠforEach Remaining () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġdata . to Mutable List () ĊĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= Ġiterable . iterator () ĊĠĠĠĠĠĠĠ Ġiterator . forEach Remaining ( Consumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected . remove At ( 0 ), Ġit ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ }