package Ġio . null ables . api . playground . algorithms . search Ċ Ċ import Ġio . null ables . api . playground . algorithms . Abstract Search Strategy Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ Ċ abstract Ġclass ĠAbstract Search Test < out ĠT Ġ: ĠAbstract Search Strategy < Int >>( private Ġval Ġstrategy : ĠT ) Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġempty Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġstrategy . perform ( empty Array (), Ġ 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsingleton Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġstrategy . perform ( array Of ( 1 ), Ġ 1 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġstrategy . perform ( array Of ( 1 ), Ġ 2 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtwo Elements Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 ), Ġ 1 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 ), Ġ 2 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 ), Ġ 3 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġten Elements Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 0 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 1 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 2 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 2 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 3 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 3 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 4 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 4 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 5 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 5 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 6 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 6 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 7 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 7 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 8 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 8 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 9 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 9 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 1 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 0 )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals (- 1 , Ġstrategy . perform ( array Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ), Ġ 1 1 )) ĊĠĠĠ Ġ} Ċ } Ċ