package Ġio . github . kk arna uk . parse k . token . tokenizer Ċ Ċ import Ġio . github . kk arna uk . parse k . token . tokenizer . provider . Tokenizer Provider Ċ import Ġio . github . kk arna uk . parse k . token . tokenizer . provider . first Match Tokenizer Provider Ċ import Ġio . github . kk arna uk . parse k . token . type . Text TokenType Ċ import Ġkotlin . test . Test Ċ Ċ @ Suppress (" UNUSED _ VARIABLE ") Ċ internal Ġclass ĠFirst Match Tokenizer Test Ġ: ĠAbstract Tokenizer Test < First Match Tokenizer >() Ġ{ ĊĠĠĠ Ġoverride Ġval Ġtokenizer Provider : ĠToken izer Provider < First Match Tokenizer > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfirst Match Tokenizer Provider ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest First But Not Lon gest () Ġ= Ġdo Test Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" 0 0 0 0 " ĊĠĠĠĠĠĠĠ Ġval Ġone Zero Ġby ĠText TokenType (" 0 ", Ġfalse , Ġtoken TypeName (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġtwo Z eros Ġby ĠText TokenType (" 0 0 ", Ġfalse , Ġtoken TypeName (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġexpected Token Descriptions Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe Token ( one Zero , Ġ 0 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe Token ( one Zero , Ġ 1 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe Token ( one Zero , Ġ 2 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe Token ( one Zero , Ġ 3 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest First And Lon gest () Ġ= Ġdo Test Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" aaaa a " ĊĠĠĠĠĠĠĠ Ġval Ġaa Ġby ĠText TokenType (" aa ", Ġfalse , Ġtoken TypeName (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġa Ġby ĠText TokenType (" a ", Ġfalse , Ġtoken TypeName (), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġexpected Token Descriptions Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe Token ( aa , Ġ 0 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe Token ( aa , Ġ 2 , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe Token ( a , Ġ 4 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ