package Ġcom . jetbrains . edu . course creator . yaml Ċ Ċ import Ġcom . intellij . openapi . application . run Write Action Ċ import Ġcom . jetbrains . edu . course creator . CC Utils Ċ import Ġcom . jetbrains . edu . learning . Notifications TestBase Ċ import Ġcom . jetbrains . edu . learning . course Dir Ċ import Ġcom . jetbrains . edu . learning . document Ċ import Ġcom . jetbrains . edu . learning . yaml . Yaml Config Notification Provider Ċ import Ġcom . jetbrains . edu . learning . yaml . Yaml Format Settings Ċ import Ġcom . jetbrains . edu . learning . yaml . Yaml Loader Ċ Ċ class ĠYaml Config Notification Test Ġ: ĠNotifications TestBase () Ġ{ ĊĊĠ Ġfun Ġ` test Ġcorrect Ġconfig `() Ġ{ ĊĠĠĠ Ġval Ġcourse Ġ= Ġcourse With Files ( course Mode Ġ= ĠCC Utils . CO URSE _ MODE ) Ġ{ ĊĠĠĠĠĠ Ġlesson Ġ{ ĊĠĠĠĠĠĠĠ Ġedu Task Ġ{ Ġ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġtask Ġ= Ġcourse . find Task (" lesson 1 ", Ġ" task 1 ") ĊĠĠĠ Ġval Ġtask Dir Ġ= Ġtask . get Dir ( project . course Dir ) ĊĠĠĠ Ġcreate Config Files ( project ) ĊĠĠĠ Ġval Ġconfig File Ġ= Ġtask Dir !!. find Child ( Yaml Format Settings . TASK _ CONFIG ) ĊĠĠĠ Ġcheck No Editor Notification ( configFile !! , ĠYaml Config Notification Provider . KEY ) ĊĠ Ġ} ĊĊĠ Ġfun Ġ` test Ġinvalid Ġconfig `() Ġ{ ĊĠĠĠ Ġval Ġcourse Ġ= Ġcourse With Files ( course Mode Ġ= ĠCC Utils . CO URSE _ MODE ) Ġ{ ĊĠĠĠĠĠ Ġlesson Ġ{ ĊĠĠĠĠĠĠĠ Ġedu Task Ġ{ Ġ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġtask Ġ= Ġcourse . find Task (" lesson 1 ", Ġ" task 1 ") ĊĠĠĠ Ġval Ġtask Dir Ġ= Ġtask . get Dir ( project . course Dir ) ĊĠĠĠ Ġcreate Config Files ( project ) ĊĠĠĠ Ġval Ġconfig File Ġ= Ġtask Dir !!. find Child ( Yaml Format Settings . TASK _ CONFIG ) ĊĠĠĠ Ġrun Write Action Ġ{ Ġconfig File !!. document . setText (" random Ġtext ") Ġ} ĊĠĠĠ Ġwith Original Exception Ġ{ ĊĠĠĠĠĠ ĠYaml Loader . load Item ( project , Ġconfig File !! ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcheck Editor Notification ( configFile !! , ĠYaml Config Notification Provider . KEY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Failed Ġto Ġapply Ġconfiguration : Ġtask Ġtype Ġnot Ġspecified ") ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġwith Original Exception ( action : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġprevious Value Ġ= Ġproject . getUser Data ( Yaml Format Settings . YAML _ TEST _ THROW _ EXCEPTION ) ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġproject . put UserData ( Yaml Format Settings . YAML _ TEST _ THROW _ EXCEPTION , Ġfalse ) ĊĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠ Ġproject . put UserData ( Yaml Format Settings . YAML _ TEST _ THROW _ EXCEPTION , Ġprevious Value ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }