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