/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 ĠNet flix , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . netflix . spin n aker . or ca . q Ċ Ċ import Ġcom . netflix . spect ator . api . No op Registry Ċ import Ġcom . netflix . spin n aker . or ca . api . pipeline . models . Execution Type . PIPELINE Ċ import Ġcom . netflix . spin n aker . q . Activator Ċ import Ġcom . netflix . spin n aker . q . Queue Ċ import Ġcom . netflix . spin n aker . q . Queue Callback Ċ import Ġcom . n ha ar man . mockito _ kotlin . any Ċ import Ġcom . n ha ar man . mockito _ kotlin . do Answer Ċ import Ġcom . n ha ar man . mockito _ kotlin . mock Ċ import Ġcom . n ha ar man . mockito _ kotlin . verify Ċ import Ġcom . n ha ar man . mockito _ kotlin . wh enever Ċ import Ġorg . jetbrains . spe k . api . dsl . describe Ċ import Ġorg . jetbrains . spe k . api . dsl . it Ċ import Ġorg . jetbrains . spe k . api . dsl . on Ċ import Ġorg . jetbrains . spe k . api . lifecycle . Caching Mode Ċ import Ġorg . jetbrains . spe k . subject . Subject Spe k Ċ Ċ class ĠQueue Sh o vel Test Ġ: ĠSubject Spe k < Queue Sh o vel >({ ĊĊĠ Ġval Ġqueue : ĠQueue Ġ= Ġmock () ĊĠ Ġval Ġprevious Queue : ĠQueue Ġ= Ġmock () ĊĠ Ġval Ġregistry Ġ= ĠNo op Registry () ĊĠ Ġval Ġactiv ator Ġ= Ġobject Ġ: ĠActiv ator Ġ{ ĊĠĠĠ Ġoverride Ġval Ġenabled Ġ= Ġtrue ĊĠ Ġ} ĊĊĠ Ġsubject ( Caching Mode . GROUP ) Ġ{ ĊĠĠĠ ĠQueue Sh o vel ( queue , Ġprevious Queue , Ġregistry , Ġactiv ator ) ĊĠ Ġ} ĊĊĠ Ġdescribe (" polling Ġthe Ġprevious Ġqueue ") Ġ{ ĊĠĠĠ Ġval Ġmessage Ġ= ĠStart Execution ( PIPELINE , Ġ" 1 ", Ġ" spin n aker ") ĊĊĠĠĠ Ġbefore Group Ġ{ ĊĠĠĠĠĠ Ġwhenever ( previous Queue . poll ( any ())) Ġdo Answer Ġ{ ĊĠĠĠĠĠĠĠ Ġit . get Argument < Queue Callback >( 0 )( message , Ġ{}) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġon (" the Ġsh o vel Ġpoll Ġmethod Ġis Ġinvoked ") Ġ{ ĊĠĠĠĠĠ Ġsubject . migrate One () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġit (" pus hes Ġthe Ġmessage Ġonto Ġthe Ġcurrent Ġqueue ") Ġ{ ĊĠĠĠĠĠ Ġverify ( queue ). push ( message ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }) Ċ