/* Ċ Ġ* Ġ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 . logging Ċ Ċ import Ġorg . hamcrest . Core Matchers .` is ` Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert DoesNot Throw Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ author ĠAl mas ĠB aim ag amb et ov Ġ( al mas lvl @ gmail . com ) Ċ Ġ*/ Ċ class ĠLogger Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Config uring Ġlogger Ġmore Ġthan Ġonce Ġdoes Ġnot Ġthrow `() Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . configure ( Logger Config ()) ĊĊĠĠĠĠĠĠĠ Ġassert DoesNot Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . configure ( Logger Config ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Closing Ġlogger Ġmore Ġthan Ġonce Ġdoes Ġnot Ġthrow `() Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . close () ĊĊĠĠĠĠĠĠĠ Ġassert DoesNot Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . close () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Logger Ġlevels `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog Ġ= ĠLogger . get (" test ") ĊĊĠĠĠĠĠĠĠ Ġval Ġoutput 1 Ġ= Ġobject Ġ: ĠLogger Output Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Messages Ġ= Ġarray ListOf < String >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġappend ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Messages Ġ+= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġoutput 2 Ġ= Ġobject Ġ: ĠLogger Output Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtest Messages Ġ= Ġarray ListOf < String >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġappend ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtest Messages Ġ+= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠLogger . add Output ( output 1 , ĠLogger Level . INFO ) ĊĠĠĠĠĠĠĠ ĠLogger . add Output ( output 2 , ĠLogger Level . FATAL ) ĊĊĠĠĠĠĠĠĠ Ġlog . warning (" hello ") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( output 1 . test Messages . size , Ġ` is `( 1 )) ĊĠĠĠĠĠĠĠ ĠassertThat ( output 2 . test Messages . size , Ġ` is `( 0 )) ĊĊĠĠĠĠĠĠĠ Ġlog . info (" world ") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( output 1 . test Messages . size , Ġ` is `( 2 )) ĊĠĠĠĠĠĠĠ ĠassertThat ( output 2 . test Messages . size , Ġ` is `( 0 )) ĊĊĠĠĠĠĠĠĠ Ġlog . fatal (" bye !") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( output 1 . test Messages . size , Ġ` is `( 3 )) ĊĠĠĠĠĠĠĠ ĠassertThat ( output 2 . test Messages . size , Ġ` is `( 1 )) ĊĊĠĠĠĠĠĠĠ ĠLogger . remove Output ( output 1 , ĠLogger Level . INFO ) ĊĠĠĠĠĠĠĠ ĠLogger . remove Output ( output 2 , ĠLogger Level . FATAL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Default Ġmessage Ġformatting `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġformatter Ġ= ĠDefault Message Formatter () ĊĠĠĠĠĠĠĠ Ġvar Ġmessage Ġ= Ġformatter . make Message (" DateTime ", Ġ" Thread Name ", Ġ" Logger Level ", Ġ" Super Long Logger Name ToBe Truncated ", Ġ" Logger Message ") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( message , Ġ` is ` (" DateTime Ġ[ Thread Name ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĠLog ge ĠSuper Long Logger Name T Ġ- ĠLogger Message ")) ĊĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġformatter . make Message (" DateTime ", Ġ" Thread Name ", Ġ" Logger Level ", Ġ" ShortName ", Ġ" Logger Message ") ĊĊĠĠĠĠĠĠĠ ĠassertThat ( message , Ġ` is ` (" DateTime Ġ[ Thread Name ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ] ĠLog ge ĠShort Name ĠĠĠĠĠĠĠĠĠĠĠ Ġ- ĠLogger Message ")) ĊĠĠĠ Ġ} Ċ }