/** * Copyright (c) 2006-2011 Floggy Open Source Group. All rights reserved. * * Licensed 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 net.sourceforge.floggy.persistence.impl; import junit.framework.TestCase; /** * DOCUMENT ME! * * @author <a href="mailto:thiago.moreira@floggy.org">Thiago Moreira</a> * @version $Revision$ */ public class IndexTest extends TestCase { /** * DOCUMENT ME! */ public void testContainsId() { int id = 45; Object value = "DSI-office"; Index index = new Index(); index.put(id, value); assertTrue(index.containsId(id)); } /** * DOCUMENT ME! */ public void testContainsValue() { int id = 45; Object value = "DSI-office"; Index index = new Index(); index.put(id, value); assertTrue(index.containsValue(value)); } /** * DOCUMENT ME! */ public void testGetIds() { Long expected = new Long(9898); Index index = new Index(); IndexEntry indexEntry = new IndexEntry(expected); indexEntry.getPersistableIds().addElement(new Integer(1)); indexEntry.getPersistableIds().addElement(new Integer(2)); indexEntry.getPersistableIds().addElement(new Integer(6)); index.put(indexEntry); assertEquals(3, index.getIds(expected).length); indexEntry = new IndexEntry(new Long(34)); indexEntry.getPersistableIds().addElement(new Integer(4)); indexEntry.getPersistableIds().addElement(new Integer(5)); index.put(indexEntry); assertEquals(2, index.getIds(new Long(34)).length); } /** * DOCUMENT ME! */ public void testGetIdsString() { String expected = "floggy"; String expected2 = "flo"; Index index = new Index(); IndexEntry indexEntry = new IndexEntry(expected); indexEntry.getPersistableIds().addElement(new Integer(1)); indexEntry.getPersistableIds().addElement(new Integer(2)); indexEntry.getPersistableIds().addElement(new Integer(6)); index.put(indexEntry); assertEquals(3, index.getIds(expected).length); indexEntry = new IndexEntry(expected2); indexEntry.getPersistableIds().addElement(new Integer(4)); indexEntry.getPersistableIds().addElement(new Integer(5)); index.put(indexEntry); assertEquals(5, index.getIds(expected2).length); } /** * DOCUMENT ME! */ public void testGetIndexEntryInt() { String expected = "floggy"; Index index = new Index(); index.put(1, expected); index.put(2, expected); index.put(6, expected); IndexEntry indexEntry = index.getIndexEntry(2); assertNull(index.getIndexEntry(90)); assertEquals(expected, indexEntry.getValue()); } /** * DOCUMENT ME! */ public void testGetIndexEntryObject() { String expected = "floggy"; String expected2 = "Thiago"; Index index = new Index(); IndexEntry indexEntry = new IndexEntry(expected); indexEntry.getPersistableIds().addElement(new Integer(1)); indexEntry.getPersistableIds().addElement(new Integer(2)); indexEntry.getPersistableIds().addElement(new Integer(6)); index.put(indexEntry); assertNull(index.getIndexEntry(expected2)); indexEntry = index.getIndexEntry(expected); assertNotNull(indexEntry); assertEquals(3, indexEntry.getPersistableIds().size()); assertEquals(expected, indexEntry.getValue()); } /** * DOCUMENT ME! */ public void testPutIndexEntry() { String expected = "floggy"; String expected2 = "Thiago"; Index index = new Index(); IndexEntry indexEntry = new IndexEntry(expected); indexEntry.getPersistableIds().addElement(new Integer(1)); indexEntry.getPersistableIds().addElement(new Integer(2)); indexEntry.getPersistableIds().addElement(new Integer(6)); index.put(indexEntry); assertTrue(index.containsValue(expected)); assertEquals(3, index.getIds(expected).length); indexEntry = new IndexEntry(expected2); indexEntry.getPersistableIds().addElement(new Integer(4)); indexEntry.getPersistableIds().addElement(new Integer(5)); index.put(indexEntry); assertTrue(index.containsValue(expected2)); assertEquals(2, index.getIds(expected2).length); boolean valid = true; int[] values = index.getIds(expected); for (int i = 0; i < values.length; i++) { valid &= ((values[i] == 1) || (values[i] == 2) || (values[i] == 6)); } assertTrue(valid); valid = true; values = index.getIds(expected2); for (int i = 0; i < values.length; i++) { valid &= ((values[i] == 4) || (values[i] == 5)); } assertTrue(valid); } /** * DOCUMENT ME! */ public void testPutIntObject() { String expected = "floggy"; String expected2 = "Thiago"; Index index = new Index(); index.put(1, expected); index.put(2, expected); index.put(6, expected); assertTrue(index.containsValue(expected)); assertEquals(3, index.getIds(expected).length); index.put(4, expected2); index.put(5, expected2); assertTrue(index.containsValue(expected2)); assertEquals(2, index.getIds(expected2).length); boolean valid = true; int[] values = index.getIds(expected); for (int i = 0; i < values.length; i++) { valid &= ((values[i] == 1) || (values[i] == 2) || (values[i] == 6)); } assertTrue(valid); valid = true; values = index.getIds(expected2); for (int i = 0; i < values.length; i++) { valid &= ((values[i] == 4) || (values[i] == 5)); } assertTrue(valid); } /** * DOCUMENT ME! */ public void testRemove() { String expected = "floggy"; String expected2 = "Thiago"; Index index = new Index(); index.put(1, expected); index.put(2, expected); index.put(6, expected); index.remove(1); index.put(4, expected2); index.put(5, expected2); index.remove(4); assertTrue(index.containsValue(expected)); assertEquals(2, index.getIds(expected).length); boolean valid = true; int[] values = index.getIds(expected); for (int i = 0; i < values.length; i++) { valid &= ((values[i] == 2) || (values[i] == 6)); } assertTrue(valid); index.remove(2); index.remove(6); assertEquals(0, index.getIndexEntry(expected).getPersistableIds().size()); valid = true; values = index.getIds(expected2); for (int i = 0; i < values.length; i++) { valid &= (values[i] == 5); } assertTrue(valid); } }