package Ġde . f ra un ho fer . aise c . co dy ze . cry mlin Ċ Ċ import Ġde . f ra un ho fer . aise c . co dy ze . analysis . Finding Ċ import Ġjava . lang . Exception Ċ import Ġjava . util . stream . Collectors Ċ import Ġkotlin . Throws Ċ import Ġkotlin . test . assertEquals Ċ import Ġorg . junit . jupiter . api .* Ċ Ċ // Ġat Ġleast Ġit Ġbreaks Ġconsistently Ġnow Ċ internal Ġclass ĠReal B CT est Ġ: ĠAbstract Mark Test () Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Simple () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠJust Ġa Ġvery Ġsimple Ġtest Ġof Ġa Ġsource Ġfile Ġfound Ġin Ġthe Ġwild . ĊĠĠĠĠĠĠĠ Ġval Ġfindings Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperform Test ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" real - examples / bc / rw ed off . Password - Manager / Main . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" real - examples / bc / rw ed off . Password - Manager /" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( f Ġin Ġfindings ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Ġ Ġ-> " Ġ+ Ġf . identifier Ġ+ Ġ" Ġ" Ġ+ Ġf . regions [ 0 ] Ġ+ Ġ" Ġ" Ġ+ Ġf . log Msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġexpect Ġthree Ġ( positive ) Ġverification Ġof Ġthe Ġalgorithm Ġused ĊĠĠĠĠĠĠĠ Ġval Ġwrong Algorithms Find ings Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfindings ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġf : ĠFind ing ? Ġ-> Ġf !!. identifier Ġ== Ġ" Wrong _ Algorithm " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collect ( Collectors . toSet ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġwrong Algorithms Find ings . size ) Ġ// Ġ 3 Ġin Ġtotal ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrong Algorithms Find ings ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġobj : ĠFind ing ? Ġ-> Ġobj !!. is Problem Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collect ( Collectors . toSet ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ĊĠĠĠĠĠĠĠ Ġ) Ġ// ĠNone Ġis Ġa Ġviolation ĊĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġexpect Ġthree Ġcorrect Ġusage s Ġof ĠSecure Random ĊĠĠĠĠĠĠĠ Ġval Ġcorrect Order Secure Random Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfindings ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġf : ĠFind ing ? Ġ-> Ġf !!. log Msg Ġ== Ġ" Verified ĠOrder : ĠSecure Random Order " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collect ( Collectors . toSet ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġcorrect Order Secure Random . size ) Ġ// Ġ 3 Ġin Ġtotal ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcorrect Order Secure Random ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġobj : ĠFind ing ? Ġ-> Ġobj !!. is Problem Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collect ( Collectors . toSet ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ĊĠĠĠĠĠĠĠ Ġ) Ġ// ĠNone Ġis Ġa Ġviolation ĊĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġexpect Ġthree Ġcorrect Ġusage s Ġof ĠSHA Ġ 5 1 2 ĊĠĠĠĠĠĠĠ Ġval Ġcorrect Order Sha 5 1 2 Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfindings ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġf : ĠFind ing ? Ġ-> Ġf !!. log Msg Ġ== Ġ" Verified ĠOrder : ĠSHA 5 1 2 Digest Order " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collect ( Collectors . toSet ()) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 , Ġcorrect Order Sha 5 1 2 . size ) Ġ// Ġ 3 Ġin Ġtotal ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcorrect Order Sha 5 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġobj : ĠFind ing ? Ġ-> Ġobj !!. is Problem Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collect ( Collectors . toSet ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ĊĠĠĠĠĠĠĠ Ġ) Ġ// ĠNone Ġis Ġa Ġviolation ĊĠĠĠ Ġ} Ċ } Ċ