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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
package me.xmrvizzy.skyblocker.skyblock;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class StatusBarTrackerTest {
private StatusBarTracker tracker;
@BeforeEach
void setUp() {
tracker = new StatusBarTracker();
}
void assertStats(int hp, int maxHp, int def, int mana, int maxMana, int overflowMana) {
int absorption = 0;
if(hp > maxHp) {
absorption = hp - maxHp;
hp -= absorption;
if(absorption > maxHp)
absorption = maxHp;
}
assertEquals(new StatusBarTracker.Resource(hp, maxHp, absorption), tracker.getHealth());
assertEquals(new StatusBarTracker.Resource(mana, maxMana, overflowMana), tracker.getMana());
}
@Test
void normalStatusBar() {
String res = tracker.update("§c934/1086❤ §a159§a❈ Defense §b562/516✎ Mana", false);
assertNull(res);
assertStats(934, 1086, 159, 562, 516, 0);
}
@Test
void overflowMana() {
String res = tracker.update("§61605/1305❤ §a270§a❈ Defense §b548/548✎ §3200ʬ", false);
assertNull(res);
assertStats(1605, 1305, 270, 548, 548, 200);
}
@Test
void regeneration() {
String res = tracker.update("§c2484/2484❤+§c120▄ §a642§a❈ Defense §b2557/2611✎ Mana", false);
assertEquals("§c❤+§c120▄", res);
}
@Test
void instantTransmission() {
String actionBar = "§c2259/2259❤ §b-20 Mana (§6Instant Transmission§b) §b549/2676✎ Mana";
assertEquals("§b-20 Mana (§6Instant Transmission§b)", tracker.update(actionBar, false));
assertNull(tracker.update(actionBar, true));
}
@Test
void rapidFire() {
String actionBar = "§c2509/2509❤ §b-48 Mana (§6Rapid-fire§b) §b2739/2811✎ Mana";
assertEquals("§b-48 Mana (§6Rapid-fire§b)", tracker.update(actionBar, false));
assertNull(tracker.update(actionBar, true));
}
@Test
void zombieSword() {
String actionBar = "§c2509/2509❤ §b-56 Mana (§6Instant Heal§b) §b2674/2821✎ Mana §e§lⓩⓩⓩⓩ§6§lⓄ";
assertEquals("§b-56 Mana (§6Instant Heal§b) §e§lⓩⓩⓩⓩ§6§lⓄ", tracker.update(actionBar, false));
assertEquals("§e§lⓩⓩⓩⓩ§6§lⓄ", tracker.update(actionBar, true));
}
@Test
void campfire() {
String res = tracker.update("§c17070/25565❤+§c170▃ §65,625 DPS §c1 second §b590/626✎ §3106ʬ", false);
assertEquals("§c❤+§c170▃ §65,625 DPS §c1 second", res);
}
}
|