// ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠRe ece ĠH . ĠD un n . ĠSPDX - License - Identifier : ĠApache - 2 . 0 č Ċ package Ġopen nlp . ext . con ll . tests . tre eb ank čĊč Ċ import Ġopen nlp . ext . con ll . tre eb ank . Token Id č Ċ import Ġorg . hamcrest . Core Matchers .` is ` č Ċ import Ġorg . hamcrest . Core Matchers . null Value č Ċ import Ġorg . hamcrest . Matcher Assert . assertThat č Ċ import Ġorg . junit . jupiter . api . DisplayName č Ċ import Ġorg . junit . jupiter . api . Nested č Ċ import Ġorg . junit . jupiter . api . Test č Ċ import Ġorg . junit . jupiter . api . assert Throws čĊč Ċ @ Suppress (" Red undant Inner Class Modifier ") č Ċ @ DisplayName (" Co N LL ĠToken Id ") č Ċ class ĠToken Id Test Ġ{ čĊĠĠĠ Ġ@ Nested čĊĠĠĠ Ġ@ DisplayName (" Co N LL - X Ġtoken ĠID Ġcounter ") čĊĠĠĠ Ġinner Ġclass ĠToken Counter Ġ{ čĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" token ĠID Ġcounter ") čĊĠĠĠĠĠĠĠ Ġfun Ġtoken Counter () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠToken Id . parse (" 1 ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . start , Ġ` is `( 1 )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . end Inclusive , Ġ` is `( 1 )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . empty Node Index , Ġ` is `( null Value ())) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . type , Ġ` is `( Token Id . Type . Counter )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . toString (), Ġ` is ` (" 1 ")) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . is Id ( 1 ), Ġ` is `( true )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . is Id ( 2 ), Ġ` is `( false )) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" invalid Ġtoken ĠID ") čĊĠĠĠĠĠĠĠ Ġfun Ġinvalid Token Id () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Invalid Token Id Exception > Ġ{ ĠToken Id . parse (" abc ") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Invalid Ġtoken ĠID : Ġabc ")) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" Missing Ġtoken ĠID ") čĊĠĠĠĠĠĠĠ Ġfun Ġmissing Token Id () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Missing Token Id Exception > Ġ{ ĠToken Id . parse ("") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Missing Ġtoken ĠID ")) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Nested čĊĠĠĠ Ġ@ DisplayName (" Co N LL - U Ġtoken ĠID Ġrange ") čĊĠĠĠ Ġinner Ġclass ĠToken Range Ġ{ čĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" token ĠID Ġrange ") čĊĠĠĠĠĠĠĠ Ġfun Ġtoken Range () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠToken Id . parse (" 1 - 4 ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . start , Ġ` is `( 1 )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . end Inclusive , Ġ` is `( 4 )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . empty Node Index , Ġ` is `( null Value ())) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . type , Ġ` is `( Token Id . Type . Range )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . toString (), Ġ` is ` (" 1 - 4 ")) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . is Id ( 1 ), Ġ` is `( false )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . is Id ( 2 ), Ġ` is `( false )) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" invalid Ġstart ") čĊĠĠĠĠĠĠĠ Ġfun Ġinvalid Start () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Invalid Token Id Exception > Ġ{ ĠToken Id . parse (" ab - 4 ") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Invalid Ġtoken ĠID : Ġab - 4 ")) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" invalid Ġend ") čĊĠĠĠĠĠĠĠ Ġfun Ġinvalid End () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Invalid Token Id Exception > Ġ{ ĠToken Id . parse (" 1 - bc ") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Invalid Ġtoken ĠID : Ġ 1 - bc ")) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" invalid Ġwith Ġmultiple Ġparts ") čĊĠĠĠĠĠĠĠ Ġfun Ġinvalid Multiple Parts () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Invalid Token Id Exception > Ġ{ ĠToken Id . parse (" 1 - 4 - 8 ") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Invalid Ġtoken ĠID : Ġ 1 - 4 - 8 ")) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" invalid Ġwith Ġstart Ġ> Ġend ") čĊĠĠĠĠĠĠĠ Ġfun Ġinvalid Range Order () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Invalid Token Id Exception > Ġ{ ĠToken Id . parse (" 4 - 1 ") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Invalid Ġtoken ĠID : Ġ 4 - 1 ")) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Nested čĊĠĠĠ Ġ@ DisplayName (" Co N LL - U Ġempty Ġnode Ġtoken ĠID Ġcounter ") čĊĠĠĠ Ġinner Ġclass ĠEmpty Node Token Ġ{ čĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" empty Ġnode Ġtoken ĠID Ġcounter ") čĊĠĠĠĠĠĠĠ Ġfun Ġempty Node Token Counter () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠToken Id . parse (" 1 . 4 ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . start , Ġ` is `( 1 )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . end Inclusive , Ġ` is `( 1 )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . empty Node Index , Ġ` is `( 4 )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . type , Ġ` is `( Token Id . Type . Empty Node Counter )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . toString (), Ġ` is ` (" 1 . 4 ")) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . is Id ( 1 ), Ġ` is `( false )) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( id . is Id ( 2 ), Ġ` is `( false )) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" Invalid Ġstart ") čĊĠĠĠĠĠĠĠ Ġfun Ġinvalid Start () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Invalid Token Id Exception > Ġ{ ĠToken Id . parse (" ab . 4 ") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Invalid Ġtoken ĠID : Ġab . 4 ")) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" Invalid Ġend ") čĊĠĠĠĠĠĠĠ Ġfun Ġinvalid End () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Invalid Token Id Exception > Ġ{ ĠToken Id . parse (" 1 . bc ") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Invalid Ġtoken ĠID : Ġ 1 . bc ")) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ@ Test čĊĠĠĠĠĠĠĠ Ġ@ DisplayName (" Invalid Ġwith Ġmultiple Ġparts ") čĊĠĠĠĠĠĠĠ Ġfun Ġinvalid Multiple Parts () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠassertThrows < Token Id . Invalid Token Id Exception > Ġ{ ĠToken Id . parse (" 1 . 4 . 8 ") Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( e . message , Ġ` is ` (" Invalid Ġtoken ĠID : Ġ 1 . 4 . 8 ")) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ } čĊ