diff options
Diffstat (limited to 'src/functionalTest/java/kubatech/test/EIGTests.java')
-rw-r--r-- | src/functionalTest/java/kubatech/test/EIGTests.java | 20 |
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)); + } } } |