//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.jobs.patterns.interactions.data; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertSame; import org.junit.Test; import net.sf.extjwnl.data.POS; import uk.gov.dstl.baleen.jobs.interactions.data.InteractionDefinition; import uk.gov.dstl.baleen.jobs.interactions.data.Word; public class InteractionDefinitionTest { @Test public void test() { Word word = new Word("text", POS.NOUN); InteractionDefinition id = new InteractionDefinition("type", "subType", word, "source", "target"); assertEquals("type", id.getType()); assertEquals("subType", id.getSubType()); assertSame(word, id.getWord()); assertEquals("source", id.getSource()); assertEquals("target", id.getTarget()); assertEquals("text", id.toString()); } @Test public void testHashcode() { Word word1 = new Word("text1", POS.NOUN); Word word2 = new Word("text2", POS.NOUN); InteractionDefinition id1 = new InteractionDefinition("type", "subType", word1, "source", "target"); InteractionDefinition id1a = new InteractionDefinition("type", "subType", word1, "source", "target"); InteractionDefinition id2 = new InteractionDefinition("type", "subType", word2, "source", "target"); assertEquals(id1.hashCode(), id1a.hashCode()); assertNotEquals(id1.hashCode(), id2.hashCode()); } @Test public void testEquals(){ Word word1 = new Word("text1", POS.NOUN); InteractionDefinition id1 = new InteractionDefinition("type", "subType", word1, "source", "target"); assertEquals(id1, id1); assertNotEquals(id1, null); assertNotEquals(id1, "text1"); InteractionDefinition id2 = new InteractionDefinition(null, null, null, null, null); assertNotEquals(id1, id2); assertNotEquals(id2, id1); id2 = new InteractionDefinition("type", null, null, null, null); assertNotEquals(id1, id2); assertNotEquals(id2, id1); id2 = new InteractionDefinition("type", "subType", null, null, null); assertNotEquals(id1, id2); assertNotEquals(id2, id1); id2 = new InteractionDefinition("type", "subType", word1, null, null); assertNotEquals(id1, id2); assertNotEquals(id2, id1); id2 = new InteractionDefinition("type", "subType", word1, "source", null); assertNotEquals(id1, id2); assertNotEquals(id2, id1); id2 = new InteractionDefinition("type", "subType", word1, "source", "target"); assertEquals(id1, id2); assertEquals(id2, id1); } }