AnnotationTest.java
package org.kie.soup.project.datamodel;
import org.junit.Test;
import org.kie.soup.project.datamodel.oracle.Annotation;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
public class AnnotationTest {
@Test
public void testEqualsAndHashCode() {
Annotation annotation1 = new Annotation();
Annotation annotation2 = new Annotation();
assertTrue(annotation1.equals(annotation2));
assertEquals(annotation1.hashCode(), annotation2.hashCode());
annotation1 = new Annotation("someName");
annotation2 = new Annotation("someName");
assertTrue(annotation1.equals(annotation2));
assertEquals(annotation1.hashCode(), annotation2.hashCode());
annotation1.addParameter("param1", "value1");
annotation2.addParameter("param1", "value1");
assertTrue(annotation1.equals(annotation2));
assertEquals(annotation1.hashCode(), annotation2.hashCode());
annotation1.addParameter("param2", "value2");
annotation2.addParameter("param2", "value2");
assertTrue(annotation1.equals(annotation2));
assertEquals(annotation1.hashCode(), annotation2.hashCode());
annotation1 = new Annotation("someName");
annotation2 = new Annotation("someName1");
assertFalse(annotation1.equals(annotation2));
assertNotEquals(annotation1.hashCode(), annotation2.hashCode());
annotation1 = new Annotation("someName");
annotation2 = new Annotation("someName");
annotation1.addParameter("param1", "value1");
assertFalse(annotation1.equals(annotation2));
assertNotEquals(annotation1.hashCode(), annotation2.hashCode());
}
}