package Ġorg . got son . kom ga . infrastructure . search Ċ Ċ import Ġorg . apache . lucene . analysis . Analyzer Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠMult iling ual Analyzer Test Ġ{ ĊĊĠ Ġprivate Ġval Ġanalyzer Ġ= ĠMulti L ing ual Analyzer () ĊĊĠ Ġprivate Ġfun ĠAnalyzer . get Tokens ( text : ĠString ): ĠList < String > Ġ{ ĊĠĠĠ Ġval Ġts Ġ= Ġtoken Stream (" text ", Ġtext ) ĊĊĠĠĠ Ġval Ġtokens Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġts . use Ġ{ Ġts Ġ-> ĊĠĠĠĠĠ Ġts . reset () ĊĠĠĠĠĠ Ġwhile Ġ( ts . increment Token ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġts . reflect With Ġ{ Ġ_, Ġkey , Ġvalue Ġ-> Ġif Ġ( key Ġ== Ġ" term ") Ġtokens Ġ+= Ġvalue . toString () Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġts . end () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġtokens ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` english Ġtext `() Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ" The Ġinc red ible Ġad vent ures Ġof ĠB at man , Ġthe Ġman Ġwho Ġis Ġalso Ġa Ġbat !" ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly (" the ", Ġ" inc red ible ", Ġ" ad vent ures ", Ġ" of ", Ġ" bat man ", Ġ" the ", Ġ" man ", Ġ" who ", Ġ" is ", Ġ" also ", Ġ" a ", Ġ" bat ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġacc ents () Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ" Ãī ric ĠÃ¨ l Ġro jo " ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly In Any Order (" eric ", Ġ" el ", Ġ" ro jo ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġis bn () Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ" 9 7 8 2 4 1 3 0 1 6 8 7 8 " ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly (" 9 7 8 2 4 1 3 0 1 6 8 7 8 ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` single Ġletter `() Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ" J " ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly (" j ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` chinese Ġmixed `() Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ"[ ä¸į éģĵ å¾· åħ¬ æľĥ ][ æ²³ æ· » å¤ª ä¸Ģ Ġ][ æĿ ± ç«ĭ ] Vol . 0 4 - æĲ ¬ è¿Ĳ " ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly (" ä¸į éģĵ ", Ġ" éģĵ å¾· ", Ġ" å¾· åħ¬ ", Ġ" åħ¬ æľĥ ", Ġ" æ²³ æ· » ", Ġ" æ· » å¤ª ", Ġ" å¤ª ä¸Ģ ", Ġ" æĿ ± ç«ĭ ", Ġ" vol ", Ġ" 0 4 ", Ġ" æĲ ¬ è¿Ĳ ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` chinese Ġonly `() Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ" ä¸į éģĵ å¾· åħ¬ æľĥ æ²³ æ· » å¤ª ä¸Ģ æĿ ± ç«ĭ æĲ ¬ è¿Ĳ " ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly (" ä¸į éģĵ ", Ġ" éģĵ å¾· ", Ġ" å¾· åħ¬ ", Ġ" åħ¬ æľĥ ", Ġ" æľĥ æ²³ ", Ġ" æ²³ æ· » ", Ġ" æ· » å¤ª ", Ġ" å¤ª ä¸Ģ ", Ġ" ä¸Ģ æĿ ± ", Ġ" æĿ ± ç«ĭ ", Ġ" ç«ĭ æĲ ¬ ", Ġ" æĲ ¬ è¿Ĳ ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` hir ag ana Ġonly `() Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ" æİ¢ åģ µ ãģ¯ ãĤĤ ãģĨ ãĢģ æŃ» ãĤĵ ãģ§ ãģĦ ãĤĭ ãĢĤ " ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly (" æİ¢ åģ µ ", Ġ" åģ µ ãģ¯ ", Ġ" ãģ¯ ãĤĤ ", Ġ" ãĤĤ ãģĨ ", Ġ" æŃ» ãĤĵ ", Ġ" ãĤĵ ãģ§ ", Ġ" ãģ§ ãģĦ ", Ġ" ãģĦ ãĤĭ ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` k ata k ana Ġonly `() Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ" ãĥ¯ ãĥ³ ãĥĳ ãĥ³ ãĥŀ ãĥ³ " ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly (" ãĥ¯ ãĥ³ ", Ġ" ãĥ³ ãĥĳ ", Ġ" ãĥĳ ãĥ³ ", Ġ" ãĥ³ ãĥŀ ", Ġ" ãĥŀ ãĥ³ ") ĊĠ Ġ} ĊĊĠ Ġ@ Test ĊĠ Ġfun Ġ` k orean Ġonly `() Ġ{ ĊĠĠĠ Ġ// Ġgiven ĊĠĠĠ Ġval Ġtext Ġ= Ġ" ê³ł êµ Ĳ ìĥĿ ìĿĦ ĠíĻ ĺ ë¶ Ī íķ´ Ġì£¼ ìĦ¸ìļĶ " ĊĊĠĠĠ Ġ// Ġwhen ĊĠĠĠ Ġval Ġtokens Ġ= Ġanalyzer . get Tokens ( text ) ĊĊĠĠĠ Ġ// Ġthen ĊĠĠĠ ĠassertThat ( tokens ). contains Exactly (" ê³ł êµ Ĳ ", Ġ" êµ Ĳ ìĥĿ ", Ġ" ìĥĿ ìĿĦ ", Ġ" íĻĺ ë¶ Ī ", Ġ" ë¶ Ī íķ´ ", Ġ" ì£¼ ìĦ¸ ", Ġ" ìĦ¸ìļĶ ") ĊĠ Ġ} Ċ } Ċ