1 package com.atlassian.vcache;
2
3 import org.junit.Test;
4
5 import static java.time.Duration.ofSeconds;
6 import static org.hamcrest.Matchers.is;
7 import static org.hamcrest.Matchers.notNullValue;
8 import static org.junit.Assert.assertThat;
9
10 public class JvmCacheSettingsTest {
11 private static final JvmCacheSettings settings1 = new JvmCacheSettingsBuilder().maxEntries(1).defaultTtl(ofSeconds(1)).build();
12 private static final JvmCacheSettings settings2 = new JvmCacheSettingsBuilder().maxEntries(2).defaultTtl(ofSeconds(2)).build();
13 private static final JvmCacheSettings settingsEmpty = new JvmCacheSettingsBuilder().build();
14
15 @Test
16 public void testOverride1With2() {
17 final JvmCacheSettings overridden = settings1.override(settings2);
18
19 assertThat(overridden, notNullValue());
20 assertThat(overridden.getDefaultTtl(), is(settings2.getDefaultTtl()));
21 assertThat(overridden.getMaxEntries(), is(settings2.getMaxEntries()));
22 }
23
24 @Test
25 public void testOverride2With1() {
26 final JvmCacheSettings overridden = settings2.override(settings1);
27
28 assertThat(overridden, notNullValue());
29 assertThat(overridden.getDefaultTtl(), is(settings1.getDefaultTtl()));
30 assertThat(overridden.getMaxEntries(), is(settings1.getMaxEntries()));
31 }
32
33 @Test
34 public void testOverrideEmptyWith1() {
35 final JvmCacheSettings overridden = settingsEmpty.override(settings1);
36
37 assertThat(overridden, notNullValue());
38 assertThat(overridden.getDefaultTtl(), is(settings1.getDefaultTtl()));
39 assertThat(overridden.getMaxEntries(), is(settings1.getMaxEntries()));
40 }
41
42 @Test
43 public void testOverride2WithEmpty() {
44 final JvmCacheSettings overridden = settings2.override(settingsEmpty);
45
46 assertThat(overridden, notNullValue());
47 assertThat(overridden.getDefaultTtl(), is(settings2.getDefaultTtl()));
48 assertThat(overridden.getMaxEntries(), is(settings2.getMaxEntries()));
49 }
50 }