/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 Ġby ĠT odd ĠG ins berg Ċ Ġ*/ Ċ Ċ package Ġcom . gin s berg . ad vent 2 0 2 1 Ċ Ċ import Ġcom . gin s berg . ad vent 2 0 2 1 . Resources . resource As ListOf String Ċ 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 Ċ Ċ @ DisplayName (" Day Ġ 8 ") Ċ class ĠDay 0 8 Test Ġ{ ĊĊĠĠĠ Ġ// ĠArrange ĊĠĠĠ Ġprivate Ġval Ġinput Ġ= Ġresource As ListOf String (" day 0 8 _ sample . txt ") ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġ@ DisplayName (" Part Ġ 1 ") ĊĠĠĠ Ġinner Ġclass ĠPart 1 Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` Matches Ġexample `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanswer Ġ= ĠDay 0 8 ( input ). solve Part 1 () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( answer ). isEqualTo ( 2 6 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` Actual Ġanswer `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanswer Ġ= ĠDay 0 8 ( resource As ListOf String (" day 0 8 . txt ")). solve Part 1 () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( answer ). isEqualTo ( 4 9 3 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġ@ DisplayName (" Part Ġ 2 ") ĊĠĠĠ Ġinner Ġclass ĠPart 2 Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` Matches Ġexample `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanswer Ġ= ĠDay 0 8 ( input ). solve Part 2 () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( answer ). isEqualTo ( 6 1 _ 2 2 9 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` Actual Ġanswer `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanswer Ġ= ĠDay 0 8 ( resource As ListOf String (" day 0 8 . txt ")). solve Part 2 () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( answer ). isEqualTo ( 1 _ 0 1 0 _ 4 6 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }