//Dstl (c) Crown Copyright 2017
package uk.gov.dstl.baleen.jobs.patterns.interactions.data;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.HashSet;
import org.junit.Test;
import net.sf.extjwnl.data.POS;
import uk.gov.dstl.baleen.jobs.interactions.data.PatternReference;
import uk.gov.dstl.baleen.jobs.interactions.data.Word;
public class PatternReferenceTest {
@Test
public void test() {
final PatternReference p = new PatternReference("id", new Word("a", POS.NOUN), new Word("b", POS.NOUN));
assertEquals("id", p.getId());
assertEquals("a", p.getTokens().get(0).getLemma());
assertEquals(POS.NOUN, p.getTokens().get(0).getPos());
p.setSourceType("st");
p.setTargetType("tt");
assertEquals("tt", p.getTargetType());
assertEquals("st", p.getSourceType());
final PatternReference p2 = new PatternReference("id", new Word("a", POS.NOUN));
final HashSet<Word> tokens = new HashSet<>(Arrays.asList(new Word("a", POS.NOUN), new Word("b", POS.NOUN)));
p.calculateTermFrequency(tokens);
p2.calculateTermFrequency(tokens);
final double similarity = p.calculateSimilarity(p2);
assertEquals(0.5, similarity, 0.1);
}
}