diff options
author | nopo <nopotheemail@gmail.com> | 2023-03-12 11:00:47 +1100 |
---|---|---|
committer | nopo <nopotheemail@gmail.com> | 2023-03-12 11:00:47 +1100 |
commit | 61dea4f655bdd6d938c890e09d76724fe32ef047 (patch) | |
tree | 4b8ddc4447cdf73ad8fa9d35415158dada877a84 /src/test | |
parent | 0960bc9aa9faeb558124ee62b1c1e65983bbff69 (diff) | |
parent | 193ba468e43bd4db5b5534d17472078708783349 (diff) | |
download | NotEnoughUpdates-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.kt | 49 | ||||
-rw-r--r-- | src/test/kotlin/io/github/moulberry/notenoughupdates/util/SkyBlockTimeTest.kt | 66 |
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))) + } + + +} |