package Ġkotlinx . atomic fu . plugin . gradle . test Ċ Ċ import Ġkotlinx . atomic fu . plugin . gradle . internal .* Ċ import Ġkotlinx . atomic fu . plugin . gradle . internal . Base Kotlin Scope Ċ import Ġorg . junit . Test Ċ Ċ class ĠJ vm Project Test Ġ: ĠBase Kotlin Gradle Test (" jvm - simple ") Ġ{ ĊĊĠĠĠ Ġprivate Ġfun ĠBase Kotlin Scope . create Project () Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild Gradle K ts Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve (" projects / jvm - simple / jvm - simple . gradle . k ts ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsettings Gradle K ts Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve (" projects / jvm - simple / settings . gradle . k ts ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdir (" src / main / kotlin ") Ġ{} ĊĠĠĠĠĠĠĠ Ġkotlin (" Int Arithmetic . kt ", Ġ" main ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve (" projects / jvm - simple / src / main / kotlin / Int Arithmetic . kt ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdir (" src / test / kotlin ") Ġ{} ĊĠĠĠĠĠĠĠ Ġkotlin (" Arithmetic Test . kt ", Ġ" test ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresolve (" projects / jvm - simple / src / test / kotlin / Arithmetic Test . kt ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Plugin () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrunner Ġ= Ġtest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Project () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrunner Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments . add (": build ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtasks ToCheck Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ": compile Kotlin ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ": transform Atomic fu Classes ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ": compile Test Kotlin ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ": transform Test Atomic fu Classes " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġrunner . build (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks ToCheck . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Task Success ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġthat Ġtask Ġoutcomes Ġare Ġcached Ġfor Ġthe Ġsecond Ġbuild ĊĠĠĠĠĠĠĠ Ġrunner . build (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtasks ToCheck . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Task Up ToDate ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcheck Jvm Compilation Classpath ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoriginal Class File Ġ= Ġ" build / classes / kotlin / main / Int Arithmetic . class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformed Class File Ġ= Ġ" build / classes / atomic fu / main / Int Arithmetic . class " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }