package Ġxyz . p avel kor ole v . bl ader un ner . services Ċ Ċ import Ġorg . assertj . core . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ import Ġxyz . p avel kor ole v . bl ader un ner . utils . TestData Ċ import Ġjava . io . File Ċ Ċ internal Ġclass ĠRunner ServiceImpl Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhash Service : ĠHash Service Ġ= ĠHash ServiceImpl () ĊĠĠĠ Ġprivate Ġval Ġrunner Service : ĠRunner Service Ġ= ĠRunner ServiceImpl ( hash Service ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` process Ġfiles ĠEXPECT Ġsame Ġcount Ġas Ġtotal Ġfiles Ġcount Ġand Ġcompletion `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ok Count Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġval Ġexpected Clone Count Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġexpected Total Count Ġ= Ġexpected Ok Count Ġ+ Ġexpected Clone Count ĊĊĠĠĠĠĠĠĠ Ġval Ġlistener Ġ= Ġobject Ġ: ĠRunner Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġok Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġclone Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtotal Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Completed Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon File Ok ( file : ĠFile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġok Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon File Clone ( file : ĠFile , Ġoriginal : ĠFile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclone Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Completed () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Completed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrunner Service . process Files ( TestData . directory , Ġlistener ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( listener . total Count ). isEqualTo ( expected Total Count ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( listener . ok Count ). isEqualTo ( expected Ok Count ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( listener . clone Count ). isEqualTo ( expected Clone Count ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( listener . is Completed ). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġtotal Ġfile Ġcount ĠEXPECT Ġfiles Ġcount Ġwithout Ġdirectories `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ 7 ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġrunner Service . getTotal File Count ( TestData . directory ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertThat ( actual ). isEqualTo ( expected ) ĊĠĠĠ Ġ} Ċ Ċ }