package Ġcom . chr is wk . a oc . ad vent 2 0 2 0 Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠDay 9 Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġhandles Test Input () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp reamble Ġ= Ġ( 1 L .. 2 5 L ). toList () ĊĠĠĠĠĠĠĠ Ġval Ġday Ġ= ĠDay 9 () ĊĠĠĠĠĠĠĠ Ġval Ġvalid Seq Ġ= Ġ( pre amble Ġ+ Ġ 4 9 L ). window ed ( 2 5 ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( day . findFirst Number Which IsNot AS um ( 2 5 , Ġvalid Seq . as Sequence ())). isNull () ĊĠĠĠĠĠĠĠ Ġval Ġfirst Invalid Ġ= Ġ( pre amble Ġ+ Ġ 1 0 0 L ). window ed ( 2 5 ). as Sequence () ĊĠĠĠĠĠĠĠ ĠassertThat ( day . findFirst Number Which IsNot AS um ( 2 5 , Ġfirst Invalid )). isEqualTo ( 1 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 1 () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( Day 9 (). part 1 ()). isEqualTo ( 2 0 8 9 8 0 7 8 0 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġhandles Test Input Part 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 6 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 6 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 9 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 8 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 1 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 9 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 7 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 0 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 7 6 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). lines () ĊĠĠĠĠĠĠĠ Ġval Ġday Ġ= ĠDay 9 () ĊĠĠĠĠĠĠĠ Ġval Ġnumbers Ġ= Ġinput . map Ġ{ Ġit . to Long () Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġnumbers . as Sequence (). window ed ( 6 ) ĊĠĠĠĠĠĠĠ Ġval Ġweak ness Ġ= Ġday . findFirst Number Which IsNot AS um ( 5 , Ġi ) !! ĊĠĠĠĠĠĠĠ ĠassertThat ( day . find Cont ingu ous Sum For Weak ness ( weak ness , Ġnumbers )). isEqualTo ( listOf ( 1 5 L , 2 5 L , 4 7 L , 4 0 L )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 2 () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( Day 9 (). part 2 ()). isEqualTo ( 2 4 5 8 4 8 6 3 9 L ) ĊĠĠĠ Ġ} Ċ Ċ }