aboutsummaryrefslogtreecommitdiff
path: root/src/test/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/kotlin')
-rw-r--r--src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt49
1 files changed, 49 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)))
+ }
+}