// package Ġcom . tgt . trans . common . ag gregator 2 . decorators Ċ // Ċ // import Ġcom . tgt . trans . common . ag gregator 2 . consum ers .* Ċ // import Ġio . mock k .* Ċ // import Ġjava . math . BigDecimal Ċ // import Ġkotlin . test .* Ċ // Ċ // class ĠRound Rob in Test Ġ{ Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġ` valid ates Ġround Rob in `() Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĠlistOf < Int >(). consume ( round Rob in < Int >( 1 ). count ()) Ġ} Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġhandles Empty () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠlistOf < Int >(). consume ( round Rob in < Int >( 2 ). count ()) Ċ // ĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 0 L , Ġ 0 L ), Ġactual [ 0 ]) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġchained Handles Empty () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠlistOf < Int >(). consume ( filter On Ġ{ Ġa : ĠInt Ġ-> Ġa Ġ> Ġ 0 Ġ}. round Rob in ( 2 ). count ()) Ċ // ĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( 0 L , Ġ 0 L ), Ġactual [ 0 ]) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġhandles Some Items () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġitems Ġ= ĠlistOf ( 4 2 , Ġ 4 3 , Ġ 4 4 ) Ċ // ĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġitems . consume ( round Rob in < Int >( 2 ). asList ()) Ċ // ĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( listOf ( 4 2 , Ġ 4 4 ), ĠlistOf ( 4 3 )), Ġactual [ 0 ]) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġchained Handles Some Items () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġitems Ġ= ĠlistOf ( 4 2 , Ġ 4 3 , Ġ 4 4 ) Ċ // ĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġitems . consume ( filter On Ġ{ Ġa : ĠInt Ġ-> Ġa Ġ> Ġ 0 Ġ}. round Rob in ( 2 ). asList ()) Ċ // ĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( listOf ( 4 2 , Ġ 4 4 ), ĠlistOf ( 4 3 )), Ġactual [ 0 ]) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġprovides Empty Copy () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġoriginal Consumer Ġ= Ġround Rob in < Int >( 2 ). count () Ċ // ĠĠĠĠĠĠĠ ĠlistOf ( 4 2 , Ġ 4 3 ). consume ( original Consumer ) Ċ // ĠĠĠĠĠĠĠ ĠassertFalse ( original Consumer . isEmpty (), Ġ" Guard ian Ġassumption : Ġnot Ġempty ") Ċ // ĠĠĠĠĠĠĠ Ġval Ġsut Ġ= Ġoriginal Consumer . empty Copy () Ċ // ĠĠĠĠĠĠĠ ĠassertTrue ( sut . isEmpty ()) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ@ Test Ċ // ĠĠĠ Ġfun Ġpasses Stop Call () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠlistOf ( 4 2 , Ġ 4 3 ). consume ( round Rob in < Int >( 2 ). batches ( 2 ). asList ()) Ċ // ĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( listOf ( listOf ( 4 2 )), ĠlistOf ( listOf ( 4 3 ))), Ġactual [ 0 ]) Ċ // ĠĠĠ Ġ} Ċ //} Ċ