From 90c63199c2bf4078f9e006d6f09424aa692325dd Mon Sep 17 00:00:00 2001 From: Arnaud LABOUREL <arnaud.labourel@lis-lab.fr> Date: Mon, 6 Jan 2025 15:38:34 +0100 Subject: [PATCH] added test for DurationGenerator --- .../client/util/DurationGeneratorTest.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/test/java/fr/univ_amu/m1info/client/util/DurationGeneratorTest.java diff --git a/src/test/java/fr/univ_amu/m1info/client/util/DurationGeneratorTest.java b/src/test/java/fr/univ_amu/m1info/client/util/DurationGeneratorTest.java new file mode 100644 index 0000000..8893a1c --- /dev/null +++ b/src/test/java/fr/univ_amu/m1info/client/util/DurationGeneratorTest.java @@ -0,0 +1,51 @@ +package fr.univ_amu.m1info.client.util; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.Iterator; + +import static org.assertj.core.api.Assertions.*; + +class DurationGeneratorTest { + private static final Duration TEN_HOURS = Duration.ofHours(10); + private static final Duration FOUR_HOURS = Duration.ofHours(4); + private static final Duration ONE_HOUR = Duration.ofHours(1); + private static final Duration ONE_QUARTER = Duration.ofMinutes(15); + + private DurationGenerator hoursUptoTenHours; + private DurationGenerator quartersUptoFourHours; + + @BeforeEach + void setUp() { + hoursUptoTenHours = new DurationGenerator(ONE_HOUR, TEN_HOURS); + quartersUptoFourHours = new DurationGenerator(ONE_QUARTER, FOUR_HOURS); + } + + + @Test + void iterator() { + Iterator<Duration> iterator = hoursUptoTenHours.iterator(); + for(int i = 1; i <= 10; i++){ + assertThat(iterator.hasNext()).isTrue(); + assertThat(iterator.next()).isEqualTo(Duration.ofHours(i)); + } + } + + @Test + void getDurations() { + assertThat(hoursUptoTenHours.getDurations()).contains(ONE_HOUR, FOUR_HOURS); + assertThat(quartersUptoFourHours.getDurations()) + .contains(ONE_QUARTER, ONE_QUARTER.multipliedBy(3), FOUR_HOURS); + } + + @Test + void getDurationIndex() { + assertThat(hoursUptoTenHours.getDurationIndex(ONE_HOUR)).isEqualTo(0); + assertThat(hoursUptoTenHours.getDurationIndex(FOUR_HOURS)).isEqualTo(3); + assertThat(hoursUptoTenHours.getDurationIndex(ONE_QUARTER)).isEqualTo(-1); + assertThat(quartersUptoFourHours.getDurationIndex(ONE_QUARTER)).isEqualTo(0); + assertThat(quartersUptoFourHours.getDurationIndex(ONE_HOUR)).isEqualTo(3); + } +} \ No newline at end of file -- GitLab