package Ġcom . github . mon os oul . git . update index . extended Ċ Ċ import Ġcom . github . mon os oul . git . update index . extended . Extended Update Index Task Test . Files And Command Arguments Source . No V cs Root Ċ import Ġcom . github . mon os oul . git . update index . extended . Extended Update Index Task Test . Files And Command Arguments Source . With V cs Root Ċ import Ġcom . intellij . mock . Mock Application Ċ import Ġcom . intellij . mock . Mock Project Ċ import Ġcom . intellij . openapi . application . Application Manager . set Application Ċ import Ġcom . intellij . openapi . progress . Progress Indicator Ċ import Ġcom . intellij . openapi . util . Dis poser . dispose Ċ import Ġcom . intellij . openapi . vcs . Project Level V cs Manager Ċ import Ġcom . intellij . openapi . vcs . changes . V cs Dirty Scope Manager Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ import Ġgit 4 idea . commands . Git Ċ import Ġgit 4 idea . commands . Git Command Result Ċ import Ġgit 4 idea . commands . Git Line Handler Ċ import Ġio . mock k . Called Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . junit 5 . Mock K Extension Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . verify Ċ import Ġio . mock k . verify All Ċ import Ġio . mock k . verify Order Ċ import Ġorg . apache . commons . lang 3 . Random StringUtils Ċ import Ġorg . apache . commons . lang 3 . Random Utils . nextInt Ċ import Ġorg . apache . log 4 j . Appender Ċ import Ġorg . apache . log 4 j . Level . ERROR Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . extension . Extend With Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ import Ġorg . junit . jupiter . params . provider . Arguments Source Ċ import Ġstri kt . api . expect That Ċ import Ġstri kt . assertions . contains Exactly In Any Order Ċ import Ġstri kt . assertions . isEqualTo Ċ import Ġjava . util . stream . Stream . generate Ċ import Ġkotlin . streams . toList Ċ Ċ @ Extend With ( Mock K Extension :: class ) Ċ internal Ġclass ĠExtended Update Index Task Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġparent : ĠTest Disposable ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapplication : ĠMock Application ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġproject : ĠMock Project ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġapp ender : ĠApp ender ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgit : ĠGit ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġv cs Manager : ĠProject Level V cs Manager ĊĊĠĠĠ Ġ@ Mock K ( relax Unit Fun Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdirty Scope Manager : ĠV cs Dirty Scope Manager ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġupdate Index Line Handler Factory : ĠUpdate Index Line Handler Factory ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgit Line Handler : ĠGit Line Handler ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgit Command Result : ĠGit Command Result ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġparent Ġ= ĠTest Disposable () ĊĊĠĠĠĠĠĠĠ Ġapplication Ġ= ĠMock Application ( parent ) ĊĠĠĠĠĠĠĠ Ġset Application ( application , Ġparent ) ĊĠĠĠĠĠĠĠ Ġapplication . register Service ( git , Ġparent ) ĊĊĠĠĠĠĠĠĠ Ġproject Ġ= ĠMock Project ( null , Ġparent ) ĊĠĠĠĠĠĠĠ Ġproject . register Service ( vcs Manager , Ġparent ) ĊĠĠĠĠĠĠĠ Ġproject . register Service ( dirty Scope Manager , Ġparent ) ĊĠĠĠĠĠĠĠ Ġproject . register Service ( update Index Line Handler Factory , Ġparent ) ĊĊĠĠĠĠĠĠĠ Ġapp ender Ġ= Ġmocked Appender < Extended Update Index Task >() ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġupdate Index Line Handler Factory . invoke ( any (), Ġany (), Ġany ()) Ġ} Ġreturns Ġgit Line Handler ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġgit . run Command ( any < Git Line Handler >()) Ġ} Ġreturns Ġgit Command Result ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġdispose ( parent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Arguments Source ( No V cs Root :: class ) ĊĠĠĠ Ġfun Ġ` should Ġdo Ġnothing Ġif Ġa Ġfile Ġhas Ġno ĠV CS Ġroot `( ĊĠĠĠĠĠĠĠ Ġfiles : ĠList < Virtual File >, ĊĠĠĠĠĠĠĠ Ġcommand : ĠExtended Update Index Command , ĊĠĠĠĠĠĠĠ Ġ@ Mock K Ġindicator : ĠProgress Indicator ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġv cs Manager . get V cs Root For ( any < Virtual File >()) Ġ} Ġreturns Ġnull ĊĊĠĠĠĠĠĠĠ ĠExtended Update Index Task ( project , Ġfiles , Ġcommand ). run ( indicator ) ĊĊĠĠĠĠĠĠĠ Ġverify Order Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv cs Manager . get V cs Root For ( files [ 0 ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify All Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Ġwas Not ĠCalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Index Line Handler Factory Ġwas Not ĠCalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Line Handler Ġwas Not ĠCalled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdirty Scope Manager Ġwas Not ĠCalled ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Arguments Source ( With V cs Root :: class ) ĊĠĠĠ Ġinternal Ġfun Ġ` should Ġexecute Ġa Ġcommand Ġand Ġlog Ġnothing Ġif Ġit Ġwas Ġsuccessful `( ĊĠĠĠĠĠĠĠ Ġfiles : ĠList < Virtual File >, ĊĠĠĠĠĠĠĠ Ġcommand : ĠExtended Update Index Command , ĊĠĠĠĠĠĠĠ Ġ@ Mock K Ġindicator : ĠProgress Indicator ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġmock k < Virtual File >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġv cs Manager . get V cs Root For ( any < Virtual File >()) Ġ} Ġreturns Ġroot ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġgit Command Result . success () Ġ} Ġreturns Ġtrue ĊĊĊĠĠĠĠĠĠĠ ĠExtended Update Index Task ( project , Ġfiles , Ġcommand ). run ( indicator ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġfiles . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv cs Manager . get V cs Root For ( any < Virtual File >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify Order Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Index Line Handler Factory . invoke ( command , Ġroot , Ġwith Arg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That ( it ) Ġcontains Exactly In Any Order Ġfiles ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit . run Command ( git Line Handler ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Command Result . success () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġfiles . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdirty Scope Manager . file Dirty ( any < Virtual File >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Arguments Source ( With V cs Root :: class ) ĊĠĠĠ Ġinternal Ġfun Ġ` should Ġexecute Ġa Ġcommand Ġand Ġlog Ġerrors Ġif Ġit Ġwas Ġun successful `( ĊĠĠĠĠĠĠĠ Ġfiles : ĠList < Virtual File >, ĊĠĠĠĠĠĠĠ Ġcommand : ĠExtended Update Index Command , ĊĠĠĠĠĠĠĠ Ġ@ Mock K Ġindicator : ĠProgress Indicator ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġmock k < Virtual File >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġv cs Manager . get V cs Root For ( any < Virtual File >()) Ġ} Ġreturns Ġroot ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġgit Command Result . success () Ġ} Ġreturns Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠRandom StringUtils . random Alphabet ic ( LIMIT ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġgit Command Result . error Output Ġ} Ġreturns ĠlistOf ( error ) ĊĊĠĠĠĠĠĠĠ ĠExtended Update Index Task ( project , Ġfiles , Ġcommand ). run ( indicator ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġfiles . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv cs Manager . get V cs Root For ( any < Virtual File >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify Order Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Index Line Handler Factory . invoke ( command , Ġroot , Ġwith Arg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That ( it ) Ġcontains Exactly In Any Order Ġfiles ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit . run Command ( git Line Handler ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Command Result . success () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Command Result . error Output ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp ender . do Append ( with Arg Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpect That ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġmessage Ġ} Ġis EqualTo Ġerror ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Ġ{ Ġget Level () Ġ} Ġis EqualTo ĠERROR ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġfiles . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdirty Scope Manager . file Dirty ( any < Virtual File >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsealed Ġclass ĠFiles And Command Arguments Source ( ĊĠĠĠĠĠĠĠ Ġvar arg Ġgenerators : Ġ() Ġ-> ĠAny ? ĊĠĠĠ Ġ) Ġ: ĠAbstract Multi Arguments Source (* generators ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġclass ĠNo V cs Root Ġ: ĠFiles And Command Arguments Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠlistOf ( mock k < Virtual File >()) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġrandom Enum < Extended Update Index Command >() Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġclass ĠWith V cs Root Ġ: ĠFiles And Command Arguments Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġvirtual FileList () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġrandom Enum < Extended Update Index Command >() Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġvirtual FileList () Ġ= Ġgenerate Ġ{ Ġmock k < Virtual File >() Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. limit ( nextInt ( 1 , ĠLIMIT )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }