package Ġintegration test Ċ Ċ import Ġcom . github . sh yn ix n . youtube 2 resource pack songs . api . Y outube 2 Resource Pack S ongs Api Ċ import Ġorg . apache . commons . io . FileUtils Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Paths Ċ Ċ /** Ċ Ġ* ĠIntegration test . Ċ Ġ* Ġ< p > Ċ Ġ* ĠVersion Ġ 1 . 5 Ċ Ġ* Ġ< p > Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ġ< p > Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 Ġby ĠSh yn ix n Ċ Ġ* Ġ< p > Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ġ< p > Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ġ< p > Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ class ĠGenerate Resource Pack IT Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGiven ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġa Ġvalid Ġinput . csv ĊĠĠĠĠ Ġ* ĠWhen ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġthe Ġresource Ġpack Ġgets Ġgenerated ĊĠĠĠĠ Ġ* ĠThen ĊĠĠĠĠ Ġ* ĠĠĠĠ Ġa Ġresource Ġpack Ġcontaining Ġthe Ġcorrect Ġdata Ġshould Ġbe Ġgenerated . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgenerate Resource Pack Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠArrange ĊĠĠĠĠĠĠĠ Ġval Ġinput File Ġ= ĠPaths . get (" build / test / input . csv ") ĊĠĠĠĠĠĠĠ Ġval Ġo up ut File Ġ= ĠPaths . get (" build / test / resource pack . zip ") ĊĠĠĠĠĠĠĠ ĠFiles . writeString ( inputFile , Ġ" https :// www . youtube . com / watch ? v = d Qw 4 w 9 Wg Xc Q , custom / demos ong ") ĊĠĠĠĠĠĠĠ Ġval Ġexpected Zip FileSize Ġ= Ġ 3 6 7 0 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġ// ĠAct ĊĠĠĠĠĠĠĠ ĠY outube 2 Resource Pack S ongs Api . convert ( inputFile . to File (), Ġo up ut File . to File ()) Ġ{ Ġprogress Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( progress . message Ġ+ Ġ": Ġ" Ġ+ Ġprogress . value Ġ+ Ġ"% ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠAssert ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( Files . size ( oup ut File ) Ġ> Ġexpected Zip FileSize ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup Test Folder () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Folder Ġ= ĠPaths . get (" build / test ") ĊĠĠĠĠĠĠĠ Ġif Ġ( Files . exists ( test Folder )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFileUtils . delete Directory ( test Folder . to File ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠFiles . create Directories ( test Folder ) ĊĠĠĠ Ġ} Ċ }