package com.cse10.duplicateDetector; import com.cse10.database.DatabaseConstants; import junit.framework.TestCase; import org.junit.*; public class SimHashCalculatorTest { SimHashCalculator simHashCalculator; static String previousDB; @BeforeClass public static void setUpClass() throws Exception { previousDB = DatabaseConstants.DB_URL; DatabaseConstants.DB_URL = "jdbc:mysql://localhost:3306/newsstats_test"; } @AfterClass public static void tearDownClass() throws Exception { DatabaseConstants.DB_URL = previousDB; } @Before public void setUp() throws Exception { WordSegmenter wordSegmenter = new FullWordSegmenter(); simHashCalculator = new SimHashCalculator(wordSegmenter); } @After public void tearDown() throws Exception { } @Test public void testSimhash64() throws Exception { String testArticleContent1 = "child sex crime 2012 11 08 Anuradhapura Anuradhapura Anuradhapura Anuradhapura"; String testArticleContent2 = "illegal trade 2012 12 26 Anuradhapura Anuradhapura Anuradhapura Anuradhapura"; long testValue1 = 212506208464060957L; long testValue2 = 1348539346806932285L; TestCase.assertEquals(testValue1, simHashCalculator.getSimhash64Value(testArticleContent1)); TestCase.assertEquals(testValue2, simHashCalculator.getSimhash64Value(testArticleContent2)); } @Test public void testSimhash32() throws Exception { String testArticleContent1 = "child sex crime 2012 11 08 Anuradhapura Anuradhapura Anuradhapura Anuradhapura"; String testArticleContent2 = "illegal trade 2012 12 26 Anuradhapura Anuradhapura Anuradhapura Anuradhapura"; long testValue1 = 270214823; long testValue2 = -1877269851; TestCase.assertEquals(testValue1, simHashCalculator.getSimhash32Value(testArticleContent1)); TestCase.assertEquals(testValue2, simHashCalculator.getSimhash32Value(testArticleContent2)); } }