Skip to content

Commit 0721340

Browse files
committed
Tests.. kind of fixed
1 parent 13379ac commit 0721340

25 files changed

+291
-407
lines changed

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ org.gradle.configuration-cache=true
1414
neogradle.subsystems.conventions.runs.enabled=false
1515
neogradle.subsystems.conventions.runs.create-default-run-per-type=false
1616

17-
neogradle.subsystems.parchment.minecraftVersion=1.20.6
18-
neogradle.subsystems.parchment.mappingsVersion=2024.05.01
17+
neoForge.parchment.minecraftVersion=1.20.6
18+
neoForge.parchment.mappingsVersion=2024.05.01
1919

2020
mod_id=compactmachines
2121

neoforge-main/build.gradle.kts

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ neoForge {
6363
this.dependency(coreApi)
6464
}
6565

66+
unitTest {
67+
enable()
68+
testedMod = mods.named(modId)
69+
}
70+
6671
runs {
6772
// applies to all the run configs below
6873
configureEach {
@@ -71,6 +76,8 @@ neoForge {
7176
// Recommended logging level for the console
7277
systemProperty("forge.logging.console.level", "debug")
7378

79+
sourceSet = project.sourceSets.main
80+
7481
if (!System.getenv().containsKey("CI")) {
7582
// JetBrains Runtime Hotswap
7683
// jvmArgument("-XX:+AllowEnhancedClassRedefinition")
@@ -91,18 +98,28 @@ neoForge {
9198
programArguments.addAll("--height", "1080")
9299
}
93100

94-
// create("server") {
95-
// systemProperty("forge.enabledGameTestNamespaces", modId)
96-
// environmentVariables("CM_TEST_RESOURCES", project.file("src/test/resources").path)
97-
// programArguments("nogui")
98-
// modSource(project.sourceSets.test.get())
99-
// }
100-
//
101-
// create("gameTestServer") {
102-
// systemProperty("forge.enabledGameTestNamespaces", modId)
103-
// environmentVariable("CM_TEST_RESOURCES", file("src/test/resources").path)
104-
// modSource(project.sourceSets.test.get())
105-
// }
101+
create("server") {
102+
server()
103+
gameDirectory.set(file("runs/server"))
104+
105+
systemProperty("forge.enabledGameTestNamespaces", modId)
106+
programArgument("nogui")
107+
108+
environment.put("CM_TEST_RESOURCES", file("src/test/resources").path)
109+
110+
sourceSet = project.sourceSets.test
111+
sourceSets.add(project.sourceSets.test.get())
112+
}
113+
114+
create("gameTestServer") {
115+
type = "gameTestServer"
116+
117+
systemProperty("forge.enabledGameTestNamespaces", modId)
118+
environment.put("CM_TEST_RESOURCES", file("src/test/resources").path)
119+
120+
sourceSet = project.sourceSets.test
121+
sourceSets.add(project.sourceSets.test.get())
122+
}
106123
}
107124
}
108125

@@ -153,11 +170,19 @@ dependencies {
153170
jarJar(libraries.feather) { isTransitive = false }
154171
}
155172

173+
testImplementation(neoforged.testframework)
174+
testImplementation("org.junit.jupiter:junit-jupiter:5.7.1")
175+
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
176+
156177
// Mods
157178
// compileOnly(mods.bundles.jei)
158179
// compileOnly(mods.jade)
159180
}
160181

182+
tasks.withType<Test> {
183+
useJUnitPlatform()
184+
}
185+
161186
tasks.withType<ProcessResources> {
162187
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
163188
}

neoforge-main/gradle.properties

Lines changed: 0 additions & 5 deletions
This file was deleted.

tests-1.20/test/java/dev/compactmods/machines/test/util/CompactGameTestHelper.java renamed to neoforge-main/src/test/java/dev/compactmods/machines/test/gametest/CompactGameTestHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package dev.compactmods.machines.test.util;
1+
package dev.compactmods.machines.test.gametest;
22

33
import net.minecraft.core.BlockPos;
44
import net.minecraft.core.Direction;

tests-1.20/test/java/dev/compactmods/machines/test/CompactMachinesTest.java renamed to neoforge-main/src/test/java/dev/compactmods/machines/test/gametest/CompactMachinesTest.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
package dev.compactmods.machines.test;
1+
package dev.compactmods.machines.test.gametest;
22

3-
import dev.compactmods.machines.api.CompactMachinesApi;
4-
import dev.compactmods.machines.api.room.CompactMachines.roomApi();
3+
import dev.compactmods.machines.api.CompactMachines;
54
import net.neoforged.bus.api.IEventBus;
65
import net.neoforged.fml.ModContainer;
76
import net.neoforged.fml.common.Mod;
87
import net.neoforged.testframework.conf.Feature;
98
import net.neoforged.testframework.conf.FrameworkConfiguration;
109

11-
@Mod(CompactMachinesApi.MOD_ID)
10+
@Mod(CompactMachines.MOD_ID)
1211
public class CompactMachinesTest {
1312

1413
public CompactMachinesTest(ModContainer container, IEventBus modBus) {
15-
final var config = FrameworkConfiguration.builder(CompactMachinesApi.modRL("tests"))
14+
final var config = FrameworkConfiguration.builder(CompactMachines.modRL("tests"))
1615
.enable(Feature.GAMETEST)
1716
.build();
1817

tests-1.20/test/java/dev/compactmods/machines/test/ServerEventHandler.java renamed to neoforge-main/src/test/java/dev/compactmods/machines/test/gametest/ServerEventHandler.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package dev.compactmods.machines.test;
1+
package dev.compactmods.machines.test.gametest;
22

33
import com.google.common.collect.ImmutableSet;
4-
import dev.compactmods.machines.api.CompactMachinesApi;
4+
import dev.compactmods.machines.api.CompactMachines;
55
import net.minecraft.server.MinecraftServer;
66
import net.minecraft.server.packs.PackType;
77
import net.minecraft.server.packs.repository.FolderRepositorySource;
@@ -18,7 +18,7 @@
1818
import java.nio.file.Path;
1919
import java.util.concurrent.ExecutionException;
2020

21-
@EventBusSubscriber(modid = CompactMachinesApi.MOD_ID)
21+
@EventBusSubscriber(modid = CompactMachines.MOD_ID)
2222
public class ServerEventHandler {
2323

2424
final static Logger LOG = LogManager.getLogger();
@@ -55,7 +55,7 @@ public static void onServerStarted(final ServerStartedEvent evt) {
5555
server.reloadResources(packs.getSelectedIds()).get();
5656

5757
server.getResourceManager()
58-
.listResources("structures", rl -> rl.getNamespace().equals(CompactMachinesApi.MOD_ID))
58+
.listResources("structures", rl -> rl.getNamespace().equals(CompactMachines.MOD_ID))
5959
.forEach((rl, res) -> LOG.debug(rl.toDebugFileName()));
6060

6161
} catch (InterruptedException | ExecutionException e) {
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package dev.compactmods.machines.test.gametest;
2+
3+
import com.google.common.base.Predicates;
4+
import dev.compactmods.machines.api.room.IRoomApi;
5+
import dev.compactmods.machines.api.room.registration.IRoomRegistrar;
6+
import dev.compactmods.machines.api.room.spatial.IRoomChunkManager;
7+
import dev.compactmods.machines.api.room.spatial.IRoomChunks;
8+
import dev.compactmods.machines.api.room.spawn.IRoomSpawnManager;
9+
import dev.compactmods.machines.room.RoomRegistrar;
10+
import dev.compactmods.machines.room.spatial.GraphChunkManager;
11+
import dev.compactmods.machines.room.spawn.RoomSpawnManagers;
12+
13+
import java.util.function.Predicate;
14+
15+
public class TestRoomApi {
16+
17+
public static IRoomApi forTest() {
18+
final var registrar = new RoomRegistrar();
19+
final var spawnManagers = new RoomSpawnManagers(registrar);
20+
final var chunkManager = new GraphChunkManager();
21+
22+
return new IRoomApi() {
23+
@Override
24+
public Predicate<String> roomCodeValidator() {
25+
return Predicates.alwaysTrue();
26+
}
27+
28+
@Override
29+
public IRoomRegistrar registrar() {
30+
return registrar;
31+
}
32+
33+
@Override
34+
public IRoomSpawnManager spawnManager(String roomCode) {
35+
return spawnManagers.get(roomCode);
36+
}
37+
38+
@Override
39+
public IRoomChunkManager chunkManager() {
40+
return chunkManager;
41+
}
42+
43+
@Override
44+
public IRoomChunks chunks(String roomCode) {
45+
return chunkManager.get(roomCode);
46+
}
47+
};
48+
}
49+
}

tests-1.20/test/java/dev/compactmods/machines/test/data/PlayerHistoryTrackerTests.java renamed to neoforge-main/src/test/java/dev/compactmods/machines/test/gametest/data/PlayerHistoryTrackerTests.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
package dev.compactmods.machines.test.data;
1+
package dev.compactmods.machines.test.gametest.data;
22

3-
import dev.compactmods.machines.api.CompactMachinesApi;
4-
import dev.compactmods.machines.api.room.CompactMachines.roomApi();
3+
import dev.compactmods.machines.api.CompactMachines;
54
import dev.compactmods.machines.api.room.history.RoomEntryPoint;
65
import dev.compactmods.machines.player.PlayerEntryPointHistoryManager;
76
import dev.compactmods.machines.api.room.history.RoomEntryResult;
87
import dev.compactmods.machines.room.RoomCodeGenerator;
9-
import dev.compactmods.machines.test.TestCompactMachines.roomApi();
8+
import dev.compactmods.machines.test.gametest.TestRoomApi;
109
import net.minecraft.gametest.framework.GameTest;
1110
import net.minecraft.gametest.framework.GameTestHelper;
1211
import net.minecraft.nbt.NbtOps;
@@ -19,14 +18,14 @@
1918
import java.util.stream.Collectors;
2019

2120
@PrefixGameTestTemplate(false)
22-
@GameTestHolder(CompactMachinesApi.MOD_ID)
21+
@GameTestHolder(CompactMachines.MOD_ID)
2322
public class PlayerHistoryTrackerTests {
2423

2524
private static final String BATCH = "PLAYER_HISTORY_TRACKING";
2625

2726
@GameTest(template = "empty_1x1", batch = BATCH)
2827
public static void failsPlayerGoingTooFar(final GameTestHelper test) {
29-
CompactMachines.roomApi().INSTANCE = TestCompactMachines.roomApi().forTest(test);
28+
CompactMachines.Internal.ROOM_API = TestRoomApi.forTest();
3029

3130
final var history = new PlayerEntryPointHistoryManager(1);
3231

@@ -42,7 +41,7 @@ public static void failsPlayerGoingTooFar(final GameTestHelper test) {
4241

4342
@GameTest(template = "empty_1x1", batch = BATCH, timeoutTicks = 1400)
4443
public static void canGetPlayerHistory(final GameTestHelper test) throws InterruptedException {
45-
CompactMachines.roomApi().INSTANCE = TestCompactMachines.roomApi().forTest(test);
44+
CompactMachines.Internal.ROOM_API = TestRoomApi.forTest();
4645

4746
final var history = new PlayerEntryPointHistoryManager(5);
4847

@@ -71,7 +70,7 @@ public static void canGetPlayerHistory(final GameTestHelper test) throws Interru
7170

7271
@GameTest(template = "empty_1x1", batch = BATCH, timeoutTicks = 1400)
7372
public static void canRemovePlayerHistory(final GameTestHelper test) throws InterruptedException {
74-
CompactMachines.roomApi().INSTANCE = TestCompactMachines.roomApi().forTest(test);
73+
CompactMachines.Internal.ROOM_API = TestRoomApi.forTest();
7574

7675
final var history = new PlayerEntryPointHistoryManager(5);
7776
final var player = test.makeMockPlayer(GameType.SURVIVAL);
@@ -98,7 +97,7 @@ public static void canRemovePlayerHistory(final GameTestHelper test) throws Inte
9897

9998
@GameTest(template = "empty_1x1", batch = BATCH, timeoutTicks = 1400)
10099
public static void testDataLogic(final GameTestHelper test) throws InterruptedException {
101-
CompactMachines.roomApi().INSTANCE = TestCompactMachines.roomApi().forTest(test);
100+
CompactMachines.Internal.ROOM_API = TestRoomApi.forTest();
102101

103102
final var history = new PlayerEntryPointHistoryManager(5);
104103

tests-1.20/test/java/dev/compactmods/machines/test/worldgen/RoomGenerationTests.java renamed to neoforge-main/src/test/java/dev/compactmods/machines/test/gametest/worldgen/RoomGenerationTests.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package dev.compactmods.machines.test.worldgen;
1+
package dev.compactmods.machines.test.gametest.worldgen;
22

33
import dev.compactmods.machines.api.room.CompactRoomGenerator;
44
import dev.compactmods.machines.api.room.RoomTemplate;
5-
import dev.compactmods.machines.api.CompactMachinesApi;
5+
import dev.compactmods.machines.api.CompactMachines;
66
import dev.compactmods.machines.api.util.BlockSpaceUtil;
7-
import dev.compactmods.machines.test.util.CompactGameTestHelper;
7+
import dev.compactmods.machines.test.gametest.CompactGameTestHelper;
88
import net.minecraft.core.BlockPos;
99
import net.minecraft.core.Direction;
1010
import net.minecraft.gametest.framework.GameTest;
@@ -15,10 +15,7 @@
1515
import net.minecraft.world.level.block.Blocks;
1616
import net.minecraft.world.level.block.Rotation;
1717
import net.minecraft.world.phys.AABB;
18-
import net.neoforged.neoforge.gametest.GameTestHolder;
19-
import net.neoforged.neoforge.gametest.PrefixGameTestTemplate;
2018
import net.neoforged.testframework.annotation.ForEachTest;
21-
import net.neoforged.testframework.gametest.EmptyTemplate;
2219
import org.apache.logging.log4j.LogManager;
2320

2421
import java.util.ArrayList;
@@ -34,12 +31,12 @@ public class RoomGenerationTests {
3431
public static Collection<TestFunction> roomTests() {
3532
List<TestFunction> funcs = new ArrayList<>();
3633

37-
makeAndAddRoomTemplateTest(funcs, CompactMachinesApi.modRL("3_cubed"), new RoomTemplate(3, CommonColors.WHITE));
38-
makeAndAddRoomTemplateTest(funcs, CompactMachinesApi.modRL("5_cubed"), new RoomTemplate(5, CommonColors.WHITE));
39-
makeAndAddRoomTemplateTest(funcs, CompactMachinesApi.modRL("7_cubed"), new RoomTemplate(7, CommonColors.WHITE));
40-
makeAndAddRoomTemplateTest(funcs, CompactMachinesApi.modRL("9_cubed"), new RoomTemplate(9, CommonColors.WHITE));
41-
makeAndAddRoomTemplateTest(funcs, CompactMachinesApi.modRL("11_cubed"), new RoomTemplate(11, CommonColors.WHITE));
42-
makeAndAddRoomTemplateTest(funcs, CompactMachinesApi.modRL("13_cubed"), new RoomTemplate(13, CommonColors.WHITE));
34+
makeAndAddRoomTemplateTest(funcs, CompactMachines.modRL("3_cubed"), new RoomTemplate(3, CommonColors.WHITE));
35+
makeAndAddRoomTemplateTest(funcs, CompactMachines.modRL("5_cubed"), new RoomTemplate(5, CommonColors.WHITE));
36+
makeAndAddRoomTemplateTest(funcs, CompactMachines.modRL("7_cubed"), new RoomTemplate(7, CommonColors.WHITE));
37+
makeAndAddRoomTemplateTest(funcs, CompactMachines.modRL("9_cubed"), new RoomTemplate(9, CommonColors.WHITE));
38+
makeAndAddRoomTemplateTest(funcs, CompactMachines.modRL("11_cubed"), new RoomTemplate(11, CommonColors.WHITE));
39+
makeAndAddRoomTemplateTest(funcs, CompactMachines.modRL("13_cubed"), new RoomTemplate(13, CommonColors.WHITE));
4340

4441
return funcs;
4542
}
@@ -48,7 +45,7 @@ private static void makeAndAddRoomTemplateTest(List<TestFunction> funcs, Resourc
4845
funcs.add(new TestFunction(
4946
"room_generation",
5047
"builtin_roomgen_" + id.getPath(),
51-
CompactMachinesApi.MOD_ID + ":empty_15x15",
48+
CompactMachines.MOD_ID + ":empty_15x15",
5249
Rotation.NONE,
5350
200,
5451
0,

tests-1.20/test/java/dev/compactmods/machines/test/worldgen/StructureGenTests.java renamed to neoforge-main/src/test/java/dev/compactmods/machines/test/gametest/worldgen/StructureGenTests.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
package dev.compactmods.machines.test.worldgen;
1+
package dev.compactmods.machines.test.gametest.worldgen;
22

3-
import dev.compactmods.machines.api.CompactMachinesApi;
3+
import dev.compactmods.machines.api.CompactMachines;
44
import dev.compactmods.machines.api.room.CompactRoomGenerator;
55
import dev.compactmods.machines.api.room.RoomStructureInfo;
6-
import dev.compactmods.machines.test.util.CompactGameTestHelper;
6+
import dev.compactmods.machines.test.gametest.CompactGameTestHelper;
77
import net.minecraft.core.BlockPos;
88
import net.minecraft.gametest.framework.GameTest;
99
import net.minecraft.world.level.block.Blocks;
1010
import net.minecraft.world.phys.AABB;
11-
import net.neoforged.neoforge.gametest.GameTestHolder;
12-
import net.neoforged.neoforge.gametest.PrefixGameTestTemplate;
1311
import net.neoforged.testframework.annotation.ForEachTest;
1412

1513
@ForEachTest(groups = StructureGenTests.BATCH)
@@ -28,7 +26,7 @@ public static void structurePlacedCenter(final CompactGameTestHelper testHelper)
2826
CompactRoomGenerator.generateRoom(testHelper.getLevel(), roomDims, Blocks.WHITE_STAINED_GLASS.defaultBlockState());
2927

3028
CompactRoomGenerator.populateStructure(testHelper.getLevel(),
31-
CompactMachinesApi.modRL("gold_1x1"),
29+
CompactMachines.modRL("gold_1x1"),
3230
roomDims.deflate(1), RoomStructureInfo.RoomStructurePlacement.CENTERED);
3331

3432
testHelper.succeed();
@@ -45,7 +43,7 @@ public static void structurePlacedCeiling(final CompactGameTestHelper testHelper
4543
CompactRoomGenerator.generateRoom(testHelper.getLevel(), roomDims, Blocks.WHITE_STAINED_GLASS.defaultBlockState());
4644

4745
CompactRoomGenerator.populateStructure(testHelper.getLevel(),
48-
CompactMachinesApi.modRL("gold_1x1"),
46+
CompactMachines.modRL("gold_1x1"),
4947
roomDims.deflate(1), RoomStructureInfo.RoomStructurePlacement.CENTERED_CEILING);
5048

5149
testHelper.succeed();
@@ -62,7 +60,7 @@ public static void structurePlacedFloor(final CompactGameTestHelper testHelper)
6260
CompactRoomGenerator.generateRoom(testHelper.getLevel(), roomDims, Blocks.WHITE_STAINED_GLASS.defaultBlockState());
6361

6462
CompactRoomGenerator.populateStructure(testHelper.getLevel(),
65-
CompactMachinesApi.modRL("gold_1x1"),
63+
CompactMachines.modRL("gold_1x1"),
6664
roomDims.deflate(1), RoomStructureInfo.RoomStructurePlacement.CENTERED_FLOOR);
6765

6866
testHelper.succeed();

0 commit comments

Comments
 (0)