package Ġcom . test kn ight . actions . checklist Ċ Ċ import Ġcom . intellij . openapi . action System . An Action Ċ import Ġcom . intellij . openapi . action System . An ActionEvent Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . components . service Ċ import Ġcom . intellij . openapi . file Editor . File Editor Manager Ċ import Ġcom . intellij . openapi . file Editor . Text Editor Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . Psi Class Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Manager Ċ import Ġcom . intellij . psi . Psi Method Ċ import Ġcom . intellij . psi . util . Psi Tree Util Ċ import Ġcom . test kn ight . models . testing Checklist . parent Nodes . Testing Checklist Class Node Ċ import Ġcom . test kn ight . services . Test Analyzer Service Ċ import Ġcom . test kn ight . services . Usage DataService Ċ import Ġcom . test kn ight . services . checklist . Checklist Tree Service Ċ import Ġcom . test kn ight . services . checklist . Generate TestCase Checklist Service Ċ Ċ class ĠLoad Checklist Action Ġ: ĠAn Action () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġthe ĠCheck List Ġtab Ġto Ġadd Ġnew Ġchecklist Ġcases . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġevent ĠEvent Ġreceived Ġwhen Ġthe Ġassociated Ġmenu Ġitem Ġis Ġchosen . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġoverride Ġfun ĠactionPerformed ( event : ĠAn ActionEvent ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġevent . project !! ĊĠĠĠĠĠĠĠ Ġval Ġtext Editor Ġ= Ġ( File Editor Manager . getInstance ( project ). selected Editor Ġas ĠText Editor ) ĊĠĠĠĠĠĠĠ Ġval Ġpsi File Ġ= ĠPsi Manager . getInstance ( project ). find File ( text Editor . file !! ) Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġpsi Class Ġ= ĠPsi Tree Util . find Child OfType ( psi File , ĠPsi Class :: class . java ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ ĠactionPerformed ( project , Ġpsi Class , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġthe ĠChecklist Ġtab Ġto Ġload Ġthe Ġtest Ġcases Ġfrom Ġthe Ġselected Ġclass . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġproject Ġcurrent Ġopen Ġproject ĊĠĠĠĠ Ġ* Ġ@ param Ġpsi Element ĠPsi Element Ġof Ġthe Ġchosen Ġelement ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthe ĠUI Ġgot Ġupdated . ĠFalse Ġotherwise . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġfun ĠactionPerformed ( project : ĠProject , Ġpsi Element : ĠPsi Element , Ġrefresh : ĠBoolean Ġ= Ġfalse ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġchecklist Service Ġ= ĠApplication Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getApplication () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getService ( Generate TestCase Checklist Service :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcheck Test Service Ġ= ĠTest Analyzer Service () ĊĠĠĠĠĠĠĠ Ġvar Ġchecklist Class Tree : ĠTesting Checklist Class Node ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( psi Element Ġis ĠPsi Class Ġ&& Ġ! check Test Service . is TestClass ( psi Element )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecklist Class Tree Ġ= Ġchecklist Service . generate Class Checklist From Class ( psi Element ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( psi Element Ġis ĠPsi Method Ġ&& Ġ! check Test Service . is TestMethod ( psi Element )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecklist Class Tree Ġ= Ġchecklist Service . generate Class Checklist From Method ( psi Element ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġchecklist Tree Service Ġ= Ġproject . service < Checklist Tree Service >() ĊĠĠĠĠĠĠĠ Ġif Ġ( refresh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecklist Tree Service . reset Tree () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( checklist Class Tree Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchecklist Tree Service . add Checklist ( checklist Class Tree ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUsage DataService . instance . record Generate Checklist () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDetermines Ġwhether Ġthis Ġmenu Ġitem Ġis Ġavailable Ġfor Ġthe Ġcurrent Ġcontext . ĊĠĠĠĠ Ġ* ĠRequires Ġa Ġproject Ġto Ġbe Ġopen . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġe ĠEvent Ġreceived Ġwhen Ġthe Ġassociated Ġgroup - id Ġmenu Ġis Ġchosen . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġupdate ( e : ĠAn ActionEvent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġavailability Ġbased Ġon Ġwhether Ġthe Ġproject , Ġpsi File Ġand Ġeditor Ġis Ġnot Ġnull ĊĠĠĠĠĠĠĠ Ġe . presentation . isEnabled Ġ= Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . project Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile Editor Manager . getInstance ( e . project !! ). selected Editor Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ