
dependencies {
    testImplementation libs.junit.jupiter.api
    testImplementation libs.junit.jupiter.params
    testImplementation libs.hamcrest
    testRuntimeOnly libs.junit.jupiter.engine
}

test {
    useJUnitPlatform()
    failFast = false
    testLogging {
        events 'STARTED', 'PASSED', 'FAILED', 'SKIPPED'
    }
    jvmArgs '--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED'
    afterSuite { desc, result ->
        if (!desc.parent) {
            println "\nTest result: ${result.resultType}"
            println "Test summary: ${result.testCount} tests, " +
                    "${result.successfulTestCount} succeeded, " +
                    "${result.failedTestCount} failed, " +
                    "${result.skippedTestCount} skipped"
        }
    }
}
