package Ġdays Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġutil . Input Reader Ċ Ċ @ DisplayName (" Day Ġ 2 0 ") Ċ class ĠDay 2 0 Test Ġ{ ĊĠĠĠ Ġval Ġexample Ġ= Ġ""" .. # .# .. ##### .# .# .# . ### . ## ..... ### . ## .# .. ### . #### .. ##### .. # .... # .. # .. ## .. ### .. ###### . ### ... #### .. # .. ##### .. ## .. #. ##### ... ## .# .# .. #. ## .. # .# ...... #. ### . ###### . ### . #### ... #. ## . ## .. # .. # .. ##### ..... # .# .... ### .. #. ## ...... # ..... # .. # .. # .. ## .. # ... ## . ###### . #### . #### .# .# ... # ....... # .. # .# .# ... #### . ## .# ...... # .. # ... ## .# . ## .. # ... ## .# . ## .. ### .# ...... # .# ....... # .# .# . #### . ### . ## ... # ..... #### .# .. # .. #. ## .# .... ## .. #. #### .... ## ... ## .. # ... # ...... # .# ....... # ....... ## .. #### .. # ... # .# .# ... ## .. # .# .. ### .. ##### ........ # .. #### ...... # .. # Ċ Ċ # .. #. Ċ # .... Ċ ## .. # Ċ .. # .. Ċ .. ### """. lines () ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġ@ DisplayName (" Part Ġ 1 ") ĊĠĠĠ Ġinner Ġclass ĠPart 1 Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` After Ġen h ancing Ġthe Ġoriginal Ġinput Ġimage Ġtwice , Ġ 3 5 Ġpixels Ġare Ġlit `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( Day 2 0 ( example ). part One ()). isEqualTo ( 3 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` After Ġen h ancing Ġthe Ġoriginal Ġinput Ġimage Ġtwice , Ġ 5 3 9 5 Ġpixels Ġare Ġlit `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠInput Reader . getInput As List ( 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( Day 2 0 ( actual ). part One ()). isEqualTo ( 5 3 9 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġ@ DisplayName (" Part Ġ 2 ") ĊĠĠĠ Ġinner Ġclass ĠPart 2 Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` After Ġen h ancing Ġthe Ġoriginal Ġinput Ġimage Ġ 5 0 Ġtimes , Ġ 3 3 5 1 Ġpixels Ġare Ġlit `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( Day 2 0 ( example ). part Two ()). isEqualTo ( 3 3 5 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` After Ġen h ancing Ġthe Ġoriginal Ġinput Ġimage Ġ 5 0 Ġtimes , Ġ 5 3 9 5 Ġpixels Ġare Ġlit `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠInput Reader . getInput As List ( 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( Day 2 0 ( actual ). part Two ()). isEqualTo ( 1 7 5 8 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }