package org.radargun.util; import java.util.concurrent.ConcurrentHashMap; import org.radargun.stages.cache.generators.KeyGenerator; import org.radargun.traits.BasicOperations; /** * General test tools. * * @author Matej Cimbora */ public final class TestUtils { private TestUtils() { } public static class TestException extends RuntimeException { public TestException() { } } public static class SimpleStringKeyGenerator implements KeyGenerator { @Override public Object generateKey(long keyIndex) { return String.valueOf(keyIndex); } } public static class BasicOperationsCache<K, V> implements BasicOperations.Cache<K, V> { private ConcurrentHashMap<K, V> container = new ConcurrentHashMap<>(); @Override public Object get(Object key) { return container.get(key); } @Override public boolean containsKey(Object key) { return container.containsKey(key); } @Override public void put(Object key, Object value) { container.put((K) key, (V) value); } @Override public Object getAndPut(Object key, Object value) { return container.put((K) key, (V) value); } @Override public boolean remove(Object key) { return container.remove(key) != null; } @Override public Object getAndRemove(Object key) { return container.remove(key); } @Override public void clear() { container.clear(); } } }