package Ġapp . pwd gen Ċ Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Test Ċ import Ġjava . util . regex . Pattern Ċ Ċ class ĠPassword Generator Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Password Ġshould Ġcontain Ġno Ġspecial Ġcharacters `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpwd Generator Ġ= ĠPassword Generator ( true , Ġtrue , Ġtrue , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 8 .. 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpwd Ġ= Ġpwd Generator . generate ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠPattern . compile (" (? ![ $ SPECIAL ]). *$ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Ġ= Ġp . matcher ( pwd ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġm . matches () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue (" Password : Ġ$ pwd , ĠLength : Ġ$ i ", Ġb ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Password Ġshould Ġbe Ġlower Ġcase Ġonly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpwd Generator Ġ= ĠPassword Generator ( true , Ġfalse , Ġtrue , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 8 .. 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpwd Ġ= Ġpwd Generator . generate ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠPattern . compile (" (? ![ $ UPPER ]). *$ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Ġ= Ġp . matcher ( pwd ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġm . matches () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue (" Password : Ġ$ pwd , ĠLength : Ġ$ i ", Ġb ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Password Ġshould Ġbe Ġal ph ab ets Ġonly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpwd Generator Ġ= ĠPassword Generator ( true , Ġtrue , Ġfalse , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 8 .. 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpwd Ġ= Ġpwd Generator . generate ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠPattern . compile (" (? ![ $ DIG ITS |$ SPECIAL ]). *$ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Ġ= Ġp . matcher ( pwd ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġm . matches () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue (" Password : Ġ$ pwd , ĠLength : Ġ$ i ", Ġb ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }