aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2025-02-14 21:12:32 -0500
committerGitHub <noreply@github.com>2025-02-15 10:12:32 +0800
commit285085d01f1fa5ffe55d88975f6155a486118aed (patch)
tree861e74f11277fa15d85e756ff6fd0749cbeeded2 /src/test/java
parent2270b4925aa1f7c4e64371c85e8354bb2f3fdb55 (diff)
downloadSkyblocker-285085d01f1fa5ffe55d88975f6155a486118aed.tar.gz
Skyblocker-285085d01f1fa5ffe55d88975f6155a486118aed.tar.bz2
Skyblocker-285085d01f1fa5ffe55d88975f6155a486118aed.zip
Formatters (#1151)
* Formatters * java yap --------- Co-authored-by: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/de/hysky/skyblocker/utils/FormattersTest.java61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/test/java/de/hysky/skyblocker/utils/FormattersTest.java b/src/test/java/de/hysky/skyblocker/utils/FormattersTest.java
new file mode 100644
index 00000000..a564eb06
--- /dev/null
+++ b/src/test/java/de/hysky/skyblocker/utils/FormattersTest.java
@@ -0,0 +1,61 @@
+package de.hysky.skyblocker.utils;
+
+import java.time.Instant;
+import java.util.TimeZone;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+public class FormattersTest {
+
+ @BeforeAll
+ public static void setupEnvironment() {
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+ }
+
+ @Test
+ void testIntegerNumbers() {
+ Assertions.assertEquals("100,000,000", Formatters.INTEGER_NUMBERS.format(100_000_000));
+ Assertions.assertEquals("99,999,999", Formatters.INTEGER_NUMBERS.format(99_999_999.4));
+ Assertions.assertEquals("88,888,888", Formatters.INTEGER_NUMBERS.format(88_888_888.5)); //Half even rounding
+ Assertions.assertEquals("77,777,777", Formatters.INTEGER_NUMBERS.format(77_777_776.7));
+ }
+
+ @Test
+ void testDoubleNumbers() {
+ Assertions.assertEquals("100,000,000.15", Formatters.DOUBLE_NUMBERS.format(100_000_000.152341));
+ Assertions.assertEquals("99,999,999.98", Formatters.DOUBLE_NUMBERS.format(99_999_999.978));
+ }
+
+ @Test
+ void testFloatNumbers() {
+ Assertions.assertEquals("100,000,000.8", Formatters.FLOAT_NUMBERS.format(100_000_000.7834));
+ Assertions.assertEquals("99,999,999.8", Formatters.FLOAT_NUMBERS.format(99_999_999.84243));
+ }
+
+ @Test
+ void testShortIntegerNumbers() {
+ Assertions.assertEquals("16B", Formatters.SHORT_INTEGER_NUMBERS.format(15_500_000_000L));
+ Assertions.assertEquals("10M", Formatters.SHORT_INTEGER_NUMBERS.format(10_200_000));
+ Assertions.assertEquals("5K", Formatters.SHORT_INTEGER_NUMBERS.format(5_000));
+ }
+
+ @Test
+ void testShortFloatNumbers() {
+ Assertions.assertEquals("14.5B", Formatters.SHORT_FLOAT_NUMBERS.format(14_500_000_000L));
+ Assertions.assertEquals("8.3M", Formatters.SHORT_FLOAT_NUMBERS.format(8_300_000));
+ Assertions.assertEquals("24.7K", Formatters.SHORT_FLOAT_NUMBERS.format(24_740));
+ }
+
+ @Test
+ void testDates() {
+ long Thu_Jan_30th_2025_at_4_10_00_PM = 1738253400000L;
+ long Fri_Jan_31st_2025_at_11_11_00_AM = 1738321860000L;
+ long Sat_Feb_1st_2025_at_12_00_01_AM = 1738368001000L;
+
+ Assertions.assertEquals("Thu Jan 30 2025 4:10:00 PM", Formatters.DATE_FORMATTER.format(Instant.ofEpochMilli(Thu_Jan_30th_2025_at_4_10_00_PM)));
+ Assertions.assertEquals("Fri Jan 31 2025 11:11:00 AM", Formatters.DATE_FORMATTER.format(Instant.ofEpochMilli(Fri_Jan_31st_2025_at_11_11_00_AM)));
+ Assertions.assertEquals("Sat Feb 1 2025 12:00:01 AM", Formatters.DATE_FORMATTER.format(Instant.ofEpochMilli(Sat_Feb_1st_2025_at_12_00_01_AM)));
+ }
+}