package Ġza . ac . sun . pl ume Ċ Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assertNotNull Ċ import Ġorg . junit . jupiter . api . Before All Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġza . ac . sun . pl ume . domain . models . vertices .* Ċ import Ġza . ac . sun . pl ume . drivers . Driver Factory Ċ import Ġza . ac . sun . pl ume . drivers . Graph Database Ċ import Ġza . ac . sun . pl ume . drivers . T inker Graph Driver Ċ import Ġjava . io . File Ċ Ċ class ĠPoly g lot Extractor Test Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdriver Ġ= ĠDriver Factory ( Graph Database . T INK ER _ GRAPH ) Ġas ĠT inker Graph Driver ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTEST _ PATH Ġ= Ġ" extractor _ tests ${ File . separator }" ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar ĠC LS _ PATH : ĠFile ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġextractor : ĠExtract or ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġvalid Py 2 File : ĠFile ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġvalid Js File : ĠFile ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġpoly g lot Dir : ĠFile ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Test Resource ( dir : ĠString ): ĠFile Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresource URL Ġ= ĠPoly g lot Extractor Test :: class . java . class Loader . getResource ( dir ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow Ġjava . lang . NullPointerException (" Unable Ġto Ġobtain Ġtest Ġresource ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFile ( resource URL . file ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Before All ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun ĠsetUp All () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalid Py 2 File Ġ= Ġget Test Resource ("${ TEST _ PATH } Test 4 . py ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalid Js File Ġ= Ġget Test Resource ("${ TEST _ PATH } Test 5 . js ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpoly g lot Dir Ġ= Ġget Test Resource ("${ TEST _ PATH } poly g lot ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC LS _ PATH Ġ= ĠFile ( getTest Resource ( TEST _ PATH ). absolute Path . replace ( System . getProperty (" user . dir ") Ġ+ ĠFile . separator , Ġ""). remove Suffix ( TEST _ PATH . replace ( File . separator , Ġ" "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextractor Ġ= ĠExtract or ( driver , ĠC LS _ PATH ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġdriver . clear Graph () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvalid Py 2 Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġextractor . load ( valid Py 2 File ) ĊĠĠĠĠĠĠĠ Ġextractor . project () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġvalid Js Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġextractor . load ( valid Js File ) ĊĠĠĠĠĠĠĠ Ġextractor . project () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcompile Multiple Languages Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġextractor . load ( poly g lot Dir ) ĊĠĠĠĠĠĠĠ Ġextractor . project () ĊĠĠĠ Ġ} Ċ Ċ }