From fb8401a6c1f5e83817fe6fed332f6d652e1a2a07 Mon Sep 17 00:00:00 2001 From: HoleFish <48403212+HoleFish@users.noreply.github.com> Date: Fri, 6 Sep 2024 04:22:57 +0800 Subject: Enhance GPL for several multis (#3071) Co-authored-by: Martin Robertz --- .../overclock/GT_OverclockCalculator_UnitTest.java | 21 +++++++++- .../net/glease/ggfab/util/OverclockHelperTest.java | 49 ---------------------- 2 files changed, 20 insertions(+), 50 deletions(-) delete mode 100644 src/test/java/net/glease/ggfab/util/OverclockHelperTest.java (limited to 'src/test/java') diff --git a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java index d6bbea4308..eb858de667 100644 --- a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java +++ b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java @@ -649,12 +649,31 @@ class GT_OverclockCalculator_UnitTest { assertEquals(Math.pow(2, 10) / 64, (int) (1 / calculator.calculateDurationUnderOneTick())); - calculator.calculate(); + calculator.setCurrentParallel((int) (1 / calculator.calculateDurationUnderOneTick())) + .calculate(); assertEquals(5 + 5, calculator.getPerformedOverclocks()); assertEquals((int) (VP[1] * Math.pow(4, 5) * 4.3 * 4.6 * 4.9 * 5.2 * 5.5), calculator.getConsumption()); } + @Test + void stopsCorrectlyWhenOneTickingWithCustomEutIncreasePerOCSupplier() { + Function laserOC = overclockCount -> overclockCount <= 5 ? 4 + : (4 + 0.3 * (overclockCount - 5)); + OverclockCalculator calculator = new OverclockCalculator().setRecipeEUt(VP[1]) + .setEUt(V[6]) + .setAmperageOC(true) + .setAmperage(4000) + .setDuration(64) + .setEutIncreasePerOCSupplier(laserOC); + + calculator.setCurrentParallel(1) + .calculate(); + + assertEquals(6, calculator.getPerformedOverclocks()); + assertEquals((int) (VP[1] * Math.pow(4, 5) * 4.3), calculator.getConsumption()); + } + @Test void slightlyOverOneAmpRecipeWorksWithSingleEnergyHatch() { OverclockCalculator calculator = new OverclockCalculator().setRecipeEUt(614400) diff --git a/src/test/java/net/glease/ggfab/util/OverclockHelperTest.java b/src/test/java/net/glease/ggfab/util/OverclockHelperTest.java deleted file mode 100644 index 6e078fd002..0000000000 --- a/src/test/java/net/glease/ggfab/util/OverclockHelperTest.java +++ /dev/null @@ -1,49 +0,0 @@ -package net.glease.ggfab.util; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; - -import org.junit.jupiter.api.Test; - -import ggfab.util.OverclockHelper; - -class OverclockHelperTest { - - @Test - void normalOverclockImperfect() { - // fails recipe - assertNull(OverclockHelper.normalOverclock(10000, 10000, 1, false)); - // no overclock - assertEquals(new OverclockHelper.OverclockOutput(30, 64), OverclockHelper.normalOverclock(30, 64, 32, false)); - // imperfect overclock - assertEquals(new OverclockHelper.OverclockOutput(120, 32), OverclockHelper.normalOverclock(30, 64, 128, false)); - // lots of overclock - assertEquals( - new OverclockHelper.OverclockOutput(30720, 2), - OverclockHelper.normalOverclock(30, 64, 32768, false)); - // do not overclock beyond useful - assertEquals( - new OverclockHelper.OverclockOutput(122880, 1), - OverclockHelper.normalOverclock(30, 64, 524288, false)); - } - - @Test - void laserOverclock() { - // fails recipe - assertNull(OverclockHelper.laserOverclock(10000, 10000, 1, 5)); - // no overclock - assertEquals(new OverclockHelper.OverclockOutput(30, 64), OverclockHelper.laserOverclock(30, 64, 32, 0.5f)); - // 0.3 amp overclock. 0.25 amp would be not in current tier so no point in testing that - assertEquals(new OverclockHelper.OverclockOutput(10, 64), OverclockHelper.laserOverclock(10, 64, 32, 0.5f)); - // laser overclock - assertEquals( - new OverclockHelper.OverclockOutput(135, 32), - OverclockHelper.laserOverclock(30, 64, 32 * 16, 0.5f)); - // lots of overclock - assertEquals( - new OverclockHelper.OverclockOutput(22272, 4), - OverclockHelper.laserOverclock(30, 64, 32 * 1024, 0.5f)); - // do not overclock beyond useful - assertEquals(new OverclockHelper.OverclockOutput(135, 1), OverclockHelper.laserOverclock(30, 2, 32 * 16, 0.5f)); - } -} -- cgit