package org.mockserver.collections;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.*;
/**
* @author jamesdbloom
*/
public class CircularHashMapTest {
@Test
public void shouldNotContainMoreThenMaximumNumberOfEntries() {
// given
CircularHashMap<String, String> circularHashMap = new CircularHashMap<String, String>(3);
// when
circularHashMap.put("1", "1");
circularHashMap.put("2", "2");
circularHashMap.put("3", "3");
circularHashMap.put("4", "4");
// then
assertEquals(3, circularHashMap.size());
assertFalse(circularHashMap.containsKey("1"));
assertTrue(circularHashMap.containsKey("2"));
assertTrue(circularHashMap.containsKey("3"));
assertTrue(circularHashMap.containsKey("4"));
}
@Test
public void shouldFindKeyByObject() {
// given
CircularHashMap<String, String> circularHashMap = new CircularHashMap<String, String>(5);
// when
circularHashMap.put("0", "a");
circularHashMap.put("1", "b");
circularHashMap.put("2", "c");
circularHashMap.put("3", "d");
circularHashMap.put("4", "d");
circularHashMap.put("5", "e");
// then
assertThat(circularHashMap.findKey("b"), is("1"));
assertThat(circularHashMap.findKey("c"), is("2"));
assertThat(circularHashMap.findKey("x"), nullValue());
assertThat(circularHashMap.findKey("a"), nullValue());
assertThat(circularHashMap.findKey("d"), is("3"));
}
}