package Ġdec 1 2 Ċ Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġkotlin . math . abs Ċ Ċ class ĠDec 1 2 Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcalculate Man h att an Distance Using Waypoint Method () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN 3 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF 7 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR 9 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF 1 1 ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ 2 8 6 ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġval Ġactions Ġ= Ġparse Input ( input ) ĊĠĠĠĠĠĠĠ Ġval Ġend Waypoint State Ġ= Ġactions . fold ( Waypoint State ()) Ġ{ Ġacc , Ġaction Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġway point Reducer ( action , Ġacc ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġabs ( end Waypoint State . horizontal Units ) Ġ+ Ġabs ( end Waypoint State . vertical Units ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( expected , Ġactual ) ĊĠĠĠ Ġ} Ċ }