aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/net/glease/ggfab/util/OverclockHelperTest.java
blob: da030dadc80c29bb31db72620f1721b3aaf7b12a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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));
    }
}