/**
* SelfRefTest.java
*
* @author Charles Groves
*/
package edu.sc.seis.sod.validator.model;
import java.io.IOException;
import javax.xml.stream.XMLStreamException;
import junit.framework.TestCase;
import edu.sc.seis.sod.validator.ModelWalker;
public class SelfRefTest extends TestCase {
public void testSelfReferential() throws IOException, XMLStreamException{
StAXModelBuilder modBuild = new StAXModelBuilder("jar:edu/sc/seis/sod/data/validator/selfReferential.rng");
//modBuild.getRoot().accept(new FormPrinter(8));
assertTrue(modBuild.getRoot() instanceof Group);
Group rootGroup = (Group)modBuild.getRoot();
assertEquals(2, rootGroup.getChildren().length);
Form[] groupKids = rootGroup.getChildren();
assertTrue(groupKids[0] instanceof NamedElement);
assertFalse(groupKids[0].isFromDef());
assertTrue(groupKids[1].isFromDef());
assertEquals(groupKids[1].getDef().getName(), "selfRef");
assertTrue(ModelWalker.isSelfReferential(groupKids[1]));
}
}