package Ġcom . github . mp e 8 5 . gr amp a . context Ċ Ċ import Ġcom . github . mp e 8 5 . gr amp a . input . String Input Buffer Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . property . Ar b Ċ import Ġio . kot est . property . ar bitrary . int Ċ import Ġio . kot est . property . ar bitrary . negative Ints Ċ import Ġio . kot est . property . ar bitrary . string Ċ import Ġio . kot est . property . check All Ċ import Ġio . mock k . mock k Ċ Ċ class ĠContext Tests Ġ: ĠString Spec ({ ĊĠĠĠ Ġ" Adv ancing Ġindex Ġwith Ġpositive Ġdelta Ġsucceeds Ġwhen Ġrest Ġof Ġinput Ġis Ġlong Ġenough " Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck All ( Ar b . string ( 1 0 ), ĠA rb . int ( 0 .. 1 0 )) Ġ{ Ġstr , Ġint Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext < String >( Context State ( String Input Buffer ( str ), Ġ 0 , Ġmock k (), Ġ 0 , Ġmock k (), Ġmock k ())). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadvance Index ( int ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" Adv ancing Ġindex Ġwith Ġpositive Ġdelta Ġfails Ġwhen Ġrest Ġof Ġinput Ġis Ġnot Ġlong Ġenough " Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck All ( Ar b . string ( 1 0 ), ĠA rb . int ( 1 1 .. 2 0 )) Ġ{ Ġstr , Ġint Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext < String >( Context State ( String Input Buffer ( str ), Ġ 0 , Ġmock k (), Ġ 0 , Ġmock k (), Ġmock k ())). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadvance Index ( int ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" Adv ancing Ġindex Ġwith Ġnegative Ġdelta Ġthrows ĠIllegalArgumentException " Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck All ( Ar b . negative Ints ()) Ġ{ Ġint Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext < String >( Context State ( mock k (), Ġ 0 , Ġmock k (), Ġ 0 , Ġmock k (), Ġmock k ())). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ Ġadvance Index ( int ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ