package Ġcom . github . pe tr _ s . n me a . basic Ċ Ċ import Ġcom . github . pe tr _ s . n me a . Helper Ċ import Ġcom . github . pe tr _ s . n me a . basic . Basic N ME A Handler . Fix Quality Ċ import Ġcom . github . pe tr _ s . n me a . basic . Basic N ME A Handler . Fix Type Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . mockito . Argument Matchers Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Spy Ċ import Ġorg . mockito . runners . Mockito JUnit Runner Ċ import Ġjava . util .* Ċ Ċ @ RunWith ( Mockito JUnit Runner :: class ) Ċ class ĠBasic N ME A Parser Test Ġ{ ĊĠĠĠ Ġ@ Spy ĊĠĠĠ Ġvar Ġhandler : ĠBasic N ME A Handler Ġ= ĠBasic N ME A Adapter () ĊĠĠĠ Ġ@ Test ( expected Ġ= ĠNullPointerException :: class ) ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Constructor Null () Ġ{ ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠNullPointerException :: class ) ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse Null Sentence () Ġ{ ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse Empty () Ġ{ ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ("") ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Unrecognized ("") ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PR MC () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ $ G PR MC , 1 6 3 4 0 7 . 0 0 0 , A , 5 0 0 4 . 7 4 8 5 , N , 0 1 4 2 3 . 8 9 5 6 , E , 0 . 0 4 , 3 6 . 9 7 , 1 8 0 4 1 6 ,, * 3 8 " ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ $ GN R MC , 2 0 1 8 1 8 . 0 0 , A , 3 2 5 0 . 1 9 3 7 1 7 , N , 1 1 7 0 7 . 6 8 6 2 8 7 , W , 0 . 0 ,, 1 4 0 9 2 1 , 1 2 . 5 , E , A , V * 5 D " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on R MC ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 4 6 0 9 3 7 6 0 0 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 9 6 4 7 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 5 0 . 0 7 9 1 4 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 1 4 . 3 9 8 2 5 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 0 . 0 2 0 5 7 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 3 6 . 9 7 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( Float :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PR MC _ 2 _ 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ $ G PR MC , 0 9 3 9 3 3 . 4 0 , A , 5 0 0 4 . 5 2 4 9 3 , N , 0 1 4 2 4 . 2 8 7 7 1 , E , 0 . 2 7 7 ,, 1 3 0 6 1 6 ,,, A * 7 6 " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on R MC ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 4 6 5 7 7 6 0 0 0 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 4 7 7 3 4 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 5 0 . 0 7 5 4 1 5 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 1 4 . 4 0 4 7 9 5 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 0 . 1 4 2 5 0 1 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 0 . 0 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( Float :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq (" A "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse GN R MC () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ $ GN R MC , 1 6 3 4 0 7 . 0 0 0 , A , 5 0 0 4 . 7 4 8 5 , N , 0 1 4 2 3 . 8 9 5 6 , E , 0 . 0 4 , 3 6 . 9 7 , 1 8 0 4 1 6 ,, * 2 6 " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on R MC ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 4 6 0 9 3 7 6 0 0 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 9 6 4 7 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 5 0 . 0 7 9 1 4 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 1 4 . 3 9 8 2 5 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 0 . 0 2 0 5 7 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 3 6 . 9 7 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( Float :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( true ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PR M CB ad Checksum () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ $ G PR MC , 1 6 3 4 0 7 . 0 0 0 , A , 5 0 0 4 . 7 4 8 5 , N , 0 1 4 2 3 . 8 9 5 6 , E , 0 . 0 4 , 3 6 . 9 7 , 1 8 0 4 1 6 ,, * 4 2 " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Bad Checksum ( 6 6 , Ġ 5 6 ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PR M CE OL () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ n \$ G PR MC , 1 6 3 4 0 7 . 0 0 0 , A , 5 0 0 4 . 7 4 8 5 , N , 0 1 4 2 3 . 8 9 5 6 , E , 0 . 0 4 , 3 6 . 9 7 , 1 8 0 4 1 6 ,, * 4 2 " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Unrecognized ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PG GA () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ G PG GA , 1 6 3 4 0 7 . 0 0 0 , 5 0 0 4 . 7 4 8 5 , N , 0 1 4 2 3 . 8 9 5 6 , E , 1 , 0 7 , 1 . 7 , 2 8 5 . 7 , M , 4 5 . 5 , M ,, 0 0 0 0 * 5 F " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on GG A ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 9 6 4 7 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 0 . 0 7 9 1 4 1 6 6 4 5 0 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 4 . 3 9 8 2 5 9 9 8 9 4 2 0 5 7 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 4 0 . 2 0 0 0 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( Fix Quality . GPS ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 . 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G NG GA () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ G NG GA , 1 6 3 4 0 7 . 0 0 0 , 5 0 0 4 . 7 4 8 5 , N , 0 1 4 2 3 . 8 9 5 6 , E , 1 , 0 7 , 1 . 7 , 2 8 5 . 7 , M , 4 5 . 5 , M ,, 0 0 0 0 * 4 1 " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on GG A ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 9 6 4 7 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 5 0 . 0 7 9 1 4 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 1 4 . 3 9 8 2 5 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 2 4 0 . 2 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( Fix Quality . GPS ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 1 . 7 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( Float :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( true ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PG GAN eg ative Ge oid () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ G PG GA , 2 1 4 2 1 3 . 0 0 , 3 2 4 9 . 2 6 3 6 6 4 , N , 1 1 7 1 0 . 5 9 2 2 4 7 , W , 1 , 1 1 , 0 . 6 , 1 0 2 . 2 , M ,- 2 6 . 0 , M ,, * 5 1 " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on GG A ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 7 8 1 3 3 0 0 0 L ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq ( 3 2 . 8 2 1 0 6 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . double That ( Helper . rough ly Eq (- 1 1 7 . 1 7 6 5 3 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 1 2 8 . 2 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( Fix Quality . GPS ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . float That ( Helper . rough ly Eq ( 0 . 6 f )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( Float :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . isNull ( Int :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PG S VS ingle () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ $ G PG SV , 3 , 1 , 1 1 , 2 9 , 8 6 , 2 7 3 , 3 0 , 2 5 , 6 0 , 1 1 0 , 3 8 , 3 1 , 5 2 , 2 7 8 , 4 7 , 0 2 , 2 8 , 0 5 0 , 3 9 * 7 D " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 8 6 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 7 3 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 6 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 2 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 7 8 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 4 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 8 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PG SV Full () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠBasic N ME A Parser ( handler ) ĊĠĠĠĠĠĠĠ Ġparser . parse ("\ $ G PG SV , 3 , 1 , 1 1 , 2 9 , 8 6 , 2 7 3 , 3 0 , 2 5 , 6 0 , 1 1 0 , 3 8 , 3 1 , 5 2 , 2 7 8 , 4 7 , 0 2 , 2 8 , 0 5 0 , 3 9 * 7 D ") ĊĠĠĠĠĠĠĠ Ġparser . parse ("\ $ G PG SV , 3 , 2 , 1 1 , 1 2 , 2 3 , 1 1 0 , 3 4 , 2 6 , 1 8 , 2 9 5 , 2 9 , 2 1 , 1 7 , 1 9 0 , 3 0 , 0 5 , 1 1 , 0 9 2 , 2 5 * 7 2 ") ĊĠĠĠĠĠĠĠ Ġparser . parse ("\ $ G PG SV , 3 , 3 , 1 1 , 1 4 , 0 2 , 2 3 2 , 1 3 , 2 3 , 0 2 , 3 4 6 , 1 2 , 2 0 , 0 1 , 1 3 5 , 1 3 * 4 8 ") ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler , ĠMockito . times ( 3 )). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 8 6 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 7 3 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 6 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 2 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 7 8 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 4 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 8 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 3 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 8 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 9 5 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 7 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 9 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 9 2 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 3 2 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 9 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 3 4 6 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SV ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 2 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 3 5 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler , ĠMockito . times ( 3 )). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Parse G PG SA () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ $ G PG SA , A , 3 , 2 5 , 0 2 , 2 6 , 0 5 , 2 9 , 3 1 , 2 1 , 1 2 ,,,, , 1 . 6 , 1 . 0 , 1 . 3 * 3 B " ĊĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġ"\ $ G NG SA , A , 3 , 1 0 , 2 3 , 3 2 ,,,,,,,, ,, 2 . 5 , 2 . 3 , 1 . 0 , 1 * 3 7 " ĊĠĠĠĠĠĠĠ ĠBasic N ME A Parser ( handler ). parse ( sentence ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). onStart () ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on G SA ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq (" A "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( Fix Type . Fix 3 D ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . any Set (), Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . arg That ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHelper . eq ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHashSet ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 1 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 5 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 6 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 9 , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 1 Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠSet < Int ?> ?, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 . 6 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( 1 . 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArgument Matchers . eq ( false ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠMockito . verify ( handler ). on Finished () ĊĠĠĠĠĠĠĠ ĠMockito . verify No More Interactions ( handler ) ĊĠĠĠ Ġ} Ċ }