implement import powerplay data
This commit is contained in:
87
utils/src/test/java/ru/trader/powerplay/PPImportTest.java
Normal file
87
utils/src/test/java/ru/trader/powerplay/PPImportTest.java
Normal file
@@ -0,0 +1,87 @@
|
||||
package ru.trader.powerplay;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import ru.trader.analysis.PowerPlayAnalyzator;
|
||||
import ru.trader.core.Market;
|
||||
import ru.trader.core.POWER;
|
||||
import ru.trader.core.POWER_STATE;
|
||||
import ru.trader.core.Place;
|
||||
import ru.trader.store.simple.Store;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
public class PPImportTest extends Assert {
|
||||
|
||||
@Test
|
||||
public void testImportSystems() throws Exception {
|
||||
InputStream is = getClass().getResourceAsStream("/world.xml");
|
||||
Market market = Store.loadFromFile(is);
|
||||
Place opala = market.get("Opala");
|
||||
Place aulin = market.get("Aulin");
|
||||
Place draconis = market.get("26 Draconis");
|
||||
Place bolg = market.get("Bolg");
|
||||
Place aulis = market.get("Aulis");
|
||||
Place lhs2887 = market.get("LHS 2887");
|
||||
Place gd_319 = market.get("GD 319");
|
||||
|
||||
aulin.setPower(POWER.GROM, POWER_STATE.CONTROL);
|
||||
draconis.setPower(POWER.PATREUS, POWER_STATE.EXPLOITED);
|
||||
|
||||
PPParser parser = new PPParser(market);
|
||||
parser.parseSystems(new File(getClass().getResource("/pp.csv").getFile()));
|
||||
|
||||
assertEquals(POWER_STATE.CONTROL, opala.getPowerState());
|
||||
assertEquals(POWER.MAHON, opala.getPower());
|
||||
assertEquals(POWER_STATE.CONTROL, bolg.getPowerState());
|
||||
assertEquals(POWER.DUVAL, bolg.getPower());
|
||||
|
||||
PowerPlayAnalyzator analyzator = new PowerPlayAnalyzator(market);
|
||||
|
||||
Collection<Place> intersectsMahon = analyzator.getIntersects(Arrays.asList(opala, gd_319));
|
||||
Collection<Place> intersectsDuval = analyzator.getIntersects(bolg, Arrays.asList(opala, gd_319));
|
||||
|
||||
Collection<Place> exploitedOpala = analyzator.getControlling(opala);
|
||||
Collection<Place> exploitedBolg = analyzator.getControlling(bolg);
|
||||
|
||||
for (Place place : intersectsMahon) {
|
||||
assertEquals(POWER_STATE.EXPLOITED, place.getPowerState());
|
||||
assertEquals(POWER.MAHON, place.getPower());
|
||||
}
|
||||
|
||||
for (Place place : exploitedOpala) {
|
||||
if (intersectsDuval.contains(place)){
|
||||
assertEquals(POWER_STATE.CONTESTED, place.getPowerState());
|
||||
} else {
|
||||
assertEquals(POWER_STATE.EXPLOITED, place.getPowerState());
|
||||
assertEquals(POWER.MAHON, place.getPower());
|
||||
}
|
||||
}
|
||||
|
||||
for (Place place : exploitedBolg) {
|
||||
if (intersectsDuval.contains(place)){
|
||||
assertEquals(POWER_STATE.CONTESTED, place.getPowerState());
|
||||
} else {
|
||||
assertEquals(POWER_STATE.EXPLOITED, place.getPowerState());
|
||||
assertEquals(POWER.DUVAL, place.getPower());
|
||||
}
|
||||
}
|
||||
|
||||
assertEquals(POWER_STATE.CONTESTED, aulin.getPowerState());
|
||||
assertEquals(POWER.DUVAL, aulin.getPower());
|
||||
|
||||
assertEquals(POWER_STATE.EXPLOITED, aulis.getPowerState());
|
||||
assertEquals(POWER.MAHON, aulis.getPower());
|
||||
|
||||
assertEquals(POWER_STATE.EXPLOITED, lhs2887.getPowerState());
|
||||
assertEquals(POWER.DUVAL, lhs2887.getPower());
|
||||
|
||||
assertEquals(POWER_STATE.EXPANSION, draconis.getPowerState());
|
||||
assertEquals(POWER.DELAINE, draconis.getPower());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
8
utils/src/test/resources/pp.csv
Normal file
8
utils/src/test/resources/pp.csv
Normal file
@@ -0,0 +1,8 @@
|
||||
"Id","Power Id","Value","State","Upkeep Default","Upkeep Current","Income","Controlstarsystem Id","Qty For","Qty Against","Thr For","Thr Against","Prediction","В "
|
||||
"Opala (78755)","Edmund Mahon (100010)","7","control","23","23","131","","2842","4650","2818","13778","FORTIFY",""
|
||||
"Gui Xian (3932411564754)","A. Lavigny-Duval (100020)","10","control","22","0","99","","2760","0","2760","15031","FORTIFY",""
|
||||
"Bolg (2871588038081)","Aisling Duval (100000)","8","control","24","24","65","","6413","0","6213","10701","FORTIFY",""
|
||||
"26 Draconis (2869440619961)","Archon Delaine (100100)","6","takingControl","0","0","0","","3690","24830","6632","9652","FAIL",""
|
||||
"Gyhldekala (2869977687521)","Yuri Grom (100120)","0","control","28","28","108","","4993","420","3725","8507","FORTIFY",""
|
||||
"GD 319 (9467584587225)","Edmund Mahon (100010)","0","control","0","0","0","Lundji (11666876278233)","","","","","PASS",""
|
||||
"Ithaca (77805)","Edmund Mahon (100010)","5","blocked","22","22","112","","1749","2070","5314","18818","PASS",""
|
||||
|
2381
utils/src/test/resources/world.xml
Normal file
2381
utils/src/test/resources/world.xml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user