aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java
diff options
context:
space:
mode:
authoriamblackornot <nkzshinnik@gmail.com>2023-10-07 10:02:28 +0300
committerGitHub <noreply@github.com>2023-10-07 09:02:28 +0200
commit312f902598dcc8cb3422df0ac997e78fb073f3bb (patch)
tree5e76100a5d9e6c6aa31d237348f230504ff2a7cc /src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java
parent7feb23037362ffcf07ab3e58ff818aa79e448ec4 (diff)
downloadGT5-Unofficial-312f902598dcc8cb3422df0ac997e78fb073f3bb.tar.gz
GT5-Unofficial-312f902598dcc8cb3422df0ac997e78fb073f3bb.tar.bz2
GT5-Unofficial-312f902598dcc8cb3422df0ac997e78fb073f3bb.zip
- fixes https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/14559 (#2325)
- had to change 2 unit test to address the mentioned above OC calculation fix Co-authored-by: iamblackornot <nkzshinnnik@gmail.com>
Diffstat (limited to 'src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java')
-rw-r--r--src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java
index d9343a9273..7aab323d7e 100644
--- a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java
+++ b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java
@@ -301,7 +301,21 @@ class GT_OverclockCalculator_UnitTest {
.setOneTickDiscount(true)
.calculate();
assertEquals(1, calculator.getDuration(), messageDuration);
- assertEquals(480 >> 3, calculator.getConsumption(), messageEUt);
+
+ /**
+ * duration with speedboost = 5
+ * log_2(5) ~ 2.3;
+ * round up to 3 to reach one tick duration
+ */
+ int overclocksTillOneTick = 3;
+ int overclocksBeyondOneTick = 2;
+
+ // 3 overclocks, each gives 4x consumption growth per tick (1920)
+ long targetEUt = VP[1] << 2 * overclocksTillOneTick;
+ // 2 remaining overclocks are beyond 1 tick, each provides 2x comsumption discount (480)
+ targetEUt >>= overclocksBeyondOneTick;
+
+ assertEquals(targetEUt, calculator.getConsumption(), messageEUt);
}
@Test
@@ -313,8 +327,22 @@ class GT_OverclockCalculator_UnitTest {
.enablePerfectOC()
.setOneTickDiscount(true)
.calculate();
+
+ /**
+ * duration with speedboost = 18
+ * log_4(18) ~ 2.08;
+ * round up to 3 to reach one tick duration
+ */
+ int overclocksTillOneTick = 3;
+ int overclocksBeyondOneTick = 2;
+
+ // 3 overclocks, each gives 4x consumption growth per tick (1920)
+ long targetEUt = VP[1] << 2 * overclocksTillOneTick;
+ // 2 remaining overclocks are beyond 1 tick, each provides 4x comsumption discount (120)
+ targetEUt >>= 2 * overclocksBeyondOneTick;
+
+ assertEquals(targetEUt, calculator.getConsumption(), messageEUt);
assertEquals(1, calculator.getDuration(), messageDuration);
- assertEquals(480 >> 6, calculator.getConsumption(), messageEUt);
}
@Test