package Ġcom . be ust . k ob alt . maven Ċ Ċ import Ġcom . be ust . k ob alt . Base Test Ċ import Ġcom . be ust . k ob alt . misc . K ob alt Executors Ċ import Ġcom . be ust . k ob alt . misc . String Version Ċ import Ġorg . testng . Assert Ċ import Ġorg . testng . annotations . After Class Ċ import Ġorg . testng . annotations . BeforeClass Ċ import Ġorg . testng . annotations . DataProvider Ċ import Ġorg . testng . annotations . Test Ċ import Ġjava . util . concurrent . ExecutorService Ċ import Ġjavax . inject . Inject Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ class ĠDependency Test Ġ@ Inject Ġconstructor ( val Ġexec utors : ĠK ob alt Executors ) Ġ: ĠBaseTest () Ġ{ ĊĊĠĠĠ Ġ@ DataProvider ĊĠĠĠ Ġfun Ġdp Versions (): ĠArray < Array < out ĠAny >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 . 1 ", Ġ" 0 . 1 . 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 0 . 1 ", Ġ" 1 . 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 6 . 9 . 4 ", Ġ" 6 . 9 . 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 1 . 7 ", Ġ" 1 . 3 8 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 1 . 7 0 ", Ġ" 1 . 3 8 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 3 . 8 . 1 ", Ġ" 4 . 5 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 1 8 . 0 - rc 1 ", Ġ" 1 9 . 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 3 . 0 . 5 . RELEASE ", Ġ" 3 . 0 . 6 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġexecutor : ĠExecutor Service Ġby ĠDeleg ates . notNull () ĊĊĠĠĠ Ġ@ BeforeClass ĊĠĠĠ Ġfun Ġbc 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġexecutor Ġ= Ġexec utors . new Executor (" Dependency Test ", Ġ 5 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Class ĊĠĠĠ Ġfun Ġac () Ġ{ ĊĠĠĠĠĠĠĠ Ġexecutor . shutdown () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( dataProvider Ġ= Ġ" dp Versions ") ĊĠĠĠ Ġfun Ġversion Sorting ( k : ĠString , Ġv : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdep 1 Ġ= ĠString Version ( k ) ĊĠĠĠĠĠĠĠ Ġval Ġdep 2 Ġ= ĠString Version ( v ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( dep 1 Ġ< Ġdep 2 ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( dep 2 Ġ> Ġdep 1 ) ĊĠĠĠ Ġ} Ċ } ĊĊ