|
ActiveMQ example source code file (MapContainerTest.java)
The ActiveMQ MapContainerTest.java source code/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.activemq.kaha; import java.io.IOException; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.apache.activemq.kaha.impl.container.BaseContainerImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import junit.framework.TestCase; public class MapContainerTest extends TestCase { private static final Logger LOG = LoggerFactory.getLogger(MapContainerTest.class); protected static final int COUNT = 10; protected String name = "test"; protected Store store; protected MapContainer<String, String> container; protected Map<String, String> testMap; public void testBasicAllocations() throws Exception { String key = "key"; Object value = testMap; MapContainer<String, Object> test = store.getMapContainer("test", "test"); test.put(key, value); store.close(); store = getStore(); assertFalse(store.getMapContainerIds().isEmpty()); test = store.getMapContainer("test", "test"); assertEquals(value, test.get(key)); } /* * Test method for 'org.apache.activemq.kaha.MapContainer.size()' */ public void testSize() throws Exception { container.putAll(testMap); assertTrue(container.size() == testMap.size()); } /* * Test method for 'org.apache.activemq.kaha.MapContainer.isEmpty()' */ public void testIsEmpty() throws Exception { assertTrue(container.isEmpty()); } /* * Test method for 'org.apache.activemq.kaha.MapContainer.clear()' */ public void testClear() throws Exception { container.putAll(testMap); assertTrue(container.size() == testMap.size()); container.clear(); assertTrue(container.isEmpty()); } /* * Test method for * 'org.apache.activemq.kaha.MapContainer.containsKey(Object)' */ public void testContainsKeyObject() throws Exception { container.putAll(testMap); for (Iterator i = testMap.entrySet().iterator(); i.hasNext();) { Map.Entry entry = (Entry)i.next(); assertTrue(container.containsKey(entry.getKey())); } } /* * Test method for 'org.apache.activemq.kaha.MapContainer.get(Object)' */ public void testGetObject() throws Exception { container.putAll(testMap); for (Iterator i = testMap.entrySet().iterator(); i.hasNext();) { Map.Entry entry = (Entry)i.next(); Object value = container.get(entry.getKey()); assertNotNull(value); assertTrue(value.equals(entry.getValue())); } } /* * Test method for * 'org.apache.activemq.kaha.MapContainer.containsValue(Object)' */ public void testContainsValueObject() throws Exception { container.putAll(testMap); for (Iterator i = testMap.entrySet().iterator(); i.hasNext();) { Map.Entry entry = (Entry)i.next(); assertTrue(container.containsValue(entry.getValue())); } } /* * Test method for 'org.apache.activemq.kaha.MapContainer.putAll(Map)' */ public void testPutAllMap() throws Exception { container.putAll(testMap); for (Iterator i = testMap.entrySet().iterator(); i.hasNext();) { Map.Entry entry = (Entry)i.next(); assertTrue(container.containsValue(entry.getValue())); assertTrue(container.containsKey(entry.getKey())); } } /* * Test method for 'org.apache.activemq.kaha.MapContainer.keySet()' */ public void testKeySet() throws Exception { container.putAll(testMap); Set<String> keys = container.keySet(); assertTrue(keys.size() == testMap.size()); for (Iterator<String> i = testMap.keySet().iterator(); i.hasNext();) { Object key = i.next(); assertTrue(keys.contains(key)); keys.remove(key); } assertTrue(container.isEmpty()); } /* * Test method for 'org.apache.activemq.kaha.MapContainer.values()' */ public void testValues() throws Exception { container.putAll(testMap); Collection<String> values = container.values(); assertTrue(values.size() == testMap.size()); for (Iterator<String> i = testMap.values().iterator(); i.hasNext();) { Object value = i.next(); assertTrue(values.contains(value)); assertTrue(values.remove(value)); } assertTrue(container.isEmpty()); } /* * Test method for 'org.apache.activemq.kaha.MapContainer.entrySet()' */ public void testEntrySet() throws Exception { container.putAll(testMap); Set entries = container.entrySet(); assertTrue(entries.size() == testMap.size()); for (Iterator i = entries.iterator(); i.hasNext();) { Map.Entry entry = (Entry)i.next(); assertTrue(testMap.containsKey(entry.getKey())); assertTrue(testMap.containsValue(entry.getValue())); } } /* * Test method for 'org.apache.activemq.kaha.MapContainer.remove(Object)' */ public void testRemoveObject() throws Exception { container.putAll(testMap); for (Iterator<String> i = testMap.keySet().iterator(); i.hasNext();) { container.remove(i.next()); } assertTrue(container.isEmpty()); } public void testDuplicatesOk() throws Exception { StoreEntry first, entry; container.put("M1", "DD"); first = container.getFirst(); LOG.info("First=" + first); assertEquals(-1, first.getNextItem()); // add duplicate String old = container.put("M1", "DD"); assertNotNull(old); assertEquals(1, container.size()); entry = container.getFirst(); LOG.info("New First=" + entry); assertEquals(-1, entry.getNextItem()); assertEquals(first, entry); container.remove("M1"); entry = container.getFirst(); assertNull(entry); } public void testDuplicatesFreeListShared() throws Exception { StoreEntry batchEntry; MapContainer other = store.getMapContainer(getName()+"2", "test", true); other.load(); other.put("M1", "DD"); container.put("M1", "DD"); batchEntry = container.getFirst(); LOG.info("First=" + batchEntry); assertEquals(-1, batchEntry.getNextItem()); // have something on free list before duplicate other.remove("M1"); // add duplicate String old = container.put("M1", "DD"); assertNotNull(old); assertEquals(1, container.size()); // entry now on free list on its own batchEntry = container.refresh(batchEntry); assertEquals(-1, batchEntry.getNextItem()); LOG.info("refreshed=" + batchEntry); // ack container.remove("M1"); //container is valid (empty) assertNull(container.getFirst()); // batchEntry now has next as there is another on the free list batchEntry = container.refresh(batchEntry); LOG.info("refreshed=" + batchEntry); assertTrue(batchEntry.getNextItem() != -1); } protected Store getStore() throws IOException { return StoreFactory.open(name, "rw"); } protected void setUp() throws Exception { super.setUp(); name = System.getProperty("basedir", ".") + "/target/activemq-data/map-container.db"; store = getStore(); container = store.getMapContainer(getName(), "test", true); container.load(); testMap = new HashMap<String, String>(); for (int i = 0; i < COUNT; i++) { String key = "key:" + i; String value = "value:" + i; testMap.put(key, value); } } protected void tearDown() throws Exception { super.tearDown(); if (store != null) { store.close(); store = null; } assertTrue(StoreFactory.delete(name)); } } Other ActiveMQ examples (source code examples)Here is a short list of links related to this ActiveMQ MapContainerTest.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.