aboutsummaryrefslogtreecommitdiff
path: root/src/functionalTest/java/kubatech/test/EIGTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/functionalTest/java/kubatech/test/EIGTests.java')
-rw-r--r--src/functionalTest/java/kubatech/test/EIGTests.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/functionalTest/java/kubatech/test/EIGTests.java b/src/functionalTest/java/kubatech/test/EIGTests.java
index 7ff95b168f..14cb713484 100644
--- a/src/functionalTest/java/kubatech/test/EIGTests.java
+++ b/src/functionalTest/java/kubatech/test/EIGTests.java
@@ -24,7 +24,6 @@ import static gregtech.api.util.GTRecipeBuilder.HOURS;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
-import java.util.Map;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
@@ -46,6 +45,8 @@ import net.minecraft.world.storage.ISaveHandler;
import net.minecraft.world.storage.WorldInfo;
import net.minecraftforge.common.DimensionManager;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.junit.jupiter.api.Test;
import gregtech.api.GregTechAPI;
@@ -56,6 +57,7 @@ import ic2.api.crops.Crops;
import ic2.core.Ic2Items;
import ic2.core.crop.TileEntityCrop;
import ic2.core.item.ItemCropSeed;
+import kubatech.Tags;
import kubatech.api.eig.EIGDropTable;
import kubatech.tileentity.gregtech.multiblock.MTEExtremeIndustrialGreenhouse;
import kubatech.tileentity.gregtech.multiblock.eigbuckets.EIGIC2Bucket;
@@ -66,6 +68,8 @@ public class EIGTests {
private static final int EIG_SIMULATION_TIME = 24 * HOURS;
private static final int NUMBER_OF_TESTS_TO_DO = 1000;
+ private static final Logger LOG = LogManager.getLogger(Tags.MODID);
+
static World myWorld;
public EIGTests() {
@@ -252,14 +256,17 @@ public class EIGTests {
if (stackToTest == null) {
stackToTest = expected.entrySet()
.stream()
- .max(Map.Entry.comparingByValue())
+ .filter(
+ x -> x.getKey()
+ .isItemEqual(Ic2Items.resin))
+ .findFirst()
.get()
.getKey();
}
realAvg += expected.getItemAmount(stackToTest);
// EIG with ic2 crops doesn't actually have variance, it uses very precise approximations that create
- // accurate growth rate and drop quality approximations.
+ // accurate growth rate and drop quantity approximations.
eigAvg += generated.getItemAmount(stackToTest);
}
realAvg /= NUMBER_OF_TESTS_TO_DO;
@@ -270,7 +277,12 @@ public class EIGTests {
System.out.println(debugInfo);
// We aim for about 99% accuracy over here.
- assertTrue(accuracy >= 0.99d);
+ if (accuracy < 0.99d) {
+ LOG.warn(String.format("accuracy check failed! %.5f running secondary check", accuracy));
+ assertTrue(
+ eigAvg >= 1049.81851 - 0.00001 && eigAvg <= 1049.81851 + 0.00001,
+ String.format("secondary check failed, expected 1049.81851 +- 0.00001 got %.5f", eigAvg));
+ }
}
}