package Ġdev . ar un vel s ri ram . desc cron Ċ Ċ import Ġcom . intellij . code Insight . hint . Hint Manager Ċ import Ġcom . intellij . openapi . action System . An ActionEvent Ċ import Ġcom . intellij . openapi . action System . Platform Data Keys Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġio . mock k .* Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . time . DateTime Exception Ċ Ċ internal Ġclass ĠNext Run Action Test Ġ{ ĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġaction Event : ĠAn ActionEvent ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġeditor : ĠEditor ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġcron Descriptor : ĠC ron Descriptor ĊĊĠĠĠ Ġ@ Mock K ĊĠĠĠ Ġlateinit Ġvar Ġhint Manager : ĠHint Manager ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġinternal Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĠĠĠĠĠĠĠ Ġmock k Static ( Application Manager :: class ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). getService ( Cron Descriptor :: class . java , Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} Ġreturns Ġcron Descriptor ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). getService ( Hint Manager :: class . java , Ġany ()) ĊĠĠĠĠĠĠĠ Ġ} Ġreturns Ġhint Manager ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġshow Ġnext Ġrun `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġaction Event . getData ( Platform Data Keys . EDITOR ) Ġ} Ġreturns Ġeditor ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġeditor . selection Model . selected Text Ġ} Ġreturns Ġ"* Ġ* Ġ* Ġ* Ġ*" ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcron Descriptor . next Run ("* Ġ* Ġ* Ġ* Ġ* ") Ġ} Ġreturns Ġ" 2 0 2 0 - 0 5 - 0 1 Ġ 1 3 : 0 0 : 0 0 ĠI ST " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġhint Manager . show Information Hint ( editor , Ġ" 2 0 2 0 - 0 5 - 0 1 Ġ 1 3 : 0 0 : 0 0 ĠI ST ") Ġ} Ġjust Ġruns ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠNext Run Action () ĊĊĠĠĠĠĠĠĠ Ġaction . action Performed ( action Event ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġcron Descriptor . next Run ("* Ġ* Ġ* Ġ* Ġ* ") Ġ} ĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġhint Manager . show Information Hint ( editor , Ġ" 2 0 2 0 - 0 5 - 0 1 Ġ 1 3 : 0 0 : 0 0 ĠI ST ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcatch Ġexception Ġand Ġshow Ġdefault Ġerror Ġmessage `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġaction Event . getData ( Platform Data Keys . EDITOR ) Ġ} Ġreturns Ġeditor ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġeditor . selection Model . selected Text Ġ} Ġreturns Ġ" invalid " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcron Descriptor . next Run (" invalid ") Ġ} Ġthrows ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġhint Manager . show Error Hint ( editor , Ġ" Failed Ġto Ġget Ġnext Ġrun ") Ġ} Ġjust Ġruns ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠNext Run Action () ĊĊĠĠĠĠĠĠĠ Ġaction . action Performed ( action Event ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġcron Descriptor . next Run (" invalid ") Ġ} ĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġhint Manager . show Error Hint ( editor , Ġ" Failed Ġto Ġget Ġnext Ġrun ") Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġcatch Ġexception Ġand Ġshow Ġerror Ġmessage `() Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġaction Event . getData ( Platform Data Keys . EDITOR ) Ġ} Ġreturns Ġeditor ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġeditor . selection Model . selected Text Ġ} Ġreturns Ġ" invalid " ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcron Descriptor . next Run (" invalid ") Ġ} Ġthrows ĠDateTime Exception (" some Ġerror ") ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġhint Manager . show Error Hint ( editor , Ġ" some Ġerror ") Ġ} Ġjust Ġruns ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠNext Run Action () ĊĊĠĠĠĠĠĠĠ Ġaction . action Performed ( action Event ) ĊĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġcron Descriptor . next Run (" invalid ") Ġ} ĊĠĠĠĠĠĠĠ Ġverify Ġ{ Ġhint Manager . show Error Hint ( editor , Ġ" some Ġerror ") Ġ} ĊĠĠĠ Ġ} Ċ } Ċ