/* * File: PorterEnglishStemmingFilterTest.java * Authors: Justin Basilico * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright January 27, 2010, 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.filter.stem; import gov.sandia.cognition.text.term.DefaultTerm; import gov.sandia.cognition.text.term.DefaultTermOccurrence; import gov.sandia.cognition.text.term.TermOccurrence; import org.junit.Test; import static org.junit.Assert.*; /** * Unit tests for class PorterEnglishStemmingFilter. * * @author Justin Basilico * @since 3.0 */ public class PorterEnglishStemmingFilterTest { /** * Creates a new test. */ public PorterEnglishStemmingFilterTest() { } /** * Test of constructors of class PorterEnglishStemmingFilter. */ @Test public void testConstructors() { PorterEnglishStemmingFilter instance = new PorterEnglishStemmingFilter(); assertNotNull(instance); } /** * Test of filterTerm method, of class PorterEnglishStemmingFilter. */ @Test public void testFilterTerm() { TermOccurrence occurrence = new DefaultTermOccurrence(new DefaultTerm( "connected"), 0, 321); PorterEnglishStemmingFilter instance = new PorterEnglishStemmingFilter(); TermOccurrence result = instance.filterTerm(occurrence); assertNotSame(occurrence, result); assertEquals("connect", result.getTerm().getName()); assertEquals(occurrence.getStart(), result.getStart()); assertEquals(occurrence.getLength(), result.getLength()); } /** * Test of filterTerm method, of class PorterEnglishStemmingFilter. */ @Test public void testStem() { assertEquals("connect", PorterEnglishStemmingFilter.stem("connects")); assertEquals("connect", PorterEnglishStemmingFilter.stem("connected")); assertEquals("connect", PorterEnglishStemmingFilter.stem("connecting")); assertEquals("connect", PorterEnglishStemmingFilter.stem("connection")); assertEquals("connect", PorterEnglishStemmingFilter.stem("connects")); // Checking handling of spaces: assertEquals("connection ", PorterEnglishStemmingFilter.stem("connection ")); assertEquals(" connect", PorterEnglishStemmingFilter.stem(" connect")); assertEquals("a connect", PorterEnglishStemmingFilter.stem("a connection")); assertEquals("connection to a", PorterEnglishStemmingFilter.stem("connection to a")); assertEquals("", PorterEnglishStemmingFilter.stem("")); assertEquals(" ", PorterEnglishStemmingFilter.stem(" ")); assertEquals("a", PorterEnglishStemmingFilter.stem("a")); assertEquals("1", PorterEnglishStemmingFilter.stem("1")); } }