mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-01-18 23:32:08 -08:00
Sector -2 0 fix (#322)
* Added a battle mission to Sector (-2,0) as otherwise no core would be spawned * Fixed a crash which occurred during test execution... ... and could maybe occur during any startup with bad timing * Added a new class for sector tests ... ... and added a test which makes sure that any predefined sector defines a spawn point * Added fix after applying test driven bugfixing
This commit is contained in:
parent
51a51833d4
commit
044390b4b4
3 changed files with 59 additions and 2 deletions
54
tests/src/test/java/SectorTests.java
Normal file
54
tests/src/test/java/SectorTests.java
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
import com.badlogic.gdx.utils.Array;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.core.ContentLoader;
|
||||
import io.anuke.mindustry.maps.SectorPresets;
|
||||
import io.anuke.mindustry.maps.generation.Generation;
|
||||
import io.anuke.mindustry.maps.missions.Mission;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/** This class is responsible for testing predefined sectors. */
|
||||
public class SectorTests{
|
||||
|
||||
private SectorPresets presets;
|
||||
private Generation fakeGen;
|
||||
|
||||
@BeforeAll
|
||||
static void initializeDependencies(){
|
||||
Vars.content = new ContentLoader();
|
||||
Vars.content.load();
|
||||
}
|
||||
|
||||
@BeforeEach
|
||||
void initTest(){
|
||||
this.presets = new SectorPresets();
|
||||
|
||||
// Fake away the Generation dependency
|
||||
this.fakeGen = new Generation(null, null, 250, 250, null);
|
||||
}
|
||||
|
||||
/** Returns true if at least one mission provides a spawn point. */
|
||||
private boolean spawnPointIsDefined(Array<Mission> missions){
|
||||
for(Mission mission : missions){
|
||||
if(mission.getSpawnPoints(this.fakeGen).size > 0){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// No spawn point provided
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes sure that every predefined sector has a position for the player core defined.
|
||||
* This is achieved by adding at least one mission which defines a spawn point.
|
||||
*/
|
||||
@Test
|
||||
void test_sectorHasACore(){
|
||||
for(SectorPresets.SectorPreset preset : this.presets.getPresets().values()){
|
||||
assertTrue(spawnPointIsDefined(preset.missions), "Sector at (" + preset.x + "|" + preset.y + ") contains no missions which define a spawn point. Add a battle or wave mission.");
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue