package edu.harvard.iq.dataverse.util;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author michael
*/
public class LruCacheTest {
LruCache<Long, String> sut;
public LruCacheTest() {
}
@BeforeClass
public static void setUpClass() {
}
@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
sut = new LruCache<>();
}
@After
public void tearDown() {
}
/**
* Test of get method, of class LruCache.
*/
@Test
public void testGetSet() {
sut.put(1l, "hello");
sut.put(2l, "world");
assertEquals("hello", sut.get(1l));
assertEquals("world", sut.get(2l));
}
/**
* Test of setMaxSize method, of class LruCache.
*/
@Test
public void testLRU() {
int maxSize = 10;
sut.setMaxSize(maxSize);
sut.put(0l, "x");
for ( long l=10; l<20; l++ ) {
sut.put(l, "filler" + l);
}
assertEquals(maxSize, sut.size());
assertNull( sut.get(0l) );
for ( long l=10; l<20; l++ ) {
assertEquals(sut.get(l), "filler" + l);
}
}
}