package Ġio . datal br y . plugin . semver . notes . formatter Ċ Ċ import Ġio . datal br y . plugin . semver . notes . Release Note Ċ import Ġio . datal br y . plugin . semver . notes . Release Notes Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠMarkdown Release Notes Formatter Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` context Ġis Ġgrouped Ġcorrect `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconf Ġ= ĠMarkdown Release Notes Formatter Config () ĊĠĠĠĠĠĠĠ Ġval Ġfixture Ġ= ĠMarkdown Release Notes Formatter ( conf ) ĊĠĠĠĠĠĠĠ Ġval Ġrelease Notes Ġ= ĠRelease Notes ( set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" test ", Ġ" ro bin ", Ġ" Test Ġnew ĠB ow "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ" bat man ", Ġ" Fix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" test ", Ġ" bat man ", Ġ" Test ĠB at mobile "), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Body Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠ Ġ### ĠFix ĊĠĠĠĠĠĠĠĠĠ Ġ#### ĠB at man ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠFix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠ Ġ### ĠTest ĊĠĠĠĠĠĠĠĠĠ Ġ#### ĠRob in ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠTest Ġnew ĠB ow ĊĠĠĠĠĠĠĠĠĠ Ġ#### ĠB at man ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠTest ĠB at mobile ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval Ġformatted Release Notes Ġ= Ġfixture . format ( release Notes ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( formatted Release Notes . trim (). content Equals ( expected Body )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` empty Ġtype Ġis Ġgrouped Ġinto Ġmention able `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconf Ġ= ĠMarkdown Release Notes Formatter Config () ĊĠĠĠĠĠĠĠ Ġval Ġfixture Ġ= ĠMarkdown Release Notes Formatter ( conf ) ĊĠĠĠĠĠĠĠ Ġval Ġrelease Notes Ġ= ĠRelease Notes ( set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note ("", Ġ"", Ġ" Look Ġfor Ġa Ġnew Ġbut ler "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ" bat man ", Ġ" Fix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ" bat man ", Ġ" Fix Ġbreak es Ġof Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Body Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠ Ġ### ĠM ention able ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠLook Ġfor Ġa Ġnew Ġbut ler ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠ Ġ### ĠFix ĊĠĠĠĠĠĠĠĠĠ Ġ#### ĠB at man ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠFix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠFix Ġbreak es Ġof Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval Ġformatted Release Notes Ġ= Ġfixture . format ( release Notes ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( formatted Release Notes . trim (). content Equals ( expected Body )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` empty Ġcontext Ġis Ġgrouped Ġright Ġnext Ġto Ġthe Ġtype `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconf Ġ= ĠMarkdown Release Notes Formatter Config () ĊĠĠĠĠĠĠĠ Ġval Ġfixture Ġ= ĠMarkdown Release Notes Formatter ( conf ) ĊĠĠĠĠĠĠĠ Ġval Ġrelease Notes Ġ= ĠRelease Notes ( set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ"", Ġ" Remove Ġgu ano Ġin Ġthe ĠB at c ave "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ" bat man ", Ġ" Fix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ" bat man ", Ġ" Fix Ġbreak es Ġof Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Body Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠ Ġ### ĠFix ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠRemove Ġgu ano Ġin Ġthe ĠB at c ave ĊĠĠĠĠĠĠĠĠĠ Ġ#### ĠB at man ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠFix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠFix Ġbreak es Ġof Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval Ġformatted Release Notes Ġ= Ġfixture . format ( release Notes ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( formatted Release Notes . trim (). content Equals ( expected Body )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` alias Ġtypes Ġworks Ġjust Ġfine `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaliases Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" fix " Ġto Ġ" Bug fix ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" feat " Ġto Ġ" Feature " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġconf Ġ= ĠMarkdown Release Notes Formatter Config ( aliases ) ĊĠĠĠĠĠĠĠ Ġval Ġfixture Ġ= ĠMarkdown Release Notes Formatter ( conf ) ĊĠĠĠĠĠĠĠ Ġval Ġrelease Notes Ġ= ĠRelease Notes ( set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" feat ", Ġ"", Ġ" Add Ġa ĠB ow Ġto Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ"", Ġ" Fix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Body Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠ Ġ### ĠFeature ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠAdd Ġa ĠB ow Ġto Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠ Ġ### ĠBug fix ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠFix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġval Ġformatted Release Notes Ġ= Ġfixture . format ( release Notes ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( formatted Release Notes . trim (). content Equals ( expected Body )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` types Ġsort Ġremains Ġstable `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaliases Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" fix " Ġto Ġ" Bug fix ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" feat " Ġto Ġ" Feature " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġconf Ġ= ĠMarkdown Release Notes Formatter Config ( aliases ) ĊĠĠĠĠĠĠĠ Ġval Ġfixture Ġ= ĠMarkdown Release Notes Formatter ( conf ) ĊĠĠĠĠĠĠĠ Ġval Ġnotes Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Notes ( set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" feat ", Ġ"", Ġ" Add Ġa ĠB ow Ġto Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ"", Ġ" Fix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Notes ( set Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" fix ", Ġ"", Ġ" Fix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRelease Note (" feat ", Ġ"", Ġ" Add Ġa ĠB ow Ġto Ġthe ĠB at mobile ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Body Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠ Ġ### ĠFeature ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠAdd Ġa ĠB ow Ġto Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠ Ġ### ĠBug fix ĊĠĠĠĠĠĠĠĠĠĠ Ġ- ĠFix Ġbroken Ġt ires Ġof Ġthe ĠB at mobile ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠĠĠĠĠ Ġnotes . forEach Ġ{ Ġrelease Notes Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġformatted Release Notes Ġ= Ġfixture . format ( release Notes ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( formatted Release Notes . trim (). content Equals ( expected Body )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ