aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/de/hysky/skyblocker/skyblock/HealthBarsTest.java
blob: 4b91f8db58f2d8b4384fa019ec260bec7455e15c (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
package de.hysky.skyblocker.skyblock;

import de.hysky.skyblocker.utils.Formatters;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import java.util.regex.Matcher;

public class HealthBarsTest {

	@Test
	void testHealthPatternNoAbbreviation() {
		Matcher match = HealthBars.HEALTH_PATTERN.matcher("Mob Name 99/100❤");
		Assertions.assertTrue(match.find());
		Assertions.assertEquals(99L, Formatters.parseNumber(match.group(1)));
		Assertions.assertEquals(100L, Formatters.parseNumber(match.group(4)));
	}

	@Test
	void testHealthPatternAbbreviation() {
		Matcher match = HealthBars.HEALTH_PATTERN.matcher("Mob Name 100K/3.1M❤");
		Assertions.assertTrue(match.find());
		Assertions.assertEquals(100_000L, Formatters.parseNumber(match.group(1)));
		Assertions.assertEquals(3_100_000L, Formatters.parseNumber(match.group(4)));
	}

	@Test
	void testHealthOnlyPatternNoAbbreviation() {
		Matcher match = HealthBars.HEALTH_ONLY_PATTERN.matcher("Mob Name 500❤");
		Assertions.assertTrue(match.find());
		Assertions.assertEquals(500L, Formatters.parseNumber(match.group(1)));
	}

	@Test
	void testHealthOnlyPatternAbbreviation() {
		Matcher match = HealthBars.HEALTH_ONLY_PATTERN.matcher("Mob Name 58M❤");
		Assertions.assertTrue(match.find());
		Assertions.assertEquals(58_000_000L, Formatters.parseNumber(match.group(1)));
	}
}