diff --git a/src/test/java/org/cardanofoundation/conversions/converters/TimeConversionsMainNetTest.java b/src/test/java/org/cardanofoundation/conversions/converters/TimeConversionsMainNetTest.java index 5901c4d..089ba8d 100644 --- a/src/test/java/org/cardanofoundation/conversions/converters/TimeConversionsMainNetTest.java +++ b/src/test/java/org/cardanofoundation/conversions/converters/TimeConversionsMainNetTest.java @@ -2,10 +2,11 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.cardanofoundation.conversions.domain.NetworkType.MAINNET; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.time.LocalDateTime; +import org.cardanofoundation.conversions.CardanoConverters; import org.cardanofoundation.conversions.ClasspathConversionsFactory; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; @@ -14,10 +15,11 @@ class TimeConversionsMainNetTest { private static TimeConversions timeConversions; + private CardanoConverters converters; @BeforeEach public void setup() { - var converters = ClasspathConversionsFactory.createConverters(MAINNET); + converters = ClasspathConversionsFactory.createConverters(MAINNET); timeConversions = converters.time(); } @@ -57,9 +59,25 @@ public void testBabbageEra1() { .isEqualTo(450); } + @Test + public void testOldDate() { + IllegalArgumentException thrownException = + assertThrows( + IllegalArgumentException.class, + () -> { + timeConversions.toSlot(LocalDateTime.of(1979, 10, 3, 21, 44, 11)); + }); + } + + @Test + public void testShelleyTime() { + assertThat(timeConversions.toSlot(converters.genesisConfig().getShelleyStartTime())) + .isEqualTo(4492800L); + } + @Test public void dateTimeToSlotBeforeBlockchainStartThrowsError() { - Assertions.assertThrows( + assertThrows( IllegalArgumentException.class, () -> timeConversions.toSlot(LocalDateTime.of(2015, 10, 3, 21, 44, 11))); } @@ -71,7 +89,7 @@ public void dateTimeToSlotBeforeBlockchainStartThrowsError() { "2020-07-29T21:44:31,4492799", // Last Byron "2020-07-29T21:44:51,4492800", // First Shelley }) - public void slotToEpoch(String dateTime, long epoch) { - assertThat(timeConversions.toSlot(LocalDateTime.parse(dateTime))).isEqualTo(epoch); + public void dateToSlot(String dateTime, long absoluteSlot) { + assertThat(timeConversions.toSlot(LocalDateTime.parse(dateTime))).isEqualTo(absoluteSlot); } } diff --git a/src/test/java/org/cardanofoundation/conversions/converters/TimeConversionsPreProdTest.java b/src/test/java/org/cardanofoundation/conversions/converters/TimeConversionsPreProdTest.java index ae276d9..f5061ec 100644 --- a/src/test/java/org/cardanofoundation/conversions/converters/TimeConversionsPreProdTest.java +++ b/src/test/java/org/cardanofoundation/conversions/converters/TimeConversionsPreProdTest.java @@ -7,6 +7,8 @@ import org.cardanofoundation.conversions.ClasspathConversionsFactory; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; class TimeConversionsPreProdTest { @@ -29,4 +31,12 @@ public void testBabbageEra2() { assertThat(timeConversions.utcTimeToEpochNo(LocalDateTime.of(2023, 11, 23, 12, 48, 58))) .isEqualTo(108); } + + @ParameterizedTest + @CsvSource({ + "2024-11-29T15:51:43,77208703" // https://preprod.cardanoscan.io/transaction/1188eb4283ae74e4e62d99ec201cb15ee916d4edb2b70fc8de3cb2824ea461b7 + }) + public void dateToSlot(String dateTime, long absoluteSlot) { + assertThat(timeConversions.toSlot(LocalDateTime.parse(dateTime))).isEqualTo(absoluteSlot); + } }