/* Ċ Ġ* ĠFX GL Ġ- ĠJava FX ĠGame ĠLibrary . ĠThe ĠMIT ĠLicense Ġ( MIT ). Ċ Ġ* ĠCopyright Ġ( c ) ĠAl mas B Ġ( al mas lvl @ gmail . com ). Ċ Ġ* ĠSee ĠLICENSE Ġfor Ġdetails . Ċ Ġ*/ Ċ @ file : Suppress (" JAVA _ MODULE _ DO ES _ NOT _ DEPEND _ ON _ MODULE ") Ċ package Ġcom . al mas b . fx gl . profile Ċ Ċ import Ġcom . al mas b . fx gl . core . serialization . Bundle Ċ import Ġorg . hamcrest . Core Matchers .` is ` Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . hamcrest . collection . Is Iterable Containing In Order . contains Ċ import Ġorg . junit . jupiter . api .* Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . condition . Enabled If EnvironmentVariable Ċ import Ġjava . time . LocalDateTime Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠAl mas ĠB aim ag amb et ov Ġ( al mas lvl @ gmail . com ) Ċ Ġ*/ Ċ class ĠSave File Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Save File Ġbasics `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsave File Ġ= ĠSave File (" save Name . dat ") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( save File . name , Ġ` is ` (" save Name . dat ")) ĊĠĠĠĠĠĠĠ ĠassertNotNull ( save File . data ) ĊĊĠĠĠĠĠĠĠ Ġval ĠdateTime Ġ= ĠLocalDateTime . now () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( save File . dateTime . is Before ( dateTime ) Ġ|| Ġsave File . dateTime . isEqual ( dateTime )) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( save File . toString (), Ġ` is ` (" Save File ( save Name . dat ) ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Data File Ġbasics `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata File Ġ= ĠData File () ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle (" test ") ĊĠĠĠĠĠĠĠ Ġbundle . put (" test Int ", Ġ 3 ) ĊĊĠĠĠĠĠĠĠ Ġdata File . put Bundle ( bundle ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbundle 2 Ġ= Ġdata File . get Bundle (" test ") ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġbundle 2 . get < Int >(" test Int ") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( value , Ġ` is `( 3 )) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( data File . toString (), Ġ` is ` (" Data File ({ test = Bundle Ġtest : Ġ{ test Int = 3 }}) ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Enabled If EnvironmentVariable ( named Ġ= Ġ" CI ", Ġmatches Ġ= Ġ" true ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` REC ENT _ FIRST Ġcorrectly Ġsorts Ġby Ġtimestamp `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsave 1 Ġ= ĠSave File (" 1 ") ĊĊĠĠĠĠĠĠĠ Ġ// Ġmake Ġsure Ġthere Ġis Ġa Ġbig Ġdifference Ġin Ġtimestamps ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsave 2 Ġ= ĠSave File (" 2 ") ĊĊĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsave 3 Ġ= ĠSave File (" 3 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf ( save 1 , Ġsave 3 , Ġsave 2 ) ĊĠĠĠĠĠĠĠ Ġlist . sort With ( Save File . REC ENT _ FIRST ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( list , Ġcontains ( save 3 , Ġsave 2 , Ġsave 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` No Ġbundle Ġwith Ġsame Ġname Ġis Ġallowed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata File Ġ= ĠData File () ĊĠĠĠĠĠĠĠ Ġdata File . put Bundle ( Bundle (" test ")) ĊĊĠĠĠĠĠĠĠ ĠassertThrows < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata File . put Bundle ( Bundle (" test ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Throws Ġif Ġdata Ġfile Ġdoes Ġnot Ġhave Ġa Ġbundle Ġwith Ġgiven Ġname `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThrows < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData File (). get Bundle (" test ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }