@Test
  public void testLRUCacheLoader() throws CacheException {
    region.getAttributesMutator().setCacheLoader(new CacheLoader() {
      @Override
      public Object load(LoaderHelper helper) throws CacheLoaderException {
        return "LOADED VALUE";
      }

      @Override
      public void close() {}

    });

    EvictionCounters lruStats = getLRUStats(region);

    IntStream.range(0, MAX_ENTRIES).forEach((i) -> region.put(i, "value"));
    assertEquals(MAX_ENTRIES, lruStats.getCounter());
    assertEquals(0, lruStats.getEvictions());

    IntStream.range(1, MAX_ENTRIES).forEach((i) -> region.put(i, "value"));

    region.put(MAX_ENTRIES, "value");

    assertEquals(MAX_ENTRIES, lruStats.getCounter());
    assertEquals(1, lruStats.getEvictions());

    region.get(MAX_ENTRIES + 1);
    assertEquals(MAX_ENTRIES, lruStats.getCounter());
    assertEquals(2, lruStats.getEvictions());
  }
Tests a disk-based region with an {@link CountLRUEviction} with size 1 and an eviction action
of "overflow".
geode-core/src/integrationTest/java/org/apache/geode/cache30/DiskRegionIntegrationTest.java