package Ġcz . v ut br . fit . k not . entic ing . index . mg 4 j ĊĊ Ċ import Ġcz . v ut br . fit . k not . entic ing . dto . format . text . Text Unit Ċ import Ġcz . v ut br . fit . k not . entic ing . dto . interval . Interval Ċ import Ġcz . v ut br . fit . k not . entic ing . index . collection . manager . format . text . Structured Document Iterator Ċ import Ġcz . v ut br . fit . k not . entic ing . index . collection . manager . format . text . Text Unit List Generating Listener Ċ import Ġcz . v ut br . fit . k not . entic ing . log . Simple Stdout LoggerFactory Ċ import Ġit . un imi . ds i . fast util . io . Fast Buffered InputStream Ċ import Ġit . un imi . ds i . fast util . objects . Reference 2 Object Array Map Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . io . File Ċ import Ġjava . io . String Reader Ċ Ċ private Ġval Ġindexes Ġ= Ġfull Test Metadata Config . indexes . values . toList () Ċ Ċ fun Ġassert Stream StartsWith ( stream : ĠAny , Ġexpected : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġactual Ġ= Ġ( stream Ġas ĠString Reader ). read Text (). substring ( 0 , Ġexpected . length ) ĊĠĠĠ ĠassertThat ( actual ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( expected ) Ċ } Ċ Ċ internal Ġclass ĠM g 4 j Document Factory Test Ġ{ ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠNew Wiki Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` load Ġdocument Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠM g 4 j Document Factory ( full Test Metadata Config , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcollection Ġ= ĠM g 4 j Single File Document Collection ( File ("../ data / new _ wiki / new _ wiki . mg 4 j "), Ġfactory , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġcollection . size ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġcollection . document ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( document . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` load Ġdocument Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠM g 4 j Document Factory ( full Test Metadata Config , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠ Ġval Ġcollection Ġ= ĠM g 4 j Single File Document Collection ( File ("../ data / mg 4 j / small . mg 4 j "), Ġfactory , ĠSimple Stdout LoggerFactory ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġcollection . document ( 2 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( document . title ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" To y ĠSol di ers ĠStudio : ĠII / 2 0 c ĠP to le ma ic ") ĊĠĠĠĠĠĠĠ ĠassertThat ( document . uri ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" http :// 1 5 mm 2 5 mm . blogspot . com / 2 0 1 4 / 0 7 / ii 2 0 c - pt ole ma ic . html ") ĊĊĊĠĠĠĠĠĠĠ Ġassert Stream StartsWith ( document . content ( 0 ), Ġ" 0 Ġ 0 Ġ 1 Ġ 2 Ġ 0 Ġ 0 Ġ 1 Ġ 2 Ġ 3 Ġ 4 Ġ 5 Ġ 6 Ġ 7 Ġ 8 ") ĊĠĠĠĠĠĠĠ Ġassert Stream StartsWith ( document . content ( 1 ), Ġ" Â§ ĠÂ ¶ ĠII / 2 0 c ĠP to le ma ic ĠÂ§ ĠÂ ¶ Ġ 1 6 6 ĠBC Ġ- Ġ 5 4 ĠBC Ġ( ĠH ellen istic Ġ- ĠE gy pt ian Ġ) ĠDB A Ġ 2 . 2 Ar my ĠComp osition Ġ: Ġ( Ġ 1 4 Ġelements Ġ) Ġ 1 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` special Ġglue Ġindex Ġis Ġpresent `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠM g 4 j Document Factory ( full Test Metadata Config , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠ Ġval Ġcollection Ġ= ĠM g 4 j Single File Document Collection ( File ("../ data / mg 4 j / small . mg 4 j "), Ġfactory , ĠSimple Stdout LoggerFactory ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġcollection . document ( 0 ) Ġas ĠM g 4 j Document ĊĠĠĠĠĠĠĠ ĠassertThat ( document . uri ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo (" http :// 1 1 9 . door blog . jp / archives / 5 1 9 8 1 3 4 8 . html ") ĊĊĊĠĠĠĠĠĠĠ Ġassert Stream StartsWith ( document . content ( full Test Metadata Config . indexOf ("_ glue ")), Ġ" 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 ĠN ĠP Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 ĠN ĠP Ġ 0 Ġ 0 ĠN ĠP Ġ 0 Ġ 0 Ġ 0 ĠN ĠP Ġ 0 ĠN ĠP Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 ĠN ĠP Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 ĠN ĠP Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 Ġ 0 ĠN ĠP ") ĊĠĠĠ Ġ} ĊĊĊĊ ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠN er len Works Back wards Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` use Ġonly Ġlow level Ġfactory - get document Ġmethod `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġinit Mock Document () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn ert ag Reader Ġ= Ġ( document . content ( full Test Metadata Config . entity Index !!. column Index ) Ġas ĠString Reader ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( n ert ag Reader . read Text ()). isEqualTo (" 0 Ġ 0 Ġ 0 Ġperson Ġperson Ġ 0 Ġ 0 Ġ 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġner len Reader Ġ= Ġ( document . content ( full Test Metadata Config . length Index !!. column Index ) Ġas ĠString Reader ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( ner len Reader . read Text ()). isEqualTo (" 0 Ġ 0 Ġ 0 Ġ 2 Ġ- 1 Ġ 0 Ġ 0 Ġ 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġfull Test Metadata Config . entity Index !!. column Index Ġ+ Ġ 1 Ġuntil Ġfull Test Metadata Config . length Index !!. column Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreader Ġ= Ġ( document . content ( i ) Ġas ĠString Reader ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( reader . read Text ()). isEqualTo (" 0 Ġ 0 Ġ 0 ĠX ĠX Ġ 0 Ġ 0 Ġ 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Test ĊĠĠĠĠĠĠĠ Ġfun Ġ` with Ġeql Ġresult Ġcreator `() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġinit Mock Document () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= ĠStruct ured Document Iterator ( full Test Metadata Config , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvisitor Ġ= ĠText Unit List Generating Listener ( full Test Metadata Config , Ġ" token ", ĠInterval . valueOf ( 0 , Ġdocument . size ()), Ġdocument , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiterator . iterate Document ( document , Ġempty Map (), Ġempty Set (), Ġvisitor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġvisitor . build () Ġas Ġcz . v ut br . fit . k not . entic ing . dto . format . result . Result Format . Snippet . Text Unit List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelems Ġ= Ġresult . content . content ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( elems ). has Size ( 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġh arry Ġ= Ġelems [ 3 ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( h arry ). isInstanceOf ( Text Unit . Entity :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġinit Mock Document (): ĠM g 4 j Document Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠM g 4 j Document Factory ( full Test Metadata Config , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠinputStream Ġ= ĠFast Buffered InputStream (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ%% # DOC ĉ 2 c 2 5 c 2 7 f - 6 0 b 1 - 5 4 1 b - a 5 fc - 2 8 7 c 7 c 4 3 1 8 c 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ%% # PAGE ĠDis claimer Ġ- ĠAutom ated ĠEx emption ĠSystem ĉ http :// aes . faa . gov / AES / Help ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ%% # PAR Ġ 1 Ġwx 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ%% # S EN Ġ 1 Ġwx 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĉ Hello ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 ĉ H arry ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĉ Pot ter ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ person ĉ X ĉ X ĉ X ĉ X ĉ X ĉ X ĉ X ĉ X ĉ X ĉ X ĉ X ĉ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 ĉ How ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 ĉ are ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 6 ĉ you ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (). byte InputStream ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmetadata Ġ= ĠReference 2 Object Array Map < Enum <* >, ĠAny >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata [ Document Metadata . ID ] Ġ= Ġ 4 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata [ Document Metadata . TITLE ] Ġ= Ġ" title " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata [ Document Metadata . URI ] Ġ= Ġ" uri " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfactory . getDocument ( inputStream , Ġmetadata ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` if Ġtoken Ġis Ġmissing Ġline Ġshould Ġbe Ġskipped `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġ""" 4 3 ĉ ĉ CC ĉ 0 ĉ 1 ĉ N MOD ĉ In ĉ in ĉ - 4 2 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 ĉ 0 """ ĊĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġindexes . map Ġ{ Ġmutable ListOf < String >() Ġ} ĊĠĠĠĠĠĠĠ Ġprocess Line ( input , Ġoutput , Ġ 0 , Ġfull Test Metadata Config , ĠSimple Stdout LoggerFactory . named Logger (" test Logger ")) ĊĠĠĠĠĠĠĠ Ġval Ġall Empty Ġ= Ġoutput . all Ġ{ Ġit . isEmpty () Ġ} ĊĠĠĠĠĠĠĠ Ġprintln ( all Empty ) ĊĠĠĠĠĠĠĠ ĠassertThat ( all Empty ). isTrue () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` number Ġof Ġfields Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠM g 4 j Document Factory ( full Test Metadata Config , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠ ĠassertThat ( factory . numberOf Fields ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( indexes . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` field Ġname Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠM g 4 j Document Factory ( full Test Metadata Config , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġindexes . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( factory . fieldName ( i )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( indexes [ i ]. name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` field Ġindex Ġtest `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠM g 4 j Document Factory ( full Test Metadata Config , ĠSimple Stdout LoggerFactory ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġindexes . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( factory . field Index ( indexes [ i ]. name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }