Files
Mindustry/tests/src/test/java/ModTestBM.java
2022-02-15 00:24:43 -05:00

43 lines
1.3 KiB
Java

import mindustry.*;
import mindustry.world.*;
import mindustry.world.meta.*;
import org.junit.jupiter.api.*;
import static mindustry.Vars.*;
import static org.junit.jupiter.api.Assertions.*;
//grabs a betamindy release and makes sure it initializes correctly
//this mod was chosen because:
//- it is one of the top java mods on the browser
//- it uses a variety of mindustry classes
//- it is popular enough to cause significant amounts of crashes when something breaks
//- I have some familiarity with its codebase
public class ModTestBM extends GenericModTest{
@Test
public void begin(){
//TODO broken as of 136+
if(true) return;
grabMod("https://github.com/sk7725/BetaMindy/releases/download/v0.955/BetaMindy.jar");
checkExistence("betamindy");
Block type = Vars.content.blocks().find(u -> u.name.equals("betamindy-piston"));
assertNotNull(type, "A mod block must be loaded.");
assertSame(type.buildVisibility, BuildVisibility.shown, "A mod block must be buildable.");
world.loadMap(maps.loadInternalMap("groundZero"));
Tile t = world.tile(3, 3);
t.setBlock(type);
//check for crash
t.build.update();
assertTrue(t.build.health > 0, "Block must be spawned and alive.");
assertSame(t.build.block, type, "Block must be spawned and alive.");
}
}