package games.strategy.engine.chat; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; public class ChatFloodControlTest { private static final long INITIAL_CLEAR_TIME = 100; private final ChatFloodControl testObj = new ChatFloodControl(INITIAL_CLEAR_TIME); @Test public void testSimple() { assertTrue(testObj.allow("", System.currentTimeMillis())); } @Test public void testDeny() { final long now = 123; for (int i = 0; i < ChatFloodControl.EVENTS_PER_WINDOW; i++) { assertTrue(testObj.allow("", now)); } assertFalse(testObj.allow("", now)); } @Test public void throttlingReleasedAfterTimePeriod() { final long now = 100; for (int i = 0; i < 100; i++) { testObj.allow("", now); } assertTrue(testObj.allow("", INITIAL_CLEAR_TIME + ChatFloodControl.WINDOW + 1)); } }