/* * ModeShape (http://www.modeshape.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.modeshape.sequencer.xml; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import javax.jcr.Node; import javax.jcr.Property; import javax.jcr.RepositoryException; import org.modeshape.jcr.sequencer.AbstractSequencerTest; /** * Base test class for the different {@link XmlSequencer} implementation tests * * @author Horia Chiorean */ public abstract class AbstractXmlSequencerTest extends AbstractSequencerTest { protected Node sequenceAndAssertDocument( String documentFilename ) throws Exception { createNodeWithContentFromFile(documentFilename, documentFilename); Node document = getOutputNode(rootNode, "xml/" + documentFilename); assertNotNull(document); assertEquals(XmlLexicon.DOCUMENT, document.getPrimaryNodeType().getName()); return document; } protected Node assertElement( Node document, String elementRelativePath, String... propertyNameValuePairs ) throws RepositoryException { return assertNode(document, elementRelativePath, XmlLexicon.ELEMENT, propertyNameValuePairs); } protected Node assertNode( Node rootNode, String relativePath, String expectedType, String... propertyNameValuePairs ) throws RepositoryException { Node node = rootNode.getNode(relativePath); assertNotNull(node); assertEquals(expectedType, node.getPrimaryNodeType().getName()); for (String nameValuePair : propertyNameValuePairs) { String[] elements = nameValuePair.split("=", 2); assertEquals(2, elements.length); String expectedName = elements[0]; String expectedValue = elements[1]; Property elementProperty = node.getProperty(expectedName); assertNotNull("Property not found", elementProperty); assertEquals(expectedValue, elementProperty.getString()); } return node; } }