in intellij-plugin/Edu-Scala/testSrc/com/jetbrains/edu/scala/slow/checker/ScalaGradleCheckErrorTest.kt [20:153]
override fun createCourse(): Course {
return course(language = ScalaLanguage.INSTANCE, environment = "Gradle") {
lesson {
eduTask("compilationError") {
scalaTaskFile("src/Task.scala", """
class Task {
def foo(): Int
}
""")
scalaTaskFile("test/TestSpec.scala", """
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.FunSuite
@RunWith(classOf[JUnitRunner])
class TestSpec extends FunSuite {
test("Test") {
assertResult(42) { new Task().foo() }
}
}
""")
}
eduTask("testFail") {
scalaTaskFile("src/Task.scala", """
class Task {
def foo(): Int = 42
}
""")
scalaTaskFile("test/TestSpec.scala", """
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.FunSuite
@RunWith(classOf[JUnitRunner])
class TestSpec extends FunSuite {
test("Test") {
fail("Message")
}
}
""")
}
eduTask("comparisonTestFail") {
scalaTaskFile("src/Task.scala", """
class Task {
def foo(): Int = 43
}
""")
scalaTaskFile("test/TestSpec.scala", """
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.FunSuite
@RunWith(classOf[JUnitRunner])
class TestSpec extends FunSuite {
test("Test") {
assertResult(42) { new Task().foo() }
}
}
""")
}
eduTask("gradleCustomRunConfiguration") {
scalaTaskFile("src/Task.scala", """
class Task {
def foo(): String = {
System.getenv("EXAMPLE_ENV")
}
}
""")
scalaTaskFile("test/Test.scala", """
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.FunSuite
@RunWith(classOf[JUnitRunner])
class Test extends FunSuite {
test("hello") {
assertResult("Hello") { new Task().foo() }
}
}
""")
dir("runConfigurations") {
xmlTaskFile("CustomGradleCheck.run.xml", $$"""
<component name="ProjectRunConfigurationManager">
<configuration name="CustomGradleCheck" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="env">
<map>
<entry key="EXAMPLE_ENV" value="Hello!" />
</map>
</option>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value=":$TASK_GRADLE_PROJECT$:test" />
<option value="--tests" />
<option value=""Test"" />
</list>
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>false</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
</component>
""")
}
}
outputTask("outputTaskFail") {
scalaTaskFile("src/Main.scala", """
object Main {
def main(args: Array[String]): Unit = {
println("OK")
}
}
""")
taskFile("test/output.txt") {
withText("OK!\n")
}
}
}
}
}