package de.danoeh.antennapod.core.tests.util; import android.test.AndroidTestCase; import de.danoeh.antennapod.core.util.LongIntMap; public class LongLongMapTest extends AndroidTestCase { public void testEmptyMap() { LongIntMap map = new LongIntMap(); assertEquals(0, map.size()); assertEquals("LongLongMap{}", map.toString()); assertEquals(0, map.get(42)); assertEquals(-1, map.get(42, -1)); assertEquals(false, map.delete(42)); assertEquals(-1, map.indexOfKey(42)); assertEquals(-1, map.indexOfValue(42)); assertEquals(1, map.hashCode()); } public void testSingleElement() { LongIntMap map = new LongIntMap(); map.put(17, 42); assertEquals(1, map.size()); assertEquals("LongLongMap{17=42}", map.toString()); assertEquals(42, map.get(17)); assertEquals(42, map.get(17, -1)); assertEquals(0, map.indexOfKey(17)); assertEquals(0, map.indexOfValue(42)); assertEquals(true, map.delete(17)); } public void testAddAndDelete() { LongIntMap map = new LongIntMap(); for(int i=0; i < 100; i++) { map.put(i * 17, i * 42); } assertEquals(100, map.size()); assertEquals(0, map.get(0)); assertEquals(42, map.get(17)); assertEquals(42, map.get(17, -1)); assertEquals(1, map.indexOfKey(17)); assertEquals(1, map.indexOfValue(42)); for(int i=0; i < 100; i++) { assertEquals(true, map.delete(i * 17)); } } public void testOverwrite() { LongIntMap map = new LongIntMap(); map.put(17, 42); assertEquals(1, map.size()); assertEquals("LongLongMap{17=42}", map.toString()); assertEquals(42, map.get(17)); map.put(17, 23); assertEquals(1, map.size()); assertEquals("LongLongMap{17=23}", map.toString()); assertEquals(23, map.get(17)); } }