package Ġcom . v wo om . time lap seg allery . gif Ċ Ċ import Ġcom . v wo om . time lap seg allery . data . entry . Project Entry Ċ import Ġcom . v wo om . time lap seg allery . utils . FileUtils Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . rules . Temporary Folder Ċ import Ġjava . io . File Ċ Ċ class ĠG if UtilsTest Ġ{ ĊĊĠĠĠ Ġ@ Rule ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġtest Folder Ġ= ĠTemporary Folder () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġexternal Files Test Dir : ĠFile ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġexternal Files Test Dir Ġ= Ġtest Folder . new Folder (" pictures ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMakes Ġsure Ġa Ġproject Ġwith Ġa Ġgif Ġdoes Ġreturn Ġa Ġgif Ġfor Ġthe Ġproject ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Gif For Project () Ġwhen Ġproject ĠGIF Ġexists `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 . ĠGiven Ġa Ġproject Ġand Ġa Ġcreated ĠGIF Ġ( f aked Ġ. gif Ġfile ) ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= ĠProject Entry ( 1 0 0 0 , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġgif Dir Ġ= ĠFileUtils . get Gif Sub directory ( external Files Test Dir ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! gif Dir . exists ()) Ġgif Dir . mkdir () ĊĠĠĠĠĠĠĠ Ġval Ġmake Gif Ġ= ĠFile ( gif Dir , Ġ"${ project . id }. gif ") ĊĠĠĠĠĠĠĠ Ġmake Gif . mkdir () ĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . ĠWhen Ġwe Ġget Ġthe Ġgif Ġfor Ġthe Ġproject ĊĠĠĠĠĠĠĠ Ġval Ġgif Ġ= ĠG if Utils . get Gif For Project ( external Files Test Dir , Ġproject ) ĊĠĠĠĠĠĠĠ Ġ// Ġ 3 . ĠIt Ġexists ĊĠĠĠĠĠĠĠ ĠassertTrue ( gif Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġif Ġ( gif Ġ!= Ġnull ) Ġassert ( gif . exists ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMakes Ġsure Ġa Ġproject Ġwith Ġno Ġgif Ġdoes Ġnot Ġreturn Ġa Ġgif Ġfor Ġthe Ġproject ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Gif For Project () Ġwhen Ġno ĠGIF Ġexists `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 . ĠGiven Ġa Ġgif Ġand Ġa Ġproject ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= ĠProject Entry ( 1 0 0 0 , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . ĠWhen Ġwe Ġget Ġthe Ġgif Ġfor Ġthe Ġproject ĊĠĠĠĠĠĠĠ Ġval Ġgif Ġ= ĠG if Utils . get Gif For Project ( external Files Test Dir , Ġproject ) ĊĠĠĠĠĠĠĠ Ġ// ĠIt Ġdoes Ġnot Ġexist ĊĠĠĠĠĠĠĠ ĠassertTrue ( gif Ġ== Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` delete Gif () Ġthen Ġno ĠGIF Ġfor Ġproject Ġexists `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven Ġa Ġgif Ġfor Ġa Ġproject ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= ĠProject Entry ( 1 0 0 0 , Ġnull ) ĊĠĠĠĠĠĠĠ Ġval Ġgif Dir Ġ= ĠFileUtils . get Gif Sub directory ( external Files Test Dir ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! gif Dir . exists ()) Ġgif Dir . mkdir () ĊĠĠĠĠĠĠĠ Ġval Ġmake Gif Ġ= ĠFile ( gif Dir , Ġ"${ project . id }. gif ") ĊĠĠĠĠĠĠĠ Ġmake Gif . mkdir () ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen Ġwe Ġcall Ġdelete Ġgif ĊĠĠĠĠĠĠĠ ĠG if Utils . delete Gif ( external Files Test Dir , Ġproject ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen Ġno ĠGIF Ġfor Ġthat Ġproject Ġshould Ġexist ĊĠĠĠĠĠĠĠ Ġval Ġgif Ġ= ĠG if Utils . get Gif For Project ( external Files Test Dir , Ġproject ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( gif Ġ== Ġnull ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ĠTODO : Ġfigure Ġout Ġhow Ġto Ġtest ĠGIF Ġworker ĊĠĠĠ Ġ/*@ Test ĊĠĠĠ Ġfun Ġschedule Gif Worker () Ġ{ ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcancel Gif Worker () Ġ{ ĊĠĠĠ Ġ}*/ Ċ Ċ }