View Javadoc

1   package com.atlassian.vcache.internal.core.service;
2   
3   import com.atlassian.vcache.JvmCache;
4   import com.atlassian.vcache.JvmCacheSettings;
5   import com.atlassian.vcache.internal.test.AbstractJvmCacheTest;
6   import org.junit.Test;
7   
8   import java.time.Duration;
9   
10  import static org.hamcrest.Matchers.is;
11  import static org.junit.Assert.assertThat;
12  
13  public class GuavaJvmCacheTest extends AbstractJvmCacheTest {
14      @Override
15      protected <K, V> JvmCache<K, V> createCache(String name, JvmCacheSettings settings, Duration lockTimeout) {
16          return new GuavaJvmCache<>(name, settings, lockTimeout);
17      }
18  
19      @Test
20      public void handle_recursion_supplier() {
21          final JvmCache<String, String> cache = createCache("abc");
22  
23          final String result = cache.get("first", () ->
24                  cache.get("first", () -> "stupid"));
25  
26          assertThat(result, is("stupid"));
27      }
28  }