package edu.hawaii.jmotif.sax; import edu.hawaii.jmotif.sax.datastructures.SAXFrequencyEntry; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import org.junit.Test; /** * Test the SAXFrequencyEntry class. * * @author Pavel Senin. * */ public class TestSAXFrequencyEntry { private static final String str1 = "aaabbaa"; private static final String str2 = "aaabbba"; private static final Integer ONE = 1; private static final Integer ZERO = 0; /** * Test constructor and setters/getters. * */ @Test public void setUp() { SAXFrequencyEntry sfe1 = new SAXFrequencyEntry(str1, 0); assertTrue("Testing constructor", sfe1.getSubstring().equalsIgnoreCase(str1)); assertFalse("Testing constructor", sfe1.getSubstring().equalsIgnoreCase(str2)); assertEquals("Testing constructor", (Integer) sfe1.getEntries().size(), ONE); assertEquals("Testing constructor", sfe1.getEntries().get(0), ZERO); sfe1.put(15); assertTrue("Testing setter", sfe1.getEntries().contains(15)); assertFalse("Testing setter", sfe1.getEntries().contains(11)); } /** * Test comparison. * */ @Test public void testCompare() { SAXFrequencyEntry sfe1 = new SAXFrequencyEntry(str1, 0); SAXFrequencyEntry sfe2 = new SAXFrequencyEntry(str1, 0); SAXFrequencyEntry sfe3 = new SAXFrequencyEntry(str2, 0); assertTrue("testing equals", sfe1.equals(sfe2)); assertEquals("testing hashCode", sfe1.hashCode(), sfe2.hashCode()); assertSame("testing comparison", sfe1.compareTo(sfe1), 0); assertTrue("testing comparison", sfe1.compareTo(sfe3) < 0); sfe2.put(11); assertFalse("testing equals", sfe1.equals(sfe2)); assertNotSame("testing hashCode", sfe1.hashCode(), sfe2.hashCode()); assertTrue("testing comparison", sfe1.compareTo(sfe2) < 0); } }