diff options
Diffstat (limited to 'src/test/java/net/glease/ggfab')
-rw-r--r-- | src/test/java/net/glease/ggfab/util/OverclockHelperTest.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/test/java/net/glease/ggfab/util/OverclockHelperTest.java b/src/test/java/net/glease/ggfab/util/OverclockHelperTest.java new file mode 100644 index 0000000000..da030dadc8 --- /dev/null +++ b/src/test/java/net/glease/ggfab/util/OverclockHelperTest.java @@ -0,0 +1,47 @@ +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; + +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)); + } +} |