Archived
0

implement import powerplay data

This commit is contained in:
iMoHax
2016-10-31 17:05:17 +03:00
parent 58de159911
commit dc82317482
6 changed files with 2691 additions and 13 deletions

View 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());
}
}

View 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",""
1 Id Power Id Value State Upkeep Default Upkeep Current Income Controlstarsystem Id Qty For Qty Against Thr For Thr Against Prediction В 
2 Opala (78755) Edmund Mahon (100010) 7 control 23 23 131 2842 4650 2818 13778 FORTIFY
3 Gui Xian (3932411564754) A. Lavigny-Duval (100020) 10 control 22 0 99 2760 0 2760 15031 FORTIFY
4 Bolg (2871588038081) Aisling Duval (100000) 8 control 24 24 65 6413 0 6213 10701 FORTIFY
5 26 Draconis (2869440619961) Archon Delaine (100100) 6 takingControl 0 0 0 3690 24830 6632 9652 FAIL
6 Gyhldekala (2869977687521) Yuri Grom (100120) 0 control 28 28 108 4993 420 3725 8507 FORTIFY
7 GD 319 (9467584587225) Edmund Mahon (100010) 0 control 0 0 0 Lundji (11666876278233) PASS
8 Ithaca (77805) Edmund Mahon (100010) 5 blocked 22 22 112 1749 2070 5314 18818 PASS

File diff suppressed because it is too large Load Diff