1 package com.atlassian.vcache.internal.core;
2
3 import org.junit.Test;
4
5 import java.time.Duration;
6
7 import static com.atlassian.vcache.internal.core.VCacheCoreUtils.roundUpToSeconds;
8 import static org.hamcrest.Matchers.is;
9 import static org.junit.Assert.assertThat;
10
11 public class VCacheCoreUtilsTest {
12
13 @Test
14 public void roundUpToSeconds_only_seconds() throws Exception {
15 assertThat(roundUpToSeconds(Duration.ofSeconds(1)), is(1));
16 }
17
18 @Test
19 public void roundUpToSeconds_only_nanos() throws Exception {
20 assertThat(roundUpToSeconds(Duration.ofNanos(1)), is(1));
21 }
22
23 @Test
24 public void roundUpToSeconds_zero() throws Exception {
25 assertThat(roundUpToSeconds(Duration.ofSeconds(0)), is(0));
26 }
27
28 @Test
29 public void roundUpToSeconds_seconds_and_nanos() throws Exception {
30 assertThat(roundUpToSeconds(Duration.ofSeconds(1, 400)), is(2));
31 }
32
33 @Test(expected = IllegalArgumentException.class)
34 public void roundUpToSeconds_exceed_int_max() throws Exception {
35 roundUpToSeconds(Duration.ofSeconds(Integer.MAX_VALUE, 400));
36 }
37
38 @Test(expected = IllegalArgumentException.class)
39 public void roundUpToSeconds_negative() throws Exception {
40 roundUpToSeconds(Duration.ofSeconds(-1));
41 }
42 }