package com.sonycsl.test.wamp.util; import com.sonycsl.test.mock.MockWampPeer; import com.sonycsl.wamp.WampPeer; import com.sonycsl.wamp.message.WampMessage; import com.sonycsl.wamp.message.WampMessageFactory; import com.sonycsl.wamp.util.DoubleKeyMap; import junit.framework.TestCase; import org.json.JSONObject; public class DoubleKeyMapTestCase extends TestCase { private DoubleKeyMap<WampPeer, Integer, WampMessage> mKm; private MockWampPeer[] mKeys1 = { new MockWampPeer(), new MockWampPeer() }; private int[] mKeys2 = { 100, 200 }; @Override protected void setUp() { mKm = new DoubleKeyMap<WampPeer, Integer, WampMessage>(); } public void testCtor() { assertNotNull(new DoubleKeyMap<WampPeer, Integer, WampMessage>()); } public void testPut() { for (MockWampPeer key1 : mKeys1) { for (int key2 : mKeys2) { WampMessage pastMsg = null; for (int i = 0; i < 2; i++) { WampMessage msg = WampMessageFactory.createHello("realm", new JSONObject()); assertEquals(pastMsg, mKm.put(key1, key2, msg)); pastMsg = msg; } } } } public void testGet() { for (MockWampPeer key1 : mKeys1) { for (int key2 : mKeys2) { WampMessage pastMsg = null; for (int i = 0; i < 2; i++) { WampMessage msg = WampMessageFactory.createHello("realm", new JSONObject()); assertEquals(pastMsg, mKm.put(key1, key2, msg)); pastMsg = msg; assertEquals(msg, mKm.get(key1, key2)); } } } } public void testRemove() { for (MockWampPeer key1 : mKeys1) { for (int key2 : mKeys2) { for (int i = 0; i < 2; i++) { WampMessage msg = WampMessageFactory.createHello("realm", new JSONObject()); mKm.put(key1, key2, msg); assertEquals(msg, mKm.remove(key1, key2)); } } } for (MockWampPeer key1 : mKeys1) { for (int key2 : mKeys2) { assertEquals(null, mKm.get(key1, key2)); } } } public void testContainsKey() { for (MockWampPeer key1 : mKeys1) { for (int key2 : mKeys2) { for (int i = 0; i < 2; i++) { WampMessage msg = WampMessageFactory.createHello("realm", new JSONObject()); mKm.put(key1, key2, msg); } } } for (MockWampPeer key1 : mKeys1) { for (int key2 : mKeys2) { for (int i = 0; i < 2; i++) { assertTrue(mKm.containsKey(key1, key2)); } } } } public void testClear() { for (MockWampPeer key1 : mKeys1) { for (int key2 : mKeys2) { for (int i = 0; i < 2; i++) { WampMessage msg = WampMessageFactory.createHello("realm", new JSONObject()); mKm.put(key1, key2, msg); } } } mKm.clear(); for (MockWampPeer key1 : mKeys1) { for (int key2 : mKeys2) { for (int i = 0; i < 2; i++) { assertFalse(mKm.containsKey(key1, key2)); } } } } }