001package org.gbif.api.vocabulary;
002
003import org.junit.jupiter.api.Assertions;
004import org.junit.jupiter.api.Test;
005
006public class DurationUnitTest {
007
008  @Test
009  public void parseDurationTest() {
010    assertDuration(DurationUnit.Duration.parse("1h").get(), 1, DurationUnit.HOURS);
011    assertDuration(DurationUnit.Duration.parse("1hour").get(), 1, DurationUnit.HOURS);
012    assertDuration(DurationUnit.Duration.parse("1   hours").get(), 1, DurationUnit.HOURS);
013    assertDuration(DurationUnit.Duration.parse("1.5 hour").get(), 1.5, DurationUnit.HOURS);
014    assertDuration(DurationUnit.Duration.parse(".5 hour").get(), 0.5, DurationUnit.HOURS);
015    assertDuration(DurationUnit.Duration.parse("5").get(), 5, DurationUnit.MINUTES);
016
017    Assertions.assertEquals(60, DurationUnit.Duration.parse("1h").get().toMinutes());
018  }
019
020  private void assertDuration(DurationUnit.Duration duration, double value, DurationUnit unit) {
021    Assertions.assertEquals(value, duration.getValue());
022    Assertions.assertEquals(unit, duration.getUnit());
023  }
024}