diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 0000000..b1844c0 --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,27 @@ +# This workflow will build a Java project with Gradle +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle + +name: Java CI with Gradle + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Build with Gradle + run: ./gradlew build diff --git a/src/test/kotlin/org/hmcore/tests/KotlinTests.kt b/src/test/kotlin/org/hmcore/tests/KotlinTests.kt new file mode 100644 index 0000000..94736c4 --- /dev/null +++ b/src/test/kotlin/org/hmcore/tests/KotlinTests.kt @@ -0,0 +1,19 @@ +package org.hmcore.tests + +import org.hmcore.HMCore +import org.junit.jupiter.api.Test + +// The primary function of the Kotlin tests is to ensure Kotlin-specific features are preserved +// Meaning some tests might only make sure features work at compile time. + +class KotlinTests { + @Test + fun `Module should support index access operator`() { + HMCore.modules["ores"]?.apply { this["other"] } + } + + @Test + fun `Module should support 'in' keyword`() { + HMCore.modules["ores"]?.let { "copper" in it } + } +}