Get unittests to work

This commit is contained in:
Bärtschi Robin 2024-06-07 08:47:25 +02:00
parent f3da2f5271
commit 5373cfc84f
4 changed files with 57 additions and 11 deletions

View File

@ -34,6 +34,7 @@ base {
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
sourceSets {
// Include resources generated by data generators.
main.configure {
@ -42,10 +43,30 @@ sourceSets {
}
}
create("junit") {
java {
}
compileClasspath += sourceSets.main.get().output
runtimeClasspath += sourceSets.main.get().output
}
}
val junitImplementation: Configuration by configurations.getting {
extendsFrom(configurations.implementation.get())
}
val junitRuntimeOnly: Configuration by configurations.getting {
extendsFrom(configurations.runtimeOnly.get())
}
configurations["junitImplementation"].extendsFrom(configurations.implementation.get())
//minecraft.accessTransformers.file rootProject.file("src/main/resources/META-INF/accesstransformer.cfg")
//minecraft.accessTransformers.entry public net.minecraft.client.Minecraft textureManager # textureManager
@ -73,6 +94,7 @@ runs {
create("junit") {
junit(true)
unitTestSources(sourceSets["junit"])
}
@ -103,12 +125,12 @@ runs {
}
configurations["junitImplementation"].extendsFrom(configurations.implementation.get())
afterEvaluate {
runs["junit"].modSources = runs["junit"].modSources.get().stream().filter { it != sourceSets.main }.toList()
runs["junit"].modSources = runs["junit"].modSources.get().stream().filter { it != sourceSets.main.get() }.toList()
}
dependencies {
// Specify the version of Minecraft to use.
// Depending on the plugin applied there are several options. We will assume you applied the userdev plugin as shown above.
@ -121,16 +143,12 @@ dependencies {
// Testing
junitImplementation(platform("org.junit:junit-bom:5.10.2"))
junitImplementation("org.junit.jupiter:junit-jupiter-params")
junitRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
sourceSets.getByName("junit") {
dependencies {
implementation(platform("org.junit:junit-bom:5.10.2"))
implementation("org.junit.jupiter:junit-jupiter-params")
runtimeOnly("org.junit.jupiter:junit-jupiter-engine")
}
}
junitImplementation("org.assertj:assertj-core:3.25.1")
// "junitImplementation"(platform("org.junit:junit-bom:5.10.2"))
// "junitImplementation"("org.junit.jupiter:junit-jupiter-params")

View File

@ -0,0 +1,9 @@
package robaertschi.environmenttech.unittest;
import net.neoforged.fml.common.Mod;
@Mod(value = TestMod.MOD_ID)
public class TestMod {
public static final String MOD_ID = "environmenttech_tests";
}

View File

@ -1,7 +1,21 @@
package robaertschi.environmenttech.unittest;
import net.neoforged.testframework.annotation.TestGroup;
import org.junit.jupiter.api.Test;
import robaertschi.environmenttech.client.screen.ProgressArrowComponent;
import static org.assertj.core.api.Assertions.*;
public class TestProgressBar {
int gsp(int progress, int maxProgress) {
return ProgressArrowComponent.getScaledProgress(progress, maxProgress);
}
@Test
void testScales() {
int scale1 = ProgressArrowComponent.getScaledProgress(1, 24);
assertThat(scale1).isEqualTo(1);
assertThat(gsp(24, 24)).isEqualTo(24);
assertThat(gsp(1, 12)).isEqualTo(2);
}
}

View File

@ -0,0 +1,5 @@
modLoader="javafml"
loaderVersion="[2,)"
license="MIT"
[[mods]]
modId="environmenttech_tests"