42 lines
1.4 KiB
Java
42 lines
1.4 KiB
Java
import arc.util.*;
|
|
import mindustry.*;
|
|
import mindustry.gen.*;
|
|
import mindustry.type.*;
|
|
import org.junit.jupiter.api.*;
|
|
|
|
import static mindustry.Vars.*;
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
//grabs a version-locked exotic-mod commit and makes sure its content is parsed correctly
|
|
//this mod was chosen because:
|
|
//- it is written solely in (h)json
|
|
//- it is probably the mod with the most json, and as such covers a lot of classes
|
|
//- it is popular enough in the mod browser
|
|
//- I am somewhat familiar with its files & the type of content it adds
|
|
public class ModTestAllure extends GenericModTest{
|
|
|
|
@Test
|
|
public void begin(){
|
|
grabMod("https://github.com/LixieWulf/Allure/archive/4150f74db1ea6058dc090959cf0fe5dc9d239e37.zip");
|
|
checkExistence("allure");
|
|
|
|
UnitType type = Vars.content.unit("allure-0b11-exodus");
|
|
assertNotNull(type, "A mod unit must be loaded.");
|
|
assertTrue(type.weapons.size > 0, "A mod unit must have a weapon.");
|
|
|
|
Vars.world.loadMap(maps.loadInternalMap("groundZero"));
|
|
|
|
Unit unit = type.spawn(0, 0);
|
|
|
|
//check for crash
|
|
unit.update();
|
|
|
|
assertTrue(unit.health > 0, "Unit must be spawned and alive.");
|
|
assertTrue(Groups.unit.size() > 0, "Unit must be spawned and alive.");
|
|
|
|
//just an extra sanity check
|
|
Log.info("Modded units: @", Vars.content.units().select(u -> u.minfo.mod != null));
|
|
}
|
|
|
|
}
|