package Ġcli . calcul cul ations CLI Ċ Ċ import ĠTest Config . branch Ċ import ĠTest Config . git Dir Ċ import Ġcalculations . Page Rank Calculation Ċ import Ġcli . Abstract CLI Ċ import Ġcli . Abstract CL ITest Ċ import Ġkotlinx . serialization . decode FromString Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Test Ċ import Ġutil . Project Config Ċ import Ġjava . io . File Ċ Ċ class ĠPage Rank Calculation CL ITest Ġ: ĠAbstract CL ITest ( test Folder ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtest Folder Ġ= ĠFile ( tmp CL ITest Folder , Ġ" Page Rank Calculation Test /") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġpage Rank Json File Ġ= ĠFile ( test Folder , Ġ" PR ") ĊĊĠĠĠ Ġprivate Ġval Ġrequired Options Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠAbstract CLI . LONG NAME _ REPOSITORY Ġto Ġgit Dir . absolute Path ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġnon Required Options Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠPage Rank Calculation CLI . LONG NAME _ ALPHA Ġto ĠPage Rank Calculation . DEFAULT _ ALPHA . toString (), ĊĠĠĠĠĠĠĠ ĠPage Rank Calculation CLI . LONG NAME _ PAGE _ RAN K Ġto Ġpage Rank Json File . absolute Path , ĊĠĠĠĠĠĠĠ ĠAbstract CLI . LONG NAME _ NUM _ THREADS Ġto ĠProject Config . DEFAULT _ NUM _ THREADS . toString (), ĊĠĠĠĠĠĠĠ ĠAbstract CLI . LONG NAME _ ID _ TO _ COMMIT Ġto Ġid To Commit Json File . absolute Path , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġarguments Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġbranch ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġjson Ġfiles Ġafter Ġrun `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġcreate Input ( required Options , Ġnon Required Options , Ġarguments ) ĊĠĠĠĠĠĠĠ ĠPage Rank Calculation CLI (). parse ( input ) ĊĊĠĠĠĠĠĠĠ Ġcheck Id To Entity ( id To Commit Json File ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpage Rank Ġ= ĠJson . decode FromString < Map < Int , ĠDouble >>( page Rank Json File . read Text ()) ĊĠĠĠĠĠĠĠ ĠassertTrue ( page Rank . isNotEmpty ()) ĊĠĠĠ Ġ} Ċ }