From fb8ff7c903da0ef48073a4ace10a673f4a1ceed9 Mon Sep 17 00:00:00 2001 From: BlueWeabo <76872108+BlueWeabo@users.noreply.github.com> Date: Wed, 25 Jan 2023 20:27:59 +0200 Subject: Fixes OC Calculation not accounting eut discount for low eut recipes (#1685) * fix * typo fixes Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * fixTyposInParallelHelper * sa Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Martin Robertz --- .../overclock/GT_OverclockCalculator_UnitTest.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java') diff --git a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java index 91be53cf3f..cc641f96e5 100644 --- a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java +++ b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java @@ -331,4 +331,31 @@ class GT_OverclockCalculator_UnitTest { assertEquals(1, calculator.getDuration(), messageDuration); assertEquals(480 >> 6, calculator.getConsumption(), messageEUt); } + + @Test + void ulvRecipeWithDiscount_Test() { + long correctConsumption = (long) Math.ceil((VP[0] << 10) * 0.9f); + GT_OverclockCalculator calculator = new GT_OverclockCalculator() + .setRecipeEUt(VP[0]) + .setEUt(V[6]) + .setEUtDiscount(0.9f) + .setDuration(1024) + .calculate(); + assertEquals(1024 >> 5, calculator.getDuration(), messageDuration); + assertEquals(correctConsumption, calculator.getConsumption(), messageEUt); + } + + @Test + void ulvRecipeWithDiscountWithParallel_Test() { + long correctConsumption = (long) Math.ceil((VP[0] << 6) * 14 * 0.9f); + GT_OverclockCalculator calculator = new GT_OverclockCalculator() + .setRecipeEUt(VP[0]) + .setEUt(V[5]) + .setEUtDiscount(0.9f) + .setParallel(14) + .setDuration(1024) + .calculate(); + assertEquals(1024 >> 3, calculator.getDuration(), messageDuration); + assertEquals(correctConsumption, calculator.getConsumption(), messageEUt); + } } -- cgit