package org.jgroups.tests; import org.jgroups.Global; import org.jgroups.util.SuppressCache; import org.jgroups.util.Util; import org.testng.annotations.Test; /** * Tests SuppressCache * @author Bela Ban * @since 3.2 */ @Test(groups=Global.FUNCTIONAL,sequential=false) public class SuppressCacheTest { public void testPut() { SuppressCache<String> cache=new SuppressCache<String>(); SuppressCache.Value val=cache.putIfAbsent("Bela", 5000); System.out.println("cache = " + cache); assert val.count() == 1; val=cache.putIfAbsent("Bela", 5000); System.out.println("cache = " + cache); assert val == null; // already present val=cache.putIfAbsent("Michelle", 5000); assert val.count() == 1; for(int i=0; i < 5; i++) { val=cache.putIfAbsent("Michelle", 5000); assert val == null; } Util.sleep(2000); System.out.println("cache:\n" + cache); val=cache.putIfAbsent("Bela", 500); assert val.count() == 3; val=cache.putIfAbsent("Bela", 5000); assert val == null; } }