aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authornopo <nopotheemail@gmail.com>2023-03-12 11:00:47 +1100
committernopo <nopotheemail@gmail.com>2023-03-12 11:00:47 +1100
commit61dea4f655bdd6d938c890e09d76724fe32ef047 (patch)
tree4b8ddc4447cdf73ad8fa9d35415158dada877a84 /src/test
parent0960bc9aa9faeb558124ee62b1c1e65983bbff69 (diff)
parent193ba468e43bd4db5b5534d17472078708783349 (diff)
downloadNotEnoughUpdates-61dea4f655bdd6d938c890e09d76724fe32ef047.tar.gz
NotEnoughUpdates-61dea4f655bdd6d938c890e09d76724fe32ef047.tar.bz2
NotEnoughUpdates-61dea4f655bdd6d938c890e09d76724fe32ef047.zip
Merge branch 'master' into scrolling
Diffstat (limited to 'src/test')
-rw-r--r--src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt49
-rw-r--r--src/test/kotlin/io/github/moulberry/notenoughupdates/util/SkyBlockTimeTest.kt66
2 files changed, 115 insertions, 0 deletions
diff --git a/src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt b/src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt
new file mode 100644
index 00000000..6d4270dd
--- /dev/null
+++ b/src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2023 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package io.github.moulberry.notenoughupdates.util
+
+import org.junit.jupiter.api.Assertions.assertFalse
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertThrows
+
+class RectangleTest {
+
+ @Test
+ fun testNoNegativeSizes() {
+ assertThrows<IllegalArgumentException> {
+ Rectangle(0, 0, -1, 0)
+ }
+ assertThrows<IllegalArgumentException> {
+ Rectangle(0, 0, 0, -1)
+ }
+ }
+
+ @Test
+ fun testOverlaps() {
+ val topLeft = Rectangle(0, 0, 10, 10)
+ assertTrue(topLeft.intersects(topLeft))
+ assertTrue(topLeft.intersects(Rectangle(9, 2, 1, 1)))
+ assertTrue(topLeft.intersects(Rectangle(-2, -2, 4, 4)))
+ assertTrue(topLeft.intersects(Rectangle(4, 4, 1, 1)))
+ assertFalse(topLeft.intersects(Rectangle(-2,-2, 1,1)))
+ assertFalse(topLeft.intersects(Rectangle(-2,-2, 2,2)))
+ }
+}
diff --git a/src/test/kotlin/io/github/moulberry/notenoughupdates/util/SkyBlockTimeTest.kt b/src/test/kotlin/io/github/moulberry/notenoughupdates/util/SkyBlockTimeTest.kt
new file mode 100644
index 00000000..8d762460
--- /dev/null
+++ b/src/test/kotlin/io/github/moulberry/notenoughupdates/util/SkyBlockTimeTest.kt
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2023 NotEnoughUpdates contributors
+ *
+ * This file is part of NotEnoughUpdates.
+ *
+ * NotEnoughUpdates is free software: you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * NotEnoughUpdates is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with NotEnoughUpdates. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package io.github.moulberry.notenoughupdates.util
+
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Test
+import java.time.Instant
+
+class SkyBlockTimeTest {
+ @Test
+ fun someRandomTimestamp() {
+ val sbt = SkyBlockTime.fromInstant(Instant.ofEpochSecond(1676236163L))
+ assertEquals(SkyBlockTime(260, 10, 7, 17, 15, 38), sbt)
+ assertEquals("Early Winter", sbt.monthName)
+ }
+
+ @Test
+ fun isReversibleEquivalent() {
+ val ts = 167623132230L
+ val someTimeStamp = Instant.ofEpochSecond(ts)
+ assertEquals(someTimeStamp.toEpochMilli(), SkyBlockTime.fromInstant(someTimeStamp).toMillis())
+ }
+
+ @Test
+ fun monthNames() {
+ assertEquals(
+ listOf(
+ "Early Spring",
+ "Spring",
+ "Late Spring",
+ "Early Summer",
+ "Summer",
+ "Late Summer",
+ "Early Autumn",
+ "Autumn",
+ "Late Autumn",
+ "Early Winter",
+ "Winter",
+ "Late Winter"
+ ), (1..12).map { SkyBlockTime.monthName(it) })
+ }
+
+ @Test
+ fun theOriginOfTime() {
+ assertEquals(SkyBlockTime(year = 0), SkyBlockTime.fromInstant(Instant.ofEpochMilli(1559829300000L)))
+ }
+
+
+}