/* Ċ * ĠCopyright Ġ 2 0 1 4 - 2 0 2 1 ĠJetBrains Ġs . r . o Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ */ Ċ Ċ package Ġio . ktor . util Ċ Ċ import Ġio . ktor . util . pipeline .* Ċ import Ġkotlin . test .* Ċ Ċ class ĠPipeline Ph ases Test Ġ{ ĊĠĠĠ Ġval Ġa Ġ= ĠPipeline Phase (" a ") ĊĠĠĠ Ġval Ġb Ġ= ĠPipeline Phase (" b ") ĊĠĠĠ Ġval Ġc Ġ= ĠPipeline Phase (" c ") ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Natural Order Merge () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġphases 1 Ġ= ĠPipeline < String , ĠUnit >( a , Ġb ) ĊĠĠĠĠĠĠĠ Ġval Ġphases 2 Ġ= ĠPipeline < String , ĠUnit >( c ) ĊĠĠĠĠĠĠĠ Ġphases 1 . merge ( ph ases 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġphases 1 . items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Natural Order Merge 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġphases 1 Ġ= ĠPipeline < String , ĠUnit >( a ) ĊĠĠĠĠĠĠĠ Ġphases 1 . add Phase ( b ) ĊĠĠĠĠĠĠĠ Ġval Ġphases 2 Ġ= ĠPipeline < String , ĠUnit >( c ) ĊĠĠĠĠĠĠĠ Ġphases 1 . merge ( ph ases 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġphases 1 . items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Insert After Merge () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġphases 1 Ġ= ĠPipeline < String , ĠUnit >( a ) ĊĠĠĠĠĠĠĠ Ġval Ġphases 2 Ġ= ĠPipeline < String , ĠUnit >( c ) ĊĠĠĠĠĠĠĠ Ġphases 2 . insert Phase After ( c , Ġb ) ĊĠĠĠĠĠĠĠ Ġphases 1 . merge ( ph ases 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġc , Ġb ), Ġphases 1 . items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Insert Before Merge () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġphases 1 Ġ= ĠPipeline < String , ĠUnit >( c , Ġa ) ĊĠĠĠĠĠĠĠ Ġval Ġphases 2 Ġ= ĠPipeline < String , ĠUnit >( c ) ĊĠĠĠĠĠĠĠ Ġphases 2 . insert Phase Before ( c , Ġb ) ĊĠĠĠĠĠĠĠ Ġphases 1 . merge ( ph ases 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( b , Ġc , Ġa ), Ġphases 1 . items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Depend ant Ph ases No Common () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpipeline 1 Ġ= ĠPipeline < String , ĠString >( a ) ĊĠĠĠĠĠĠĠ Ġval Ġpipeline 2 Ġ= ĠPipeline < String , ĠString >( c ) ĊĠĠĠĠĠĠĠ Ġpipeline 2 . insert Phase Before ( c , Ġb ) ĊĠĠĠĠĠĠĠ Ġpipeline 1 . merge ( pipeline 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġpipeline 1 . items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Depend ant Ph ases Last Common () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpipeline 1 Ġ= ĠPipeline < String , ĠString >( c ) ĊĠĠĠĠĠĠĠ Ġval Ġpipeline 2 Ġ= ĠPipeline < String , ĠString >( c ) ĊĠĠĠĠĠĠĠ Ġpipeline 2 . insert Phase Before ( c , Ġb ) ĊĠĠĠĠĠĠĠ Ġpipeline 2 . insert Phase Before ( b , Ġa ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġpipeline 2 . items ) ĊĠĠĠĠĠĠĠ Ġpipeline 1 . merge ( pipeline 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġpipeline 1 . items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Depend ant Ph ases Order After () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpipeline 1 Ġ= ĠPipeline < String , ĠString >( a ) ĊĠĠĠĠĠĠĠ Ġval Ġpipeline 2 Ġ= ĠPipeline < String , ĠString >( a ) ĊĠĠĠĠĠĠĠ Ġpipeline 2 . insert Phase After ( a , Ġb ) ĊĠĠĠĠĠĠĠ Ġpipeline 2 . insert Phase After ( a , Ġc ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġpipeline 2 . items ) ĊĠĠĠĠĠĠĠ Ġpipeline 1 . merge ( pipeline 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġpipeline 1 . items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Depend ant Ph ases Order Before () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpipeline 1 Ġ= ĠPipeline < String , ĠString >( c ) ĊĠĠĠĠĠĠĠ Ġval Ġpipeline 2 Ġ= ĠPipeline < String , ĠString >( c ) ĊĠĠĠĠĠĠĠ Ġpipeline 2 . insert Phase Before ( c , Ġa ) ĊĠĠĠĠĠĠĠ Ġpipeline 2 . insert Phase Before ( c , Ġb ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġpipeline 2 . items ) ĊĠĠĠĠĠĠĠ Ġpipeline 1 . merge ( pipeline 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( listOf ( a , Ġb , Ġc ), Ġpipeline 1 . items ) ĊĠĠĠ Ġ} Ċ } Ċ