package Ġast miner . storage Ċ Ċ import Ġast miner . common . DEFAULT _ TOKEN Ċ import Ġast miner . common . Dummy Node Ċ import Ġast miner . common . set Technical Token Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test ĊĊ Ċ internal Ġclass ĠToken Processor Test Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġnormalize Token ( token : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= ĠDummy Node ( token , Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠToken Processor . Normalize . get Present able Token ( node ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsplit Token ( token : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= ĠDummy Node ( token , Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠToken Processor . Split . get Present able Token ( node ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Normalize Token Clean ing () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= Ġ" ĠĠ ĠToken ĠTH AT Ġ Ġ\ n Ġcontains ĠWh i \" t , es '' pace Ġcharacters !!! and Ġpu . n . c . t . u . a . tion Ġ Ġ\ n " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Token Ġ= Ġ" token " Ġ+ Ġ" that " Ġ+ Ġ" contains " Ġ+ Ġ" whitespace " Ġ+ Ġ" characters " Ġ+ Ġ" and " Ġ+ Ġ" p unctuation " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" All Ġwhitespace Ġcharacters Ġand Ġpunctuation Ġshould Ġbe Ġremoved , Ġkeeping Ġonly Ġletters ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Token , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnormalize Token ( token ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Normalize Token Without Letters () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= Ġ"* Ġ* \ n " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Token Ġ= Ġ"* _ *" ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Token Ġwithout Ġletters Ġhave Ġwh ites p aces Ġreplaced Ġwith Ġunders cores ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Token , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnormalize Token ( token ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Normalize Empty Token () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= Ġ"\ n \ n " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Token Ġ= ĠDEFAULT _ TOKEN ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Token Ġwithout Ġletters Ġhave Ġwh ites p aces Ġreplaced Ġwith Ġunders cores ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Token , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnormalize Token ( token ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Token Split () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= Ġ" fun _ with Re ally Long _ And _ Comp licated Name " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Token Ġ= Ġ" fun | with | really | long | and | comp licated | name " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Token Ġwith Ġsnake , Ġcamel Ġand Ġcombined Ġcase Ġshould Ġbe Ġsplit Ġinto Ġlist Ġof Ġits Ġparts ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Token , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsplit Token ( token ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test ĠNormalize Ġrespect s Ġtechnical Ġtoken `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= ĠDummy Node (" token Name ", Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġnode . set Technical Token (" technical Ġtoken ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" technical Ġtoken ", ĠToken Processor . Normalize . get Present able Token ( node )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test ĠSplit Ġrespect s Ġtechnical Ġtoken `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= ĠDummy Node (" token Name ", Ġmutable ListOf ()) ĊĠĠĠĠĠĠĠ Ġnode . set Technical Token (" technical Ġtoken ") ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (" technical Ġtoken ", ĠToken Processor . Split . get Present able Token ( node )) ĊĠĠĠ Ġ} Ċ }