package org.openstack.atlas.util.common; import org.junit.Assert; import org.junit.Test; import org.openstack.atlas.usagerefactor.SnmpUsage; import java.util.HashMap; import java.util.Map; public class MapUtilTest { @Test public void shouldTransformUsagesGroupedByHostsToGroupedByLoadBalancers() { SnmpUsage host1lb1 = new SnmpUsage(); host1lb1.setLoadbalancerId(1); host1lb1.setHostId(1); SnmpUsage host1lb2 = new SnmpUsage(); host1lb2.setLoadbalancerId(2); host1lb2.setHostId(1); SnmpUsage host1lb3 = new SnmpUsage(); host1lb3.setLoadbalancerId(3); host1lb3.setHostId(1); SnmpUsage host2lb1 = new SnmpUsage(); host2lb1.setLoadbalancerId(1); host2lb1.setHostId(2); SnmpUsage host2lb2 = new SnmpUsage(); host2lb2.setLoadbalancerId(2); host2lb2.setHostId(2); SnmpUsage host2lb3 = new SnmpUsage(); host2lb3.setLoadbalancerId(3); host2lb3.setHostId(2); SnmpUsage host3lb1 = new SnmpUsage(); host3lb1.setLoadbalancerId(1); host3lb1.setHostId(3); SnmpUsage host3lb2 = new SnmpUsage(); host3lb2.setLoadbalancerId(2); host3lb2.setHostId(3); SnmpUsage host3lb3 = new SnmpUsage(); host3lb3.setLoadbalancerId(3); host3lb3.setHostId(3); Map<Integer, Map<Integer, SnmpUsage>> groupedByHosts = new HashMap<Integer, Map<Integer, SnmpUsage>>(); Map<Integer, SnmpUsage> host1Map = new HashMap<Integer, SnmpUsage>(); host1Map.put(1, host1lb1); host1Map.put(2, host1lb2); host1Map.put(3, host1lb3); groupedByHosts.put(1, host1Map); Map<Integer, SnmpUsage> host2Map = new HashMap<Integer, SnmpUsage>(); host2Map.put(1, host2lb1); host2Map.put(2, host2lb2); host2Map.put(3, host2lb3); groupedByHosts.put(2, host2Map); Map<Integer, SnmpUsage> host3Map = new HashMap<Integer, SnmpUsage>(); host3Map.put(1, host3lb1); host3Map.put(2, host3lb2); host3Map.put(3, host3lb3); groupedByHosts.put(3, host3Map); Map<Integer, Map<Integer, SnmpUsage>> lbMap = MapUtil.swapKeys(groupedByHosts); Assert.assertEquals(host1lb1.getHostId(), lbMap.get(1).get(1).getHostId()); Assert.assertEquals(host1lb1.getLoadbalancerId(), lbMap.get(1).get(1).getLoadbalancerId()); Assert.assertEquals(host2lb1.getHostId(), lbMap.get(1).get(2).getHostId()); Assert.assertEquals(host2lb1.getLoadbalancerId(), lbMap.get(1).get(2).getLoadbalancerId()); Assert.assertEquals(host3lb1.getHostId(), lbMap.get(1).get(3).getHostId()); Assert.assertEquals(host3lb1.getLoadbalancerId(), lbMap.get(1).get(3).getLoadbalancerId()); Assert.assertEquals(host1lb2.getHostId(), lbMap.get(2).get(1).getHostId()); Assert.assertEquals(host1lb2.getLoadbalancerId(), lbMap.get(2).get(1).getLoadbalancerId()); Assert.assertEquals(host2lb2.getHostId(), lbMap.get(2).get(2).getHostId()); Assert.assertEquals(host2lb2.getLoadbalancerId(), lbMap.get(2).get(2).getLoadbalancerId()); Assert.assertEquals(host3lb2.getHostId(), lbMap.get(2).get(3).getHostId()); Assert.assertEquals(host3lb2.getLoadbalancerId(), lbMap.get(2).get(3).getLoadbalancerId()); Assert.assertEquals(host1lb3.getHostId(), lbMap.get(3).get(1).getHostId()); Assert.assertEquals(host1lb3.getLoadbalancerId(), lbMap.get(3).get(1).getLoadbalancerId()); Assert.assertEquals(host2lb3.getHostId(), lbMap.get(3).get(2).getHostId()); Assert.assertEquals(host2lb3.getLoadbalancerId(), lbMap.get(3).get(2).getLoadbalancerId()); Assert.assertEquals(host3lb3.getHostId(), lbMap.get(3).get(3).getHostId()); Assert.assertEquals(host3lb3.getLoadbalancerId(), lbMap.get(3).get(3).getLoadbalancerId()); } }