package com.supaham.commons;
import static com.supaham.commons.utils.DurationUtils.parseDuration;
import com.supaham.commons.utils.DurationUtils;
import org.junit.Assert;
import org.junit.Test;
import java.time.Duration;
/**
* Created by Ali on 09/02/2015.
*/
public class DurationUtilsTest {
@Test
public void testParse() throws Exception {
Duration duration = parseDuration("1h");
Assert.assertEquals(3600, duration.getSeconds());
Duration negativeDuration = parseDuration("-1h");
Assert.assertEquals(-3600, negativeDuration.getSeconds());
}
@Test
public void testToString() throws Exception {
Assert.assertEquals("1h", DurationUtils.toString(Duration.ofSeconds(3600), true));
Assert.assertEquals("1 hour", DurationUtils.toString(Duration.ofSeconds(3600), false));
Assert.assertEquals("-1h", DurationUtils.toString(Duration.ofSeconds(-3600), true));
Assert.assertEquals("-1 hour", DurationUtils.toString(Duration.ofSeconds(-3600), false));
}
@Test
public void testRandomDuration() throws Exception {
Duration d1 = Duration.ofMillis(0);
Duration d2 = Duration.ofMillis(1000);
for (int i = 0; i < 10000; i++) {
Duration randomDuration = DurationUtils.randomDuration(d1, d2);
Assert.assertTrue(randomDuration.toMillis() >= d1.toMillis()
&& randomDuration.toMillis() <= d2.toMillis());
}
}
}