package rtt.annotation.test.model;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import rtt.annotation.editor.model.ModelElement;
public class ModelElementTests {
private static final class TestModelElement extends ModelElement {
protected TestModelElement(ModelElement parent) {
super(parent);
}
}
private String elementName = "element";
private String parentName = "parent";
private ModelElement element;
private ModelElement parent;
@Before
public void setUp() throws Exception {
parent = new TestModelElement(null);
parent.setName(parentName);
element = new TestModelElement(parent);
element.setName(elementName);
}
@Test
public void testParent() throws Exception {
assertNull("Parent of parent element should be null.", parent.getParent());
assertEquals("Parent of element", parent, element.getParent());
}
@Test
public void testNames() throws Exception {
assertEquals("Element name", elementName, element.getName());
assertEquals("Parent name", parentName, element.getParent().getName());
}
@Test
public void testEquals() throws Exception {
ModelElement secondElement = new TestModelElement(parent);
assertEquals("Parent element", element.getParent(), secondElement.getParent());
secondElement.setName(elementName);
assertEquals("Element name", element.getName(), secondElement.getName());
assertTrue("Equals don't return true.", element.equals(secondElement));
assertTrue("Equals don't return true.", secondElement.equals(element));
}
}