package Ġorg . wikipedia . search Ċ Ċ import Ġorg . hamcrest . Matcher Assert Ċ import Ġorg . hamcrest . Matchers Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . wikipedia . datac lient . mw api . Mw QueryResult Ċ import Ġorg . wikipedia . json . Json Util Ċ Ċ class ĠSearch Results Redirect Processing Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġresult : ĠM w QueryResult ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġresult Ġ= ĠJson Util . decode FromString ( query Json ) !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Redirect Handling () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpages Ġ= Ġresult . pages !! ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( pages . size , ĠMatch ers .` is `( 2 )) ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( pages [ 0 ]. title , ĠMatch ers .` is ` (" N art he ci um # Foo ")) ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( pages [ 0 ]. redirect From , ĠMatch ers .` is ` (" Ab ama ")) ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( pages [ 1 ]. title , ĠMatch ers .` is ` (" A mit ript y line ")) ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( pages [ 1 ]. redirect From , ĠMatch ers .` is ` (" Ab am ax ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Convert Title Handling () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpages Ġ= Ġresult . pages !! ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( pages . size , ĠMatch ers .` is `( 2 )) ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( pages [ 0 ]. title , ĠMatch ers .` is ` (" N art he ci um # Foo ")) ĊĠĠĠĠĠĠĠ ĠMatcher Assert . assertThat ( pages [ 0 ]. converted From , ĠMatch ers .` is ` (" Not N art he ci um ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġquery Json Ġ= Ġ""" { ĊĠĠĠ Ġ" converted ": Ġ[ ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" from ": Ġ" Not N art he ci um ", ĊĠĠĠĠĠĠĠ Ġ" to ": Ġ" N art he ci um " ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ], ĊĠĠĠ Ġ" redirects ": Ġ[ ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" index ": Ġ 1 , ĊĠĠĠĠĠĠĠ Ġ" from ": Ġ" Ab ama ", ĊĠĠĠĠĠĠĠ Ġ" to ": Ġ" N art he ci um ", ĊĠĠĠĠĠĠĠ Ġ" to fragment ": Ġ" Foo " ĊĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" index ": Ġ 2 , ĊĠĠĠĠĠĠĠ Ġ" from ": Ġ" Ab am ax ", ĊĠĠĠĠĠĠĠ Ġ" to ": Ġ" A mit ript y line " ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ], ĊĠĠĠ Ġ" pages ":[ ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" page id ": Ġ 2 0 6 0 9 1 3 , ĊĠĠĠĠĠĠĠ Ġ" ns ": Ġ 0 , ĊĠĠĠĠĠĠĠ Ġ" title ": Ġ" N art he ci um ", ĊĠĠĠĠĠĠĠ Ġ" index ": Ġ 1 , ĊĠĠĠĠĠĠĠ Ġ" terms ": Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" description ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" gen us Ġof Ġpl ants " ĊĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ" thumbnail ": Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" source ": Ġ" https :// upload . wik imedia . org / wikipedia / commons / thumb / 2 / 2 0 / N art he ci um _ oss if rag um _ 0 1 . jpg / 2 4 0 px - N art he ci um _ oss if rag um _ 0 1 . jpg ", ĊĠĠĠĠĠĠĠĠĠ Ġ" width ": Ġ 2 4 0 , ĊĠĠĠĠĠĠĠĠĠ Ġ" height ": Ġ 3 2 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ" page id ": Ġ 5 8 3 6 7 8 , ĊĠĠĠĠĠĠĠ Ġ" ns ": Ġ 0 , ĊĠĠĠĠĠĠĠ Ġ" title ": Ġ" A mit ript y line ", ĊĠĠĠĠĠĠĠ Ġ" index ": Ġ 2 , ĊĠĠĠĠĠĠĠ Ġ" terms ": Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" description ": Ġ[ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" che mical Ġcompound ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" che mical Ġcompound " ĊĠĠĠĠĠĠĠĠĠ Ġ] ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ" thumbnail ": Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" source ": Ġ" https :// upload . wik imedia . org / wikipedia / commons / thumb / 6 / 6 8 / A mit ript y line 2 DAC S . svg / 3 1 8 px - A mit ript y line 2 DAC S . svg . png ", ĊĠĠĠĠĠĠĠĠĠ Ġ" width ": Ġ 3 1 8 , ĊĠĠĠĠĠĠĠĠĠ Ġ" height ": Ġ 3 2 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ] ĊĠ Ġ} """ Ċ } Ċ