/* * File: DefaultTermIndexTest.java * Authors: Justin Basilico * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright February 19, 2009, Sandia Corporation. * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive * license for use of this work by or on behalf of the U.S. Government. Export * of this program may require a license from the United States Government. * See CopyrightHistory.txt for complete details. * */ package gov.sandia.cognition.text.term; import java.util.List; import java.util.Map; import org.junit.Test; import static org.junit.Assert.*; /** * Unit tests for class DefaultTermIndex. * * @author Justin Basilico * @since 3.0 */ public class DefaultTermIndexTest { public DefaultTermIndexTest() { } /** * Test of constructors of class DefaultTermIndex. */ @Test public void testConstructors() { DefaultTermIndex instance = new DefaultTermIndex(); } /** * Test of clone method, of class DefaultTermIndex. */ @Test public void testClone() { Term termA = new DefaultTerm("a"); DefaultTermIndex instance = new DefaultTermIndex(); instance.add(termA); DefaultTermIndex clone = instance.clone(); assertNotSame(instance, clone); assertNotSame(instance.termMap, clone.termMap); assertNotSame(instance.termList, clone.termList); assertArrayEquals(instance.termList.toArray(), clone.termList.toArray()); } /** * Test of add method, of class DefaultTermIndex. */ @Test public void testAdd() { DefaultTerm term0 = new DefaultTerm("term0"); DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); DefaultTermIndex instance = new DefaultTermIndex(); assertEquals(new DefaultIndexedTerm(0, term0), instance.add(term0)); assertEquals(new DefaultIndexedTerm(1, term1), instance.add(term1)); assertEquals(new DefaultIndexedTerm(1, term1), instance.add(new DefaultTerm("term1"))); assertEquals(new DefaultIndexedTerm(2, term2), instance.add(term2)); assertEquals(new DefaultIndexedTerm(0, term0), instance.add(new DefaultTerm("term0"))); } /** * Test of getTermCount method, of class DefaultTermIndex. */ @Test public void testGetTermCount() { DefaultTermIndex instance = new DefaultTermIndex(); assertEquals(0, instance.getTermCount()); instance.add(new DefaultTerm("term1")); assertEquals(1, instance.getTermCount()); instance.add(new DefaultTerm("term2")); assertEquals(2, instance.getTermCount()); } /** * Test of getTerms method, of class DefaultTermIndex. */ @Test public void testGetTerms() { DefaultTermIndex instance = new DefaultTermIndex(); List<? extends IndexedTerm> result = instance.getTerms(); assertTrue(result.isEmpty()); DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); instance.add(term1); instance.add(term2); result = instance.getTerms(); assertEquals(2, result.size()); assertSame(term1, result.get(0).asTerm()); assertSame(term2, result.get(1).asTerm()); } /** * Test of getIndexedTerm method, of class DefaultTermIndex. */ @Test public void testGetIndexedTerm() { DefaultTerm term0 = new DefaultTerm("term0"); DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); DefaultTermIndex instance = new DefaultTermIndex(); assertEquals(null, instance.getIndexedTerm(term0)); assertEquals(null, instance.getIndexedTerm(term1)); assertEquals(null, instance.getIndexedTerm(term2)); assertEquals(null, instance.getIndexedTerm(0)); assertEquals(null, instance.getIndexedTerm(1)); assertEquals(null, instance.getIndexedTerm(2)); instance.add(term0); assertEquals(new DefaultIndexedTerm(0, term0), instance.getIndexedTerm(term0)); assertEquals(null, instance.getIndexedTerm(term1)); assertEquals(null, instance.getIndexedTerm(term2)); assertEquals(new DefaultIndexedTerm(0, term0), instance.getIndexedTerm(0)); assertEquals(null, instance.getIndexedTerm(1)); assertEquals(null, instance.getIndexedTerm(2)); assertSame(instance.getIndexedTerm(term0), instance.getIndexedTerm(0)); assertSame(instance.getIndexedTerm(term0), instance.getIndexedTerm((Termable) term0)); instance.add(term1); assertEquals(new DefaultIndexedTerm(0, term0), instance.getIndexedTerm(term0)); assertEquals(new DefaultIndexedTerm(1, term1), instance.getIndexedTerm(term1)); assertEquals(null, instance.getIndexedTerm(term2)); assertEquals(new DefaultIndexedTerm(0, term0), instance.getIndexedTerm(0)); assertEquals(new DefaultIndexedTerm(1, term1), instance.getIndexedTerm(1)); assertEquals(null, instance.getIndexedTerm(2)); assertSame(instance.getIndexedTerm(term0), instance.getIndexedTerm(0)); assertSame(instance.getIndexedTerm(term1), instance.getIndexedTerm(1)); assertSame(instance.getIndexedTerm(term0), instance.getIndexedTerm((Termable) term0)); assertSame(instance.getIndexedTerm(term1), instance.getIndexedTerm((Termable) term1)); } /** * Test of hasTerm method, of class DefaultTermIndex. */ @Test public void testHasIndexedTerm() { DefaultTerm term0 = new DefaultTerm("term0"); DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); DefaultTermIndex instance = new DefaultTermIndex(); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term0))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term1))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(2, term2))); assertFalse(instance.hasIndexedTerm(null)); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(-1, null))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term1))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term0))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term2))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term2))); instance.add(term0); assertTrue(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term0))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term1))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(2, term2))); assertFalse(instance.hasIndexedTerm(null)); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(-1, null))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term1))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term0))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term2))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term2))); instance.add(term1); assertTrue(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term0))); assertTrue(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term1))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(2, term2))); assertFalse(instance.hasIndexedTerm(null)); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(-1, null))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term1))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term0))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(0, term2))); assertFalse(instance.hasIndexedTerm(new DefaultIndexedTerm(1, term2))); } /** * Test of hasTerm method, of class DefaultTermIndex. */ @Test public void testHasTerm() { DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); DefaultTerm term3 = new DefaultTerm("term3"); DefaultTermIndex instance = new DefaultTermIndex(); assertFalse(instance.hasTerm(term1)); assertFalse(instance.hasTerm(term2)); assertFalse(instance.hasTerm(term3)); instance.add(term1); assertTrue(instance.hasTerm(term1)); assertFalse(instance.hasTerm(term2)); assertFalse(instance.hasTerm(term3)); instance.add(term2); assertTrue(instance.hasTerm(term1)); assertTrue(instance.hasTerm(term2)); assertFalse(instance.hasTerm(term3)); instance.add(term2); assertTrue(instance.hasTerm((Termable) term1)); assertTrue(instance.hasTerm((Termable) term2)); assertFalse(instance.hasTerm((Termable) term3)); } /** * Test of hasIndex method, of class DefaultTermIndex. */ @Test public void testHasIndex() { DefaultTerm term0 = new DefaultTerm("term0"); DefaultTerm term1 = new DefaultTerm("term1"); DefaultTermIndex instance = new DefaultTermIndex(); assertFalse(instance.hasIndex(-1)); assertFalse(instance.hasIndex(0)); assertFalse(instance.hasIndex(1)); assertFalse(instance.hasIndex(2)); instance.add(term0); assertFalse(instance.hasIndex(-1)); assertTrue(instance.hasIndex(0)); assertFalse(instance.hasIndex(1)); assertFalse(instance.hasIndex(2)); instance.add(term1); assertFalse(instance.hasIndex(-1)); assertTrue(instance.hasIndex(0)); assertTrue(instance.hasIndex(1)); assertFalse(instance.hasIndex(2)); instance.add(term1); assertFalse(instance.hasIndex(-1)); assertTrue(instance.hasIndex(0)); assertTrue(instance.hasIndex(1)); assertFalse(instance.hasIndex(2)); } /** * Test of getIndex method, of class DefaultTermIndex. */ @Test public void testGetIndex() { DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); DefaultTerm term3 = new DefaultTerm("term3"); DefaultTermIndex instance = new DefaultTermIndex(); assertEquals(-1, instance.getIndex(term1)); assertEquals(-1, instance.getIndex(term2)); assertEquals(-1, instance.getIndex(term3)); instance.add(term1); assertEquals(0, instance.getIndex(term1)); assertEquals(-1, instance.getIndex(term2)); assertEquals(-1, instance.getIndex(term3)); instance.add(term2); assertEquals(0, instance.getIndex(term1)); assertEquals(1, instance.getIndex(term2)); assertEquals(-1, instance.getIndex(term3)); assertEquals(0, instance.getIndex((Termable) term1)); assertEquals(1, instance.getIndex((Termable) term2)); assertEquals(-1, instance.getIndex((Termable) term3)); } /** * Test of getTerm method, of class DefaultTermIndex. */ @Test public void testGetTerm() { DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); DefaultTermIndex instance = new DefaultTermIndex(); assertEquals(null, instance.getTerm(0)); assertEquals(null, instance.getTerm(1)); assertEquals(null, instance.getTerm(2)); assertEquals(null, instance.getTerm(-1)); instance.add(term1); assertEquals(term1, instance.getTerm(0)); assertEquals(null, instance.getTerm(1)); assertEquals(null, instance.getTerm(2)); assertEquals(null, instance.getTerm(-1)); instance.add(term2); assertEquals(term1, instance.getTerm(0)); assertEquals(term2, instance.getTerm(1)); assertEquals(null, instance.getTerm(2)); assertEquals(null, instance.getTerm(-1)); } /** * Test of getTermMap method, of class DefaultTermIndex. */ @Test public void testGetTermMap() { DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); DefaultTermIndex instance = new DefaultTermIndex(); instance.add(term1); instance.add(term2); Map<Term, DefaultIndexedTerm> result = instance.getTermMap(); assertEquals(2, result.size()); assertEquals(new DefaultIndexedTerm(0, term1), result.get(term1)); assertEquals(new DefaultIndexedTerm(1, term2), result.get(term2)); } /** * Test of getTermList method, of class DefaultTermIndex. */ @Test public void testGetTermList() { DefaultTerm term1 = new DefaultTerm("term1"); DefaultTerm term2 = new DefaultTerm("term2"); DefaultTermIndex instance = new DefaultTermIndex(); instance.add(term1); instance.add(term2); List<DefaultIndexedTerm> result = instance.getTermList(); assertEquals(2, result.size()); assertEquals(new DefaultIndexedTerm(0, term1), result.get(0)); assertEquals(new DefaultIndexedTerm(1, term2), result.get(1)); } }