diff --git a/core/src/main/java/ru/trader/analysis/Scorer.java b/core/src/main/java/ru/trader/analysis/Scorer.java index e7b4a12..ef0a88e 100644 --- a/core/src/main/java/ru/trader/analysis/Scorer.java +++ b/core/src/main/java/ru/trader/analysis/Scorer.java @@ -80,7 +80,7 @@ public class Scorer { } public double getAvgProfit() { - return avgProfit * profile.getShip().getCargo(); + return avgProfit; } public double getMaxProfit() { diff --git a/core/src/test/java/ru/trader/analysis/ScorerTest.java b/core/src/test/java/ru/trader/analysis/ScorerTest.java index 66b1d80..3f4ea41 100644 --- a/core/src/test/java/ru/trader/analysis/ScorerTest.java +++ b/core/src/test/java/ru/trader/analysis/ScorerTest.java @@ -36,10 +36,12 @@ public class ScorerTest extends Assert { profile.setBalance(1000000); Scorer scorer = new Scorer(fWorld, profile); + double avgProfit = scorer.getAvgProfit() * profile.getShip().getCargo(); + double score = scorer.getScore(scorer.getAvgDistance(), 0, 1, 1, 4); - double score1 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()/2, 1, 1, 4); - double score2 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()*10, 1, 1, 4); - double score3 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 1, 4); + double score1 = scorer.getScore(scorer.getAvgDistance(), avgProfit/2, 1, 1, 4); + double score2 = scorer.getScore(scorer.getAvgDistance(), avgProfit*10, 1, 1, 4); + double score3 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 1, 4); assertTrue(score < score1); assertTrue(score1 < score3); @@ -51,56 +53,56 @@ public class ScorerTest extends Assert { assertTrue(Math.abs(score2/score3) >= 10); - score1 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 0, 1, 4); - score2 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 1, 4); - score3 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 2, 1, 4); + score1 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 0, 1, 4); + score2 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 1, 4); + score3 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 2, 1, 4); assertTrue(score1 > score2); assertTrue(score2 > score3); - score1 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 1, 4); - score2 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 2, 4); - score3 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 3, 4); + score1 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 1, 4); + score2 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 2, 4); + score3 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 3, 4); assertTrue(score1 > score2); assertTrue(score2 > score3); - score1 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 1, 3); - score2 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 1, 4); - score3 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 1, 5); + score1 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 1, 3); + score2 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 1, 4); + score3 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 1, 5); assertTrue(score1 > score2); assertTrue(score2 > score3); - score = scorer.getScore(0, scorer.getAvgProfit(), 1, 1, 4); - score1 = scorer.getScore(scorer.getAvgDistance()/2, scorer.getAvgProfit(), 1, 1, 4); - score2 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 1, 1, 4); - score3 = scorer.getScore(scorer.getAvgDistance()*2, scorer.getAvgProfit(), 1, 1, 4); + score = scorer.getScore(0, avgProfit, 1, 1, 4); + score1 = scorer.getScore(scorer.getAvgDistance()/2, avgProfit, 1, 1, 4); + score2 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 1, 1, 4); + score3 = scorer.getScore(scorer.getAvgDistance()*2, avgProfit, 1, 1, 4); assertTrue(score > score1); assertTrue(score1 > score2); assertTrue(score2 > score3); - score1 = scorer.getScore(700, scorer.getAvgProfit(), 1, 1, 4); - score2 = scorer.getScore(2800, scorer.getAvgProfit()*1.2, 1, 1, 4); - score3 = scorer.getScore(2800, scorer.getAvgProfit()*1.5, 1, 1, 4); + score1 = scorer.getScore(700, avgProfit, 1, 1, 4); + score2 = scorer.getScore(2800, avgProfit*1.2, 1, 1, 4); + score3 = scorer.getScore(2800, avgProfit*1.5, 1, 1, 4); assertTrue(score1 > score2); assertTrue(score3 > score1); - score1 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()/2, 0, 1, 4); - score2 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()*2, 1, 1, 4); - score3 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()*4, 0, 1, 4); + score1 = scorer.getScore(scorer.getAvgDistance(), avgProfit/2, 0, 1, 4); + score2 = scorer.getScore(scorer.getAvgDistance(), avgProfit*2, 1, 1, 4); + score3 = scorer.getScore(scorer.getAvgDistance(), avgProfit*4, 0, 1, 4); assertTrue(score2 > score1); assertTrue(score3 > score2); - score = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 2, 2, 4); - score1 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()*1.2, 8, 2, 4); - score2 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 8, 2, 4); - score3 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()*1.4, 8, 2, 4); + score = scorer.getScore(scorer.getAvgDistance(), avgProfit, 2, 2, 4); + score1 = scorer.getScore(scorer.getAvgDistance(), avgProfit*1.2, 8, 2, 4); + score2 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 8, 2, 4); + score3 = scorer.getScore(scorer.getAvgDistance(), avgProfit*1.4, 8, 2, 4); assertTrue(score > score1); assertTrue(score > score2); assertTrue(score < score3); - score = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 4, 2, 4); - score1 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()*1.8, 4, 4, 4); - score2 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit(), 4, 4, 4); - score3 = scorer.getScore(scorer.getAvgDistance(), scorer.getAvgProfit()*2.1, 4, 4, 4); + score = scorer.getScore(scorer.getAvgDistance(), avgProfit, 4, 2, 4); + score1 = scorer.getScore(scorer.getAvgDistance(), avgProfit*1.8, 4, 4, 4); + score2 = scorer.getScore(scorer.getAvgDistance(), avgProfit, 4, 4, 4); + score3 = scorer.getScore(scorer.getAvgDistance(), avgProfit*2.1, 4, 4, 4); assertTrue(score >= score1); assertTrue(score > score2); assertTrue(score < score3);