package org.knowm.xchange.dto.meta; import static java.util.concurrent.TimeUnit.SECONDS; import static org.junit.Assert.assertEquals; import org.junit.Test; public class ExchangeMetaDataTest { /** * 1 call per second => 1000ms delay */ @Test public void testGetPollDelayMillis1000() { RateLimit limit = new RateLimit(1, 1, SECONDS); assertEquals(1000L, limit.getPollDelayMillis()); } /** * 2 calls per second => 500ms delay */ @Test public void testGetPollDelayMillis500() { RateLimit limit = new RateLimit(2, 1, SECONDS); assertEquals(500L, limit.getPollDelayMillis()); } /** * 1 cal per second or 2 calls per second => 1000ms delay (500ms for burst calls) */ @Test public void testGetPollDelayMillisMulti() { assertEquals(1000L, (long) ExchangeMetaData.getPollDelayMillis(new RateLimit[] { new RateLimit(2, 1, SECONDS), new RateLimit(1, 1, SECONDS) })); } /** * null for an unknown value */ @Test public void testGetPollDelayMillisNull() { assertEquals(null, ExchangeMetaData.getPollDelayMillis(null)); } /** * null for an unknown value */ @Test public void testGetPollDelayMillisEmpty() { assertEquals(null, ExchangeMetaData.getPollDelayMillis(new RateLimit[0])); } }