From 686fa41b4923a7f40858ba6dd55ecdb01c3f0ca6 Mon Sep 17 00:00:00 2001 From: BlueWeabo Date: Mon, 26 Feb 2024 14:30:39 +0200 Subject: Make some changes to OC Calculator to add functionality to be used by God Forge (#2508) * make the overclock calculator capable of weirder overclocks for god forge * add tests for such cases * fix documentation of some methods and variables * deprecate methods and fix most of the indenting * use javadoc deprecation too --- .../overclock/GT_OverclockCalculator_UnitTest.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/test/java/gregtech') diff --git a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java index cc1216c2ec..ba6769d3d6 100644 --- a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java +++ b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java @@ -559,4 +559,28 @@ class GT_OverclockCalculator_UnitTest { .setAmperageOC(false); assertEquals(TierEU.LuV * 64, calculator.calculateEUtConsumptionUnderOneTick(64, 64), messageEUt); } + + @Test + void overclockWithAbnormalEnergyIncrease_Test() { + long expectedEUt = (long) Math.floor(VP[1] * Math.pow(4.1, 5)); + GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(VP[1]) + .setEUt(V[6]) + .setDuration(1024) + .setEUtIncreasePerOC(4.1) + .calculate(); + assertEquals(1024 >> 5, calculator.getDuration(), messageDuration); + assertEquals(expectedEUt, calculator.getConsumption(), messageEUt); + } + + @Test + void overclockWithAbnormalDurationDecrease_Test() { + int expectedDuration = (int) Math.floor(1024 / Math.pow(2.1, 5)); + GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(VP[1]) + .setEUt(V[6]) + .setDuration(1024) + .setDurationDecreasePerOC(2.1) + .calculate(); + assertEquals(expectedDuration, calculator.getDuration(), messageDuration); + assertEquals(VP[6], calculator.getConsumption(), messageEUt); + } } -- cgit