@Test
public void testAddChild()
{
final Document oldDocument = new Document();
final Document document = new Document();
final Node oldParent = new Node();
oldParent.setDocument(oldDocument);
final Node parent = new Node();
parent.setDocument(document);
final Node child = new Node();
child.setId("ID");
child.setSid("SID");
// Add child to old parent
oldParent.addChild(child);
assertSame(child, oldParent.getBySid("SID"));
assertNull(parent.getBySid("SID"));
assertSame(oldDocument, child.getDocument());
assertSame(oldParent, child.getParent());
// Add child to new parent
parent.addChild(child);
assertNull(oldParent.getBySid("SID"));
assertSame(child, parent.getBySid("SID"));
assertSame(document, child.getDocument());
assertSame(parent, child.getParent());
}