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 Ċ Ċ @ DisplayName (" Day Ġ 1 9 ") Ċ class ĠDay 1 9 Test Ġ{ ĊĠĠĠ Ġval Ġinput Ġ= Ġ""" ĊĠĠĠĠĠĠĠ ĠH Ġ=> ĠHO ĊĠĠĠĠĠĠĠ ĠH Ġ=> ĠO H ĊĠĠĠĠĠĠĠ ĠO Ġ=> ĠHH ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ ĠHO H ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (). lines () ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġ@ DisplayName (" Part Ġ 1 ") ĊĠĠĠ Ġinner Ġclass ĠPart 1 Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` Starting Ġwith ĠHO H Ġexactly Ġfour Ġdistinct Ġmolecules Ġshould Ġbe Ġgenerated `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( Day 1 9 ( input ). part One ()). isEqualTo ( 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` Starting Ġwith ĠHO HO HO Ġexactly Ġseven Ġdistinct Ġmolecules Ġshould Ġbe Ġgenerated `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( Day 1 9 ( input . drop Last ( 2 ) Ġ+ Ġ"" Ġ+ Ġ" HO HO HO "). part One ()). isEqualTo ( 7 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġ@ DisplayName (" Part Ġ 2 ") ĊĠĠĠ Ġinner Ġclass ĠPart 2 Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġinput Ġ= ĠlistOf (" e Ġ=> ĠH ", Ġ" e Ġ=> ĠO ") Ġ+ Ġthis @ Day 1 9 Test . input ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` M olecule ĠHO H Ġshould Ġbe Ġgenerated Ġin Ġminimum Ġof Ġthree Ġsteps `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( Day 1 9 ( input ). part Two ()). isEqualTo ( 3 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` M olecule ĠHO HO HO Ġshould Ġbe Ġgenerated Ġin Ġminimum Ġof Ġsix Ġsteps `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( Day 1 9 ( input . drop Last ( 1 ) Ġ+ Ġ" HO HO HO "). part Two ()). isEqualTo ( 6 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }