From cf3f08e4fd340ab331a4b61c1159fb527027ade7 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Wed, 22 Feb 2023 18:33:20 +0100 Subject: Added Sky Mall to Dwarven Overlay (#604) * Added Sky Mall to Dwarven Overlay. * Made SkyBlockTime a data object. * Added color to names and display item per different perk variant. * Added daySuffix support for days greater 10. * Data classes have a copy method already. * Green color does not work. * Fixed a bug in monthName. * Add Unit Tests and make use of Instant * Fixed Sky Mall overlay showing in crystal hollows. * 11st 12nd 13rd --------- Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Co-authored-by: nea Co-authored-by: nopo --- .../notenoughupdates/util/SkyBlockTimeTest.kt | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/test/kotlin/io/github/moulberry/notenoughupdates/util/SkyBlockTimeTest.kt (limited to 'src/test') 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 . + */ + +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))) + } + + +} -- cgit