package Ġcom . jetbrains . edu . java . hyper skill Ċ Ċ import Ġcom . intellij . lang . java . Java Language Ċ import Ġcom . intellij . openapi . project Roots . Java Sdk Ċ import Ġcom . intellij . openapi . project Roots . Sdk Ċ import Ġcom . intellij . openapi . project Roots . impl . Sdk Configuration Util Ċ import Ġcom . intellij . openapi . vfs . Local FileSystem Ċ import Ġcom . intellij . openapi . vfs . new vfs . impl . V fs Root Access Ċ import Ġcom . intellij . test Framework . Ide a TestUtil Ċ import Ġcom . intellij . test Framework . Light Project Descriptor Ċ import Ġcom . jetbrains . edu . jvm . J dk Project Settings Ċ import Ġcom . jetbrains . edu . learning . E du TestCase Ċ import Ġcom . jetbrains . edu . learning . course Format . ext . configur ator Ċ import Ġcom . jetbrains . edu . learning . step ik . hyper skill . Hyper skill Configurator Ċ import Ġcom . jetbrains . edu . learning . step ik . hyper skill . api . Hyper skill Project Ċ import Ġcom . jetbrains . edu . learning . step ik . hyper skill . api . Hyper skill Stage Ċ import Ġcom . jetbrains . edu . learning . step ik . hyper skill . course Format . Hyper skill Course Ċ import Ġjava . io . File Ċ Ċ class ĠJ Hyper skill Code Task Name Test Ġ: ĠE du TestCase () Ġ{ ĊĠ Ġfun Ġ` test Ġfind Ġtask File Ġfor Ġuploading `() Ġ{ ĊĠĠĠ Ġval Ġcourse Ġ= Ġcourse With Files ( ĊĠĠĠĠĠ Ġlanguage Ġ= ĠJava Language . INSTANCE , ĊĠĠĠĠĠ Ġcourse Producer Ġ= Ġ:: Hyper skill Course , ĊĠĠĠĠĠ Ġsettings Ġ= ĠJ dk Project Settings . empty Settings () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠ Ġframework Lesson (" lesson 1 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġedu Task (" task 1 ", Ġstep Id Ġ= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġtask File (" src / Task . java ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠTask Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent ()) ĊĠĠĠĠĠĠĠĠĠ Ġtask File (" src / Cool Task Name . java ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠCool Task Name Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġstatic Ġvoid Ġmain ( String [] Ġargs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent ()) ĊĠĠĠĠĠĠĠĠĠ Ġtask File (" test / Tests 1 . java ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġas ĠHyper skill Course ĊĠĠĠ Ġcourse . hyper skill Project Ġ= ĠHyper skill Project () ĊĠĠĠ Ġcourse . stages Ġ= ĠlistOf ( Hyper skill Stage ( 1 , Ġ"", Ġ 1 )) ĊĊĠĠĠ Ġval Ġtask Ġ= Ġfind Task ( 0 , Ġ 0 ) ĊĠĠĠ Ġval Ġconfigur ator Ġ= Ġcourse . configur ator Ġas ĠHyper skill Configurator ĊĠĠĠ Ġval Ġcode Task File Ġ= Ġconfigur ator . getCode Task File ( project , Ġtask ) ĊĊĠĠĠ ĠassertEquals (" src / Cool Task Name . java ", Ġcode Task File !!. name ) ĊĠ Ġ} ĊĊĠ Ġfun Ġ` test Ġcreate Ġname Ġfor Ġtask file `() Ġ{ ĊĠĠĠ Ġval Ġcourse Ġ= Ġcourse With Files ( ĊĠĠĠĠĠ Ġlanguage Ġ= ĠJava Language . INSTANCE , ĊĠĠĠĠĠ Ġcourse Producer Ġ= Ġ:: Hyper skill Course , ĊĠĠĠĠĠ Ġsettings Ġ= ĠJ dk Project Settings . empty Settings () ĊĠĠĠ Ġ) Ġ{} Ġas ĠHyper skill Course ĊĠĠĠ Ġcourse . hyper skill Project Ġ= ĠHyper skill Project () ĊĠĠĠ Ġcourse . stages Ġ= ĠlistOf ( Hyper skill Stage ( 1 , Ġ"", Ġ 1 )) ĊĊĠĠĠ Ġval ĠfileName Ġ= Ġcourse . configur ator ?. getMock FileName (""" ĊĠĠĠĠĠ Ġpublic Ġclass ĠCool Task Name Ġ{ ĊĠĠĠĠĠĠĠ Ġpublic Ġstatic Ġvoid Ġmain ( String [] Ġargs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" . trim Indent ()) ĊĊĠĠĠ ĠassertEquals (" Cool Task Name . java ", ĠfileName ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Project Descriptor (): ĠLight Project Descriptor Ġ{ ĊĠĠĠ Ġreturn Ġobject Ġ: ĠLight Project Descriptor () Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun Ġget Sdk (): ĠS dk ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy J dk Home Ġ= ĠIde a TestUtil . require Real J dk Home () ĊĠĠĠĠĠĠĠ ĠV fs Root Access . allow Root Access ( test Root Disposable , Ġmy J dk Home ) ĊĠĠĠĠĠĠĠ Ġval Ġj dk Home Dir Ġ= ĠLocal FileSystem . getInstance (). refresh And Find File By Io File ( File ( my J dk Home )) !! ĊĠĠĠĠĠĠĠ Ġreturn ĠS dk Configuration Util . setup Sdk ( array Of Null s ( 0 ), Ġj dk Home Dir , ĠJava Sdk . getInstance (), Ġtrue , Ġnull , Ġ" Test ĠJDK ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ