You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2013/03/20 20:10:21 UTC

svn commit: r1459001 - in /webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om: ./ sourcedelement/ sourcedelement/push/

Author: veithen
Date: Wed Mar 20 19:10:20 2013
New Revision: 1459001

URL: http://svn.apache.org/r1459001
Log:
Refactored the test cases for push OMDataSources so that we can reuse the scenarios in other tests.

Added:
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java   (with props)
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestGetNamespaceContext.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java   (with props)
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteAttributeNoNamespace.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteCData.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteComment.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandlerProvider.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandler.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteEmptyElementAutoPrefix.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteNamespace.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction1.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction2.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementAutoPrefix.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java
      - copied, changed from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementWithDefaultNamespaceDeclaredOnParent.java
Removed:
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestGetNamespaceContext.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteAttributeNoNamespace.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteCData.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteComment.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandler.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandlerProvider.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteEmptyElementAutoPrefix.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteNamespace.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction1.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction2.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementAutoPrefix.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementWithDefaultNamespaceDeclaredOnParent.java
Modified:
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java?rev=1459001&r1=1459000&r2=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java Wed Mar 20 19:10:20 2013
@@ -30,6 +30,7 @@ import org.apache.axiom.ts.om.container.
 import org.apache.axiom.ts.om.factory.CreateOMElementParentSupplier;
 import org.apache.axiom.ts.om.factory.CreateOMElementVariant;
 import org.apache.axiom.ts.om.sourcedelement.OMSourcedElementVariant;
+import org.apache.axiom.ts.om.sourcedelement.push.PushOMDataSourceScenario;
 import org.apache.axiom.ts.om.xpath.AXIOMXPathTestCase;
 import org.apache.axiom.ts.om.xpath.TestAXIOMXPath;
 import org.apache.axiom.ts.strategy.BuilderFactory;
@@ -474,6 +475,9 @@ public class OMTestSuiteBuilder extends 
             addTest(new org.apache.axiom.ts.om.sourcedelement.TestName4DefaultPrefix(metaFactory));
             addTest(new org.apache.axiom.ts.om.sourcedelement.TestName4QualifiedPrefix(metaFactory));
             addTest(new org.apache.axiom.ts.om.sourcedelement.TestName4Unqualified(metaFactory));
+            for (int i=0; i<PushOMDataSourceScenario.INSTANCES.length; i++) {
+                addTest(new org.apache.axiom.ts.om.sourcedelement.TestPushOMDataSourceExpansion(metaFactory, PushOMDataSourceScenario.INSTANCES[i]));
+            }
             addTest(new org.apache.axiom.ts.om.sourcedelement.TestRemoveChildrenUnexpanded(metaFactory));
             for (int i = 0; i < elementContexts.length; i++) {
                 ElementContext ec = elementContexts[i];
@@ -507,20 +511,6 @@ public class OMTestSuiteBuilder extends 
             addTest(new org.apache.axiom.ts.om.sourcedelement.TestSetLocalName(metaFactory, true));
             addTest(new org.apache.axiom.ts.om.sourcedelement.TestWrappedTextNodeOMDataSourceFromReader(metaFactory));
             addTest(new org.apache.axiom.ts.om.sourcedelement.TestWriteTextToWithNonDestructiveOMDataSource(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestGetNamespaceContext(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteAttributeNoNamespace(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteCData(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteComment(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteDataHandler(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteDataHandlerProvider(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteEmptyElementAutoPrefix(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteNamespace(metaFactory, "", ""));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteNamespace(metaFactory, "", "urn:test"));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteNamespace(metaFactory, "p", "urn:test"));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteProcessingInstruction1(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteProcessingInstruction2(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteStartElementAutoPrefix(metaFactory));
-            addTest(new org.apache.axiom.ts.om.sourcedelement.push.TestWriteStartElementWithDefaultNamespaceDeclaredOnParent(metaFactory));
         }
         addTest(new org.apache.axiom.ts.om.pi.TestDigest(metaFactory));
         addTest(new org.apache.axiom.ts.om.text.TestBase64StreamingWithGetSAXSource(metaFactory));

Added: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java?rev=1459001&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java (added)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java Wed Mar 20 19:10:20 2013
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.apache.axiom.ts.om.sourcedelement;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMMetaFactory;
+import org.apache.axiom.om.OMSourcedElement;
+import org.apache.axiom.om.ds.AbstractPushOMDataSource;
+import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.ts.om.sourcedelement.push.PushOMDataSourceScenario;
+
+/**
+ * Tests the expansion of an {@link OMSourcedElement} backed by an {@link AbstractPushOMDataSource}.
+ */
+public class TestPushOMDataSourceExpansion extends AxiomTestCase {
+    private final PushOMDataSourceScenario scenario;
+    
+    public TestPushOMDataSourceExpansion(OMMetaFactory metaFactory, PushOMDataSourceScenario scenario) {
+        super(metaFactory);
+        this.scenario = scenario;
+        scenario.addTestParameters(this);
+    }
+
+    protected void runTest() throws Throwable {
+        final Map testContext = new HashMap();
+        OMFactory factory = metaFactory.getOMFactory();
+        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
+            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
+                scenario.serialize(writer, testContext);
+            }
+            
+            public boolean isDestructiveWrite() {
+                return false;
+            }
+        });
+        Iterator it = scenario.getNamespaceContext().entrySet().iterator();
+        if (it.hasNext()) {
+            Map.Entry binding = (Map.Entry)it.next();
+            OMElement parent = factory.createOMElement("parent", factory.createOMNamespace((String)binding.getValue(), (String)binding.getKey()));
+            while (it.hasNext()) {
+                binding = (Map.Entry)it.next();
+                parent.declareNamespace(factory.createOMNamespace((String)binding.getValue(), (String)binding.getKey()));
+            }
+            parent.addChild(element);
+        }
+        scenario.validate(element, testContext);
+    }
+}

Propchange: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestGetNamespaceContext.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestGetNamespaceContext.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestGetNamespaceContext.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java Wed Mar 20 19:10:20 2013
@@ -18,43 +18,39 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMSourcedElement;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
 
 /**
  * Tests that {@link XMLStreamWriter#getNamespaceContext()} gives access to pre-existing namespace
  * bindings (defined by the ancestors of the {@link OMSourcedElement}).
  */
-public class TestGetNamespaceContext extends AxiomTestCase {
-    public TestGetNamespaceContext(OMMetaFactory metaFactory) {
-        super(metaFactory);
+public class GetNamespaceContextScenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "getNamespaceContext");
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.singletonMap("p", "urn:test");
+    }
+
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        testContext.put("uri", writer.getNamespaceContext().getNamespaceURI("p"));
+        writer.writeStartElement(null, "root", null);
+        writer.writeEndElement();
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement parent = factory.createOMElement("parent", factory.createOMNamespace("urn:test", "p"));
-        final String[] resultHolder = new String[1];
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                resultHolder[0] = writer.getNamespaceContext().getNamespaceURI("p");
-                writer.writeStartElement(null, "root", null);
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
-        parent.addChild(element);
+    public void validate(OMElement element, Map testContext) {
         // Expand element
         element.getFirstOMChild();
-        assertEquals("urn:test", resultHolder[0]);
+        Assert.assertEquals("urn:test", testContext.get("uri"));
     }
 }

Added: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java?rev=1459001&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java (added)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java Wed Mar 20 19:10:20 2013
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.apache.axiom.ts.om.sourcedelement.push;
+
+import java.util.Map;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.ds.AbstractPushOMDataSource;
+import org.apache.axiom.testutils.suite.Dimension;
+
+/**
+ * Describes a usage scenario for {@link AbstractPushOMDataSource}. An implementation of this
+ * interface has the capability of writing a certain sequence of StAX events to an
+ * {@link XMLStreamWriter} and to validate the OM tree built from that sequence of events.
+ */
+public interface PushOMDataSourceScenario extends Dimension {
+    PushOMDataSourceScenario[] INSTANCES = {
+            new GetNamespaceContextScenario(),
+            new WriteAttributeNoNamespaceScenario(),
+            new WriteCDataScenario(),
+            new WriteCommentScenario(),
+            new WriteDataHandlerScenario(),
+            new WriteDataHandlerProviderScenario(),
+            new WriteEmptyElementAutoPrefixScenario(),
+            new WriteNamespaceScenario("", ""),
+            new WriteNamespaceScenario("", "urn:test"),
+            new WriteNamespaceScenario("p", "urn:test"),
+            new WriteProcessingInstruction1Scenario(),
+            new WriteProcessingInstruction2Scenario(),
+            new WriteStartElementAutoPrefixScenario(),
+            new WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario(),
+    };
+    
+    /**
+     * Get a map with namespace bindings that this scenario expects to exist on the parent element.
+     * 
+     * @return the namespace context
+     */
+    Map getNamespaceContext();
+    
+    /**
+     * Write the StAX events to the given {@link XMLStreamWriter}.
+     * 
+     * @param writer
+     *            the {@link XMLStreamWriter}
+     * @param testContext
+     *            a map to store context information for the current test case execution; the same
+     *            object is passed to {@link #validate(OMElement, Map)}
+     * @throws XMLStreamException
+     */
+    void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException;
+
+    /**
+     * Validate the resulting OM tree.
+     * 
+     * @param element
+     *            the {@link OMElement} representing the XML data produced by
+     *            {@link #serialize(XMLStreamWriter, Map)}
+     * @param testContext
+     *            a map to store context information for the current test case execution; the same
+     *            object is passed to {@link #serialize(XMLStreamWriter, Map)}
+     */
+    void validate(OMElement element, Map testContext);
+}

Propchange: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteAttributeNoNamespace.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteAttributeNoNamespace.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteAttributeNoNamespace.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java Wed Mar 20 19:10:20 2013
@@ -18,37 +18,36 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
 
 /**
  * Tests that {@link XMLStreamWriter#writeAttribute(String, String)} creates the expected attribute.
  */
-public class TestWriteAttributeNoNamespace extends AxiomTestCase {
-    public TestWriteAttributeNoNamespace(OMMetaFactory metaFactory) {
-        super(metaFactory);
+public class WriteAttributeNoNamespaceScenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeAttributeNoNamespace");
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
+
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement("p", "root", "urn:test");
+        writer.writeAttribute("attr", "value");
+        writer.writeEndElement();
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement("p", "root", "urn:test");
-                writer.writeAttribute("attr", "value");
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
-        assertEquals("value", element.getAttributeValue(new QName("attr")));
+    public void validate(OMElement element, Map testContext) {
+        Assert.assertEquals("value", element.getAttributeValue(new QName("attr")));
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteCData.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteCData.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteCData.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java Wed Mar 20 19:10:20 2013
@@ -18,39 +18,38 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMText;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
+
+public class WriteCDataScenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeCData");
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
 
-public class TestWriteCData extends AxiomTestCase {
-    public TestWriteCData(OMMetaFactory metaFactory) {
-        super(metaFactory);
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement(null, "root", null);
+        writer.writeCData("content");
+        writer.writeEndElement();
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement(null, "root", null);
-                writer.writeCData("content");
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void validate(OMElement element, Map testContext) {
         OMNode child = element.getFirstOMChild();
-        assertTrue(child instanceof OMText);
+        Assert.assertTrue(child instanceof OMText);
         OMText text = (OMText)child;
-        assertEquals(OMNode.CDATA_SECTION_NODE, text.getType());
-        assertEquals("content", text.getText());
+        Assert.assertEquals(OMNode.CDATA_SECTION_NODE, text.getType());
+        Assert.assertEquals("content", text.getText());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteComment.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteComment.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteComment.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java Wed Mar 20 19:10:20 2013
@@ -18,37 +18,36 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMComment;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
+
+public class WriteCommentScenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeComment");
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
 
-public class TestWriteComment extends AxiomTestCase {
-    public TestWriteComment(OMMetaFactory metaFactory) {
-        super(metaFactory);
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement(null, "root", null);
+        writer.writeComment("comment");
+        writer.writeEndElement();
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement(null, "root", null);
-                writer.writeComment("comment");
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void validate(OMElement element, Map testContext) {
         OMNode child = element.getFirstOMChild();
-        assertTrue(child instanceof OMComment);
-        assertEquals("comment", ((OMComment)child).getValue());
+        Assert.assertTrue(child instanceof OMComment);
+        Assert.assertEquals("comment", ((OMComment)child).getValue());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandlerProvider.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandlerProvider.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandlerProvider.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java Wed Mar 20 19:10:20 2013
@@ -19,6 +19,8 @@
 package org.apache.axiom.ts.om.sourcedelement.push;
 
 import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
 
 import javax.activation.DataHandler;
 import javax.xml.stream.XMLStreamException;
@@ -27,51 +29,48 @@ import javax.xml.stream.XMLStreamWriter;
 import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
 import org.apache.axiom.ext.stax.datahandler.DataHandlerWriter;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMText;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
 import org.apache.axiom.util.stax.XMLStreamWriterUtils;
+import org.junit.Assert;
 
 /**
  * Tests that {@link DataHandlerWriter#writeDataHandler(DataHandlerProvider, String, boolean)}
  * creates an {@link OMText} backed by a {@link DataHandlerProvider}.
  */
-public class TestWriteDataHandlerProvider extends AxiomTestCase {
-    public TestWriteDataHandlerProvider(OMMetaFactory metaFactory) {
-        super(metaFactory);
+public class WriteDataHandlerProviderScenario implements PushOMDataSourceScenario {
+    private final DataHandler dh = new DataHandler("test", "text/plain");
+    private final DataHandlerProvider dhp = new DataHandlerProvider() {
+        public boolean isLoaded() {
+            return true;
+        }
+        
+        public DataHandler getDataHandler() throws IOException {
+            return dh;
+        }
+    };
+
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeDataHandlerProvider");
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
+
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement(null, "root", null);
+        try {
+            XMLStreamWriterUtils.writeDataHandler(writer, dhp, null, true);
+        } catch (IOException ex) {
+            throw new XMLStreamException(ex);
+        }
+        writer.writeEndElement();
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        final DataHandler dh = new DataHandler("test", "text/plain");
-        final DataHandlerProvider dhp = new DataHandlerProvider() {
-            public boolean isLoaded() {
-                return true;
-            }
-            
-            public DataHandler getDataHandler() throws IOException {
-                return dh;
-            }
-        };
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement(null, "root", null);
-                try {
-                    XMLStreamWriterUtils.writeDataHandler(writer, dhp, null, true);
-                } catch (IOException ex) {
-                    throw new XMLStreamException(ex);
-                }
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void validate(OMElement element, Map testContext) {
         OMText child = (OMText)element.getFirstOMChild();
-        assertTrue(child.isBinary());
-        assertSame(dh, child.getDataHandler());
+        Assert.assertTrue(child.isBinary());
+        Assert.assertSame(dh, child.getDataHandler());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandler.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandler.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteDataHandler.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java Wed Mar 20 19:10:20 2013
@@ -19,6 +19,8 @@
 package org.apache.axiom.ts.om.sourcedelement.push;
 
 import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
 
 import javax.activation.DataHandler;
 import javax.xml.stream.XMLStreamException;
@@ -26,42 +28,39 @@ import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.ext.stax.datahandler.DataHandlerWriter;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMText;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
 import org.apache.axiom.util.stax.XMLStreamWriterUtils;
+import org.junit.Assert;
 
 /**
  * Tests that {@link DataHandlerWriter#writeDataHandler(DataHandler, String, boolean)} creates an
  * {@link OMText} backed by a {@link DataHandler}.
  */
-public class TestWriteDataHandler extends AxiomTestCase {
-    public TestWriteDataHandler(OMMetaFactory metaFactory) {
-        super(metaFactory);
+public class WriteDataHandlerScenario implements PushOMDataSourceScenario {
+    private final DataHandler dh = new DataHandler("test", "text/plain");
+    
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeDataHandler");
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        final DataHandler dh = new DataHandler("test", "text/plain");
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement(null, "root", null);
-                try {
-                    XMLStreamWriterUtils.writeDataHandler(writer, dh, null, true);
-                } catch (IOException ex) {
-                    throw new XMLStreamException(ex);
-                }
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
+
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement(null, "root", null);
+        try {
+            XMLStreamWriterUtils.writeDataHandler(writer, dh, null, true);
+        } catch (IOException ex) {
+            throw new XMLStreamException(ex);
+        }
+        writer.writeEndElement();
+    }
+
+    public void validate(OMElement element, Map testContext) {
         OMText child = (OMText)element.getFirstOMChild();
-        assertTrue(child.isBinary());
-        assertSame(dh, child.getDataHandler());
+        Assert.assertTrue(child.isBinary());
+        Assert.assertSame(dh, child.getDataHandler());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteEmptyElementAutoPrefix.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteEmptyElementAutoPrefix.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteEmptyElementAutoPrefix.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java Wed Mar 20 19:10:20 2013
@@ -18,42 +18,41 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
 
 /**
  * Tests that {@link XMLStreamWriter#writeEmptyElement(String, String)} automatically selects an
  * appropriate prefix.
  */
-public class TestWriteEmptyElementAutoPrefix extends AxiomTestCase {
-    public TestWriteEmptyElementAutoPrefix(OMMetaFactory metaFactory) {
-        super(metaFactory);
+public class WriteEmptyElementAutoPrefixScenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeEmptyElementAutoPrefix");
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
+
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement(null, "root", null);
+        writer.writeNamespace("p", "urn:test");
+        writer.setPrefix("p", "urn:test");
+        writer.writeEmptyElement("urn:test", "child");
+        writer.writeEndElement();
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement(null, "root", null);
-                writer.writeNamespace("p", "urn:test");
-                writer.setPrefix("p", "urn:test");
-                writer.writeEmptyElement("urn:test", "child");
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void validate(OMElement element, Map testContext) {
         OMElement child = element.getFirstElement();
-        assertEquals("p", child.getPrefix());
-        assertEquals("urn:test", child.getNamespaceURI());
-        assertEquals("child", child.getLocalName());
+        Assert.assertEquals("p", child.getPrefix());
+        Assert.assertEquals("urn:test", child.getNamespaceURI());
+        Assert.assertEquals("child", child.getLocalName());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteNamespace.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteNamespace.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteNamespace.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java Wed Mar 20 19:10:20 2013
@@ -18,60 +18,63 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
 import java.util.Iterator;
+import java.util.Map;
 
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
 
 /**
  * Tests that {@link XMLStreamWriter#writeNamespace(String, String)} creates the expected namespace
  * declaration.
  */
-public class TestWriteNamespace extends AxiomTestCase {
+public class WriteNamespaceScenario implements PushOMDataSourceScenario {
     private final String prefix;
     private final String namespaceURI;
     
-    public TestWriteNamespace(OMMetaFactory metaFactory, String prefix, String namespaceURI) {
-        super(metaFactory);
+    public WriteNamespaceScenario(String prefix, String namespaceURI) {
         this.prefix = prefix;
         this.namespaceURI = namespaceURI;
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement("_p_", "root", "urn:__test__");
-                writer.writeNamespace("_p_", "urn:test");
-                writer.writeNamespace(prefix, namespaceURI);
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeNamespace");
+        testCase.addTestParameter("prefix", prefix);
+        testCase.addTestParameter("uri", namespaceURI);
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
+
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement("_p_", "root", "urn:__test__");
+        writer.writeNamespace("_p_", "urn:test");
+        writer.writeNamespace(prefix, namespaceURI);
+        writer.writeEndElement();
+    }
+
+    public void validate(OMElement element, Map testContext) {
         OMNamespace decl = null;
         Iterator it = element.getAllDeclaredNamespaces();
         while (it.hasNext()) {
             OMNamespace ns = (OMNamespace)it.next();
             if (!ns.getPrefix().equals("_p_")) {
                 if (decl != null) {
-                    fail("Found unexpected namespace declaration");
+                    Assert.fail("Found unexpected namespace declaration");
                 } else {
                     decl = ns;
                 }
             }
         }
-        assertNotNull(decl);
-        assertEquals(prefix, decl.getPrefix());
-        assertEquals(namespaceURI, decl.getNamespaceURI());
+        Assert.assertNotNull(decl);
+        Assert.assertEquals(prefix, decl.getPrefix());
+        Assert.assertEquals(namespaceURI, decl.getNamespaceURI());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction1.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction1.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction1.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java Wed Mar 20 19:10:20 2013
@@ -18,39 +18,38 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMProcessingInstruction;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
+
+public class WriteProcessingInstruction1Scenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeProcessingInstruction1");
+    }
 
-public class TestWriteProcessingInstruction1 extends AxiomTestCase {
-    public TestWriteProcessingInstruction1(OMMetaFactory metaFactory) {
-        super(metaFactory);
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement(null, "root", null);
-                writer.writeProcessingInstruction("target");
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement(null, "root", null);
+        writer.writeProcessingInstruction("target");
+        writer.writeEndElement();
+    }
+    
+    public void validate(OMElement element, Map testContext) {
         OMNode child = element.getFirstOMChild();
-        assertTrue(child instanceof OMProcessingInstruction);
+        Assert.assertTrue(child instanceof OMProcessingInstruction);
         OMProcessingInstruction pi = (OMProcessingInstruction)child;
-        assertEquals("target", pi.getTarget());
-        assertEquals("", pi.getValue());
+        Assert.assertEquals("target", pi.getTarget());
+        Assert.assertEquals("", pi.getValue());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction2.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction2.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteProcessingInstruction2.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java Wed Mar 20 19:10:20 2013
@@ -18,39 +18,38 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMProcessingInstruction;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
+
+public class WriteProcessingInstruction2Scenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeProcessingInstruction2");
+    }
 
-public class TestWriteProcessingInstruction2 extends AxiomTestCase {
-    public TestWriteProcessingInstruction2(OMMetaFactory metaFactory) {
-        super(metaFactory);
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement(null, "root", null);
-                writer.writeProcessingInstruction("target", "data");
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement(null, "root", null);
+        writer.writeProcessingInstruction("target", "data");
+        writer.writeEndElement();
+    }
+    
+    public void validate(OMElement element, Map testContext) {
         OMNode child = element.getFirstOMChild();
-        assertTrue(child instanceof OMProcessingInstruction);
+        Assert.assertTrue(child instanceof OMProcessingInstruction);
         OMProcessingInstruction pi = (OMProcessingInstruction)child;
-        assertEquals("target", pi.getTarget());
-        assertEquals("data", pi.getValue());
+        Assert.assertEquals("target", pi.getTarget());
+        Assert.assertEquals("data", pi.getValue());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementAutoPrefix.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementAutoPrefix.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementAutoPrefix.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java Wed Mar 20 19:10:20 2013
@@ -18,44 +18,43 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
 
 /**
  * Tests that {@link XMLStreamWriter#writeStartElement(String, String)} automatically selects an
  * appropriate prefix.
  */
-public class TestWriteStartElementAutoPrefix extends AxiomTestCase {
-    public TestWriteStartElementAutoPrefix(OMMetaFactory metaFactory) {
-        super(metaFactory);
+public class WriteStartElementAutoPrefixScenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeStartElementAutoPrefix");
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
+
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement(null, "root", null);
+        writer.writeNamespace("p", "urn:test");
+        writer.setPrefix("p", "urn:test");
+        writer.writeStartElement("urn:test", "child");
+        writer.writeCharacters("test");
+        writer.writeEndElement();
+        writer.writeEndElement();
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement(null, "root", null);
-                writer.writeNamespace("p", "urn:test");
-                writer.setPrefix("p", "urn:test");
-                writer.writeStartElement("urn:test", "child");
-                writer.writeCharacters("test");
-                writer.writeEndElement();
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void validate(OMElement element, Map testContext) {
         OMElement child = element.getFirstElement();
-        assertEquals("p", child.getPrefix());
-        assertEquals("urn:test", child.getNamespaceURI());
-        assertEquals("child", child.getLocalName());
+        Assert.assertEquals("p", child.getPrefix());
+        Assert.assertEquals("urn:test", child.getNamespaceURI());
+        Assert.assertEquals("child", child.getLocalName());
     }
 }

Copied: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java (from r1458519, webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementWithDefaultNamespaceDeclaredOnParent.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementWithDefaultNamespaceDeclaredOnParent.java&r1=1458519&r2=1459001&rev=1459001&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/TestWriteStartElementWithDefaultNamespaceDeclaredOnParent.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java Wed Mar 20 19:10:20 2013
@@ -18,45 +18,44 @@
  */
 package org.apache.axiom.ts.om.sourcedelement.push;
 
+import java.util.Collections;
+import java.util.Map;
+
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.ds.AbstractPushOMDataSource;
-import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
 
 /**
  * Tests that {@link XMLStreamWriter#writeStartElement(String, String, String)} creates the correct
  * {@link OMElement} if the element uses a default namespace declared on the parent.
  */
-public class TestWriteStartElementWithDefaultNamespaceDeclaredOnParent extends AxiomTestCase {
-    public TestWriteStartElementWithDefaultNamespaceDeclaredOnParent(OMMetaFactory metaFactory) {
-        super(metaFactory);
+public class WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario implements PushOMDataSourceScenario {
+    public void addTestParameters(MatrixTestCase testCase) {
+        testCase.addTestParameter("scenario", "writeStartElementWithDefaultNamespaceDeclaredOnParent");
+    }
+
+    public Map getNamespaceContext() {
+        return Collections.EMPTY_MAP;
+    }
+
+    public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+        writer.writeStartElement("", "root", "urn:test");
+        writer.writeDefaultNamespace("urn:test");
+        writer.setDefaultNamespace("urn:test");
+        writer.writeStartElement("", "child", "urn:test");
+        writer.writeCharacters("test");
+        writer.writeEndElement();
+        writer.writeEndElement();
     }
 
-    protected void runTest() throws Throwable {
-        OMFactory factory = metaFactory.getOMFactory();
-        OMElement element = factory.createOMElement(new AbstractPushOMDataSource() {
-            public void serialize(XMLStreamWriter writer) throws XMLStreamException {
-                writer.writeStartElement("", "root", "urn:test");
-                writer.writeDefaultNamespace("urn:test");
-                writer.setDefaultNamespace("urn:test");
-                writer.writeStartElement("", "child", "urn:test");
-                writer.writeCharacters("test");
-                writer.writeEndElement();
-                writer.writeEndElement();
-            }
-            
-            public boolean isDestructiveWrite() {
-                return false;
-            }
-        });
+    public void validate(OMElement element, Map testContext) {
         OMElement child = element.getFirstElement();
-        assertNull(child.getPrefix());
-        assertEquals("urn:test", child.getNamespaceURI());
-        assertEquals("child", child.getLocalName());
-        assertFalse(child.getAllDeclaredNamespaces().hasNext());
+        Assert.assertNull(child.getPrefix());
+        Assert.assertEquals("urn:test", child.getNamespaceURI());
+        Assert.assertEquals("child", child.getLocalName());
+        Assert.assertFalse(child.getAllDeclaredNamespaces().hasNext());
     }
 }