package Ġbr . com . ac mat tos . hdc . scheduler . domain . model Ċ Ċ import Ġbr . com . ac mat tos . hdc . common . tool . assertion . Assertion FailedException Ċ import Ġbr . com . ac mat tos . hdc . scheduler . config . Message Tracker Code Enum . INVALID _ D ENT IST _ FULL _ NAME Ċ import Ġorg . assertj . core . api . Abstract Throwable Assert Ċ import Ġorg . assertj . core . api . Assertions Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . spe k framework . spe k 2 . Spe k Ċ import Ġorg . spe k framework . spe k 2 . style . g her kin . Feature Ċ Ċ private Ġconst Ġval ĠMESSAGE Ġ= Ġ" Invalid Ġname Ġfor Ġthe ĠD ent ist " Ċ /** Ċ Ġ* Ġ@ author ĠAC Mat tos Ċ Ġ* Ġ@ since Ġ 1 3 / 1 1 / 2 0 2 1 . Ċ Ġ*/ Ċ object ĠD ent ist Test : ĠSpe k ({ ĊĠĠĠ ĠFeature ("${ D ent ist :: class . java } Ġusage ") Ġ{ ĊĠĠĠĠĠĠĠ ĠScenario ("${ D ent ist :: class . java } Ġmultiple Ġnames Ġin Ġd ent ist . fullName ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar ĠfullName : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġd ent ist : ĠD ent ist ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġac ronym : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGiven (""" multiple Ġnames Ġin Ġd ent ist . fullName """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfullName Ġ= Ġ" Hel ena ĠD ental ĠCare " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnd (""" a Ġ${ D ent ist :: class . java } Ġsuccessful Ġinstantiation """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ent ist Ġ= ĠD ent ist ( D ent ist Id (" 0 1 FM 6 0 GR 4 G 9 FE 3 F 5 5 6 7 0 T QC PE 3 "), ĠfullName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWhen (""" dent ist # get Ac ronym Ġis Ġexecuted """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġac ronym Ġ= Ġd ent ist . get Ac ronym () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThen (""" ac ronym Ġis Ġequal Ġto ĠH DC """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac ronym ). isEqualTo (" H DC ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠScenario ("${ D ent ist :: class . java } Ġsingle Ġname Ġin Ġd ent ist . fullName ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar ĠfullName : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġd ent ist : ĠD ent ist ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġac ronym : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGiven (""" multiple Ġnames Ġin Ġd ent ist . fullName """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfullName Ġ= Ġ" h EL ENA " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnd (""" a Ġ${ D ent ist :: class . java } Ġsuccessful Ġinstantiation """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ent ist Ġ= ĠD ent ist ( D ent ist Id (" 0 1 FM 6 0 GR 4 G 9 FE 3 F 5 5 6 7 0 T QC PE 3 "), ĠfullName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWhen (""" dent ist # get Ac ronym Ġis Ġexecuted """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġac ronym Ġ= Ġd ent ist . get Ac ronym () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThen (""" ac ronym Ġis Ġequal Ġto ĠH DC """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ac ronym ). isEqualTo (" h ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠScenario ("${ D ent ist :: class . java } # assert FullName Ġthrows Ġexception ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar ĠfullName : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġd ent ist : ĠD ent ist ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġassertion : ĠAbstract Throwable Assert < *, Ġout ĠThrowable > ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGiven (""" fullName Ġis Ġempty """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfullName Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWhen (""" a Ġ${ D ent ist :: class . java } Ġinstantiation Ġis Ġexecuted """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassertion Ġ= ĠAssertions . assertThat Code Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ent ist Ġ= ĠD ent ist ( D ent ist Id (" 0 1 FM 6 0 GR 4 G 9 FE 3 F 5 5 6 7 0 T QC PE 3 "), ĠfullName ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThen (""" inst anti ation Ġthrows Ġexception """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassertion . has Same Class As ( Assertion FailedException ( MESSAGE , ĠINVALID _ D ENT IST _ FULL _ NAME . code )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnd (""" exception Ġhas Ġcode Ġ${ INVALID _ D ENT IST _ FULL _ NAME . code } """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassertion . has Field Or Property WithValue (" code ", ĠINVALID _ D ENT IST _ FULL _ NAME . code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnd (""" exception Ġhas Ġmessage Ġ$ MESSAGE """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassertion . has Message ( MESSAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnd (""" no Ġd ent ist Ġwas Ġinstantiated """) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( dent ist ). isNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ