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 2026/03/22 10:35:37 UTC

(ws-axiom) branch master updated: Migrate SOAPTestSuiteBuilder to matrix test framework

This is an automated email from the ASF dual-hosted git repository.

veithen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ws-axiom.git


The following commit(s) were added to refs/heads/master by this push:
     new fbb50f924 Migrate SOAPTestSuiteBuilder to matrix test framework
fbb50f924 is described below

commit fbb50f92494f6a493452a2f62e1d8dfe9f588923
Author: Andreas Veithen-Knowles <an...@gmail.com>
AuthorDate: Sun Mar 22 10:34:58 2026 +0000

    Migrate SOAPTestSuiteBuilder to matrix test framework
    
    Replace SOAPTestSuiteBuilder with SOAPTestSuite using the new
    MatrixTestNode-based framework. Test parameters are now injected
    via Guice (@Inject constructors with @Named qualifiers) instead of
    being passed explicitly to constructors.
    
    - Add SOAPTestSuite with FanOutNode/ConditionalNode/InjectorNode tree
    - Delete SOAPTestSuiteBuilder
    - Convert ~150 SOAP test classes to use @Inject constructors
    - Use @Named annotations for disambiguating same-type bindings
    - Remove addTestParameter calls (handled by FanOutNode callbacks)
---
 .../soap/impl/dom/SOAPImplementationTest.java      |  19 +-
 implementations/axiom-impl/pom.xml                 |   5 +
 .../soap/impl/llom/SOAPImplementationTest.java     |  18 +-
 .../org/apache/axiom/ts/soap/SOAPTestSuite.java    | 888 +++++++++++++++++++++
 .../apache/axiom/ts/soap/SOAPTestSuiteBuilder.java | 590 --------------
 .../apache/axiom/ts/soap/body/TestAddFault1.java   |   2 +
 .../apache/axiom/ts/soap/body/TestAddFault2.java   |   2 +
 .../axiom/ts/soap/body/TestCloneOMElement.java     |   2 +
 .../apache/axiom/ts/soap/body/TestGetFault.java    |   2 +
 .../axiom/ts/soap/body/TestGetFaultFakeFault.java  |   2 +
 .../axiom/ts/soap/body/TestGetFaultNoFault.java    |   5 +-
 .../axiom/ts/soap/body/TestGetFaultWithParser.java |   2 +
 .../soap/body/TestGetFaultWithParserNoFault.java   |   2 +
 .../TestGetFirstElementLocalNameEmptyBody.java     |   2 +
 .../TestGetFirstElementLocalNameWithParser.java    |   2 +
 .../TestGetFirstElementLocalNameWithParser2.java   |   6 +-
 ...FirstElementLocalNameWithParserNoLookahead.java |   2 +
 .../soap/body/TestGetFirstElementNSEmptyBody.java  |   2 +
 .../soap/body/TestGetFirstElementNSWithParser.java |   2 +
 .../apache/axiom/ts/soap/body/TestHasFault.java    |   2 +
 .../ts/soap/body/TestHasFaultAfterReplace.java     |   2 +
 .../axiom/ts/soap/body/TestHasFaultFakeFault.java  |   2 +
 .../axiom/ts/soap/body/TestHasFaultNoFault.java    |   5 +-
 .../soap/body/TestHasFaultWithOMSEUnknownName.java |   2 +
 .../axiom/ts/soap/body/TestHasFaultWithParser.java |   2 +
 .../soap/body/TestHasFaultWithParserNoFault.java   |   2 +
 .../body/TestSerializeWithXSITypeAttribute.java    |   4 +-
 .../apache/axiom/ts/soap/builder/BadInputTest.java |   6 +-
 .../apache/axiom/ts/soap/builder/MessageTest.java  |   3 +-
 .../axiom/ts/soap/builder/TestCommentInEpilog.java |   2 +
 .../axiom/ts/soap/builder/TestCommentInProlog.java |   2 +
 .../TestCreateSOAPModelBuilderFromDOMSource.java   |   3 +
 .../TestCreateSOAPModelBuilderFromSAXSource.java   |   3 +
 ...ateSOAPModelBuilderMTOMContentTypeMismatch.java |   7 +-
 .../org/apache/axiom/ts/soap/builder/TestDTD.java  |   2 +
 .../ts/soap/builder/TestRegisterCustomBuilder.java |   2 +
 .../TestRegisterCustomBuilderForPayload.java       |   4 +-
 ...CustomBuilderForPayloadAfterSOAPFaultCheck.java |   2 +
 .../ts/soap/envelope/TestAddElementAfterBody.java  |   7 +-
 .../TestAddHeaderToIncompleteEnvelope.java         |   2 +
 .../ts/soap/envelope/TestBodyHeaderOrder.java      |   2 +
 .../apache/axiom/ts/soap/envelope/TestClone.java   |   3 +-
 .../envelope/TestCloneWithSourcedElement1.java     |   2 +
 .../envelope/TestCloneWithSourcedElement2.java     |   2 +
 .../apache/axiom/ts/soap/envelope/TestDetach.java  |   2 +
 .../apache/axiom/ts/soap/envelope/TestGetBody.java |   2 +
 .../soap/envelope/TestGetBodyOnEmptyEnvelope.java  |   2 +
 .../TestGetBodyOnEnvelopeWithHeaderOnly.java       |   2 +
 .../ts/soap/envelope/TestGetBodyWithParser.java    |   2 +
 .../axiom/ts/soap/envelope/TestGetHeader.java      |   2 +
 .../ts/soap/envelope/TestGetHeaderWithParser.java  |   2 +
 .../envelope/TestGetHeaderWithParserNoHeader.java  |   2 +
 .../ts/soap/envelope/TestGetOrCreateHeader.java    |   2 +
 .../TestGetOrCreateHeaderWithParserNoHeader.java   |   2 +
 .../TestGetSOAPBodyFirstElementLocalNameAndNS.java |   4 +-
 ...APBodyFirstElementLocalNameAndNSWithParser.java |   4 +-
 ...ithoutCachingWithPartiallyBuiltHeaderBlock.java |   2 +
 .../axiom/ts/soap/envelope/TestHasFault.java       |   2 +
 .../ts/soap/envelope/TestHasFaultWithParser.java   |   2 +
 .../axiom/ts/soap/envelope/TestSerialize.java      |   6 +-
 .../TestSerializeAndConsumeWithOMSEInBody.java     |   2 +
 .../ts/soap/envelope/TestSerializeAsChild.java     |   3 +
 .../soap/factory/TestCreateDefaultSOAPMessage.java |   2 +
 .../ts/soap/factory/TestCreateSOAPElement.java     |   6 +-
 .../TestCreateSOAPElementWithNullParent.java       |  10 +-
 .../factory/TestCreateSOAPElementWithParent.java   |  12 +-
 .../TestCreateSOAPEnvelopeWithCustomPrefix.java    |   2 +
 .../factory/TestCreateSOAPFaultWithException.java  |   7 +-
 .../TestCreateSOAPHeaderBlockFromOMElement.java    |   3 +
 .../ts/soap/factory/TestFactoryIsSingleton.java    |   2 +
 .../ts/soap/factory/TestGetDefaultEnvelope.java    |   3 +
 .../soap/factory/TestGetDefaultFaultEnvelope.java  |   2 +
 .../axiom/ts/soap/factory/TestGetMetaFactory.java  |   2 +
 .../axiom/ts/soap/factory/TestGetNamespace.java    |   2 +
 .../apache/axiom/ts/soap/fault/TestChildOrder.java |  19 +-
 .../axiom/ts/soap/fault/TestGetCodeWithParser.java |   2 +
 .../ts/soap/fault/TestGetDetailWithParser.java     |   2 +
 .../axiom/ts/soap/fault/TestGetException.java      |   3 +
 .../ts/soap/fault/TestGetReasonWithParser.java     |   2 +
 .../axiom/ts/soap/fault/TestGetRoleWithParser.java |   2 +
 .../axiom/ts/soap/fault/TestSetException.java      |   3 +
 .../axiom/ts/soap/fault/TestWrongParent1.java      |   3 +
 .../axiom/ts/soap/fault/TestWrongParent2.java      |   3 +
 .../axiom/ts/soap/fault/TestWrongParent3.java      |   3 +
 .../ts/soap/faultcode/TestGetValueAsQName.java     |   3 +
 .../faultcode/TestGetValueAsQNameWithParser.java   |   2 +
 .../ts/soap/faultdetail/TestAddDetailEntry.java    |   3 +
 ...tailEntriesUsingDefaultNamespaceWithParser.java |   2 +
 .../soap/faultdetail/TestGetAllDetailEntries.java  |   2 +
 .../TestGetAllDetailEntriesWithParser.java         |   2 +
 .../ts/soap/faultdetail/TestSerialization.java     |   3 +
 .../ts/soap/faultdetail/TestWSCommons202.java      |   2 +
 .../ts/soap/faultnode/TestGetFaultNodeValue.java   |   2 +
 .../faultnode/TestGetFaultNodeValueWithParser.java |   2 +
 .../ts/soap/faultnode/TestSetFaultNodeValue.java   |   2 +
 .../soap/faultreason/TestGetFaultReasonText.java   |   3 +
 .../axiom/ts/soap/faultrole/TestGetRoleValue.java  |   2 +
 .../soap/faultrole/TestGetRoleValueWithParser.java |   2 +
 .../axiom/ts/soap/faultrole/TestSetRoleValue.java  |   2 +
 .../axiom/ts/soap/faulttext/TestGetLang.java       |   2 +
 .../ts/soap/faulttext/TestGetLangFromParser.java   |   2 +
 .../axiom/ts/soap/faulttext/TestSetLang.java       |   2 +
 .../header/TestAddChildWithPlainOMElement.java     |   3 +
 .../axiom/ts/soap/header/TestAddHeaderBlock.java   |   3 +
 .../soap/header/TestAddHeaderBlockFromQName.java   |   3 +
 ...estAddHeaderBlockFromQNameWithoutNamespace.java |   7 +-
 .../TestAddHeaderBlockWithoutNamespace1.java       |   3 +
 .../TestAddHeaderBlockWithoutNamespace2.java       |   3 +
 .../ts/soap/header/TestDiscardIncomplete.java      |   2 +
 .../ts/soap/header/TestDiscardPartiallyBuilt.java  |   3 +
 .../ts/soap/header/TestExamineAllHeaderBlocks.java |   3 +
 .../TestExamineAllHeaderBlocksWithParser.java      |   3 +
 .../ts/soap/header/TestExamineHeaderBlocks.java    |   3 +
 .../header/TestExamineHeaderBlocksWithParser.java  |   3 +
 ...xamineMustUnderstandHeaderBlocksWithParser.java |   3 +
 .../ts/soap/header/TestExtractAllHeaderBlocks.java |   3 +
 .../soap/header/TestGetHeaderBlocksWithNSURI.java  |   3 +
 .../TestGetHeaderBlocksWithNSURIWithParser.java    |   3 +
 .../soap/header/TestGetHeaderBlocksWithName.java   |   3 +
 .../TestGetHeadersToProcessWithNamespace.java      |   3 +
 .../header/TestGetHeadersToProcessWithParser.java  |   5 +-
 .../ts/soap/headerblock/TestBlobOMDataSource.java  |   3 +
 .../axiom/ts/soap/headerblock/TestClone.java       |  10 +-
 .../TestCloneProcessedWithoutPreservingModel.java  |   3 +
 .../soap/headerblock/TestGetBooleanAttribute.java  |   6 +-
 .../TestGetBooleanAttributeDefault.java            |   5 +-
 .../TestGetBooleanAttributeInvalid.java            |   9 +-
 .../TestGetBooleanAttributeUnspported.java         |   5 +-
 .../TestGetMustUnderstandWithParser.java           |   3 +
 .../axiom/ts/soap/headerblock/TestGetRole.java     |   2 +
 .../ts/soap/headerblock/TestGetRoleWithParser.java |   3 +
 .../axiom/ts/soap/headerblock/TestGetVersion.java  |   2 +
 .../TestSetAttributeNamespacePrefix.java           |   4 +-
 .../soap/headerblock/TestSetBooleanAttribute.java  |   9 +-
 .../TestSetBooleanAttributeUnsupported.java        |   5 +-
 .../axiom/ts/soap/headerblock/TestSetRole.java     |   2 +
 .../TestSetRoleWithoutExistingNamespaceDecl.java   |   4 +-
 .../ts/soap/headerblock/TestWrongParent1.java      |   3 +
 .../ts/soap/headerblock/TestWrongParent2.java      |   3 +
 .../ts/soap/headerblock/TestWrongParent3.java      |   3 +
 .../apache/axiom/ts/soap/message/TestClone.java    |   9 +-
 .../axiom/ts/soap/message/TestCloneIncomplete.java |   9 +-
 .../message/TestGetCharsetEncodingWithParser.java  |   3 +
 .../soap/message/TestGetOMFactoryWithParser.java   |   2 +
 .../axiom/ts/soap/message/TestSerialize.java       |   6 +-
 .../ts/soap/message/TestSetOMDocumentElement.java  |   2 +
 .../TestSetOMDocumentElementNonSOAPEnvelope.java   |   7 +-
 .../apache/axiom/ts/soap/misc/TestGetChild.java    |   7 +-
 .../apache/axiom/ts/soap/misc/TestSetChild.java    |   7 +-
 .../ts/soap/misc/TestSetChildVersionMismatch.java  |   7 +-
 .../soap/xpath/TestXPathAppliedToSOAPEnvelope.java |   8 +-
 .../axiom/ts/soap11/builder/TestBuilder.java       |   3 +
 .../apache/axiom/ts/soap11/fault/TestGetNode.java  |   2 +
 .../apache/axiom/ts/soap11/fault/TestSetNode.java  |   2 +
 .../axiom/ts/soap11/faultcode/TestGetValue.java    |   3 +
 .../soap11/faultcode/TestGetValueWithParser.java   |   2 +
 .../ts/soap11/faultcode/TestSetValueFromQName.java |   2 +
 .../ts/soap11/faultreason/TestAddSOAPText.java     |   2 +
 .../soap11/faultreason/TestGetFirstSOAPText.java   |   2 +
 .../soap11/faultreason/TestGetTextWithCDATA.java   |   3 +
 .../axiom/ts/soap12/builder/TestBuilder.java       |   3 +
 .../soap12/envelope/TestBuildWithAttachments.java  |   3 +
 .../soap12/envelope/TestMTOMForwardStreaming.java  |   8 +-
 .../soap12/factory/TestCreateSOAPFaultSubCode.java |   3 +
 .../apache/axiom/ts/soap12/fault/TestGetNode.java  |   2 +
 .../ts/soap12/fault/TestGetNodeWithParser.java     |   2 +
 .../ts/soap12/fault/TestMoreChildrenAddition.java  |   2 +
 .../apache/axiom/ts/soap12/fault/TestSetNode.java  |   2 +
 .../soap12/faultcode/TestGetSubCodeWithParser.java |   2 +
 .../soap12/faultcode/TestGetValueWithParser.java   |   2 +
 .../ts/soap12/faultcode/TestSetValueFromQName.java |   3 +
 .../TestSetValueFromQNameWithExistingValue.java    |   3 +
 .../ts/soap12/faultreason/TestAddSOAPText.java     |   2 +
 .../faultreason/TestAddSOAPTextMultiple.java       |   3 +
 .../TestAddSOAPTextWithSOAPVersionMismatch.java    |   2 +
 .../faultreason/TestGetAllSoapTextsWithParser.java |   3 +
 .../soap12/faultreason/TestGetFaultReasonText.java |   3 +
 .../TestGetFaultReasonTextCaseSensitivity.java     |   3 +
 ...TestGetFaultReasonTextWithoutLangAttribute.java |   3 +
 .../soap12/faultreason/TestGetFirstSOAPText.java   |   2 +
 .../TestGetFirstSOAPTextWithParser.java            |   2 +
 .../TestGetSubCodeNestedWithParser.java            |   2 +
 .../faultsubcode/TestGetSubCodeWithParser.java     |   2 +
 .../TestGetValueAsQNameWithParser.java             |   3 +
 .../faultsubcode/TestGetValueNestedWithParser.java |   2 +
 .../faultsubcode/TestGetValueWithParser.java       |   2 +
 .../ts/soap12/faulttext/TestGetLangWithParser.java |   2 +
 .../TestExamineMustUnderstandHeaderBlocks.java     |   3 +
 .../soap12/headerblock/TestGetRelayWithParser.java |   3 +
 .../axiom/ts/soap12/mtom/TestBuilderDetach.java    |   3 +
 .../mtom/TestGetXMLStreamReaderMTOMEncoded.java    |   8 +-
 191 files changed, 1431 insertions(+), 701 deletions(-)

diff --git a/implementations/axiom-dom/src/test/java/org/apache/axiom/soap/impl/dom/SOAPImplementationTest.java b/implementations/axiom-dom/src/test/java/org/apache/axiom/soap/impl/dom/SOAPImplementationTest.java
index da57300b7..830299fbe 100644
--- a/implementations/axiom-dom/src/test/java/org/apache/axiom/soap/impl/dom/SOAPImplementationTest.java
+++ b/implementations/axiom-dom/src/test/java/org/apache/axiom/soap/impl/dom/SOAPImplementationTest.java
@@ -18,17 +18,16 @@
  */
 package org.apache.axiom.soap.impl.dom;
 
-import org.apache.axiom.om.impl.dom.factory.OMDOMMetaFactoryLoader;
-import org.apache.axiom.ts.soap.SOAPTestSuiteBuilder;
-
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
+import java.util.stream.Stream;
 
-public class SOAPImplementationTest extends TestCase {
-    public static TestSuite suite() {
-        SOAPTestSuiteBuilder builder =
-                new SOAPTestSuiteBuilder(new OMDOMMetaFactoryLoader().load(null));
+import org.apache.axiom.om.impl.dom.factory.OMDOMMetaFactoryLoader;
+import org.apache.axiom.ts.soap.SOAPTestSuite;
+import org.junit.jupiter.api.DynamicNode;
+import org.junit.jupiter.api.TestFactory;
 
-        return builder.build();
+public class SOAPImplementationTest {
+    @TestFactory
+    public Stream<DynamicNode> tests() {
+        return SOAPTestSuite.create(new OMDOMMetaFactoryLoader().load(null)).toDynamicNodes();
     }
 }
diff --git a/implementations/axiom-impl/pom.xml b/implementations/axiom-impl/pom.xml
index 0d4f10387..899e1e190 100644
--- a/implementations/axiom-impl/pom.xml
+++ b/implementations/axiom-impl/pom.xml
@@ -67,6 +67,11 @@
             <artifactId>junit-vintage-engine</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>axiom-testsuite</artifactId>
diff --git a/implementations/axiom-impl/src/test/java/org/apache/axiom/soap/impl/llom/SOAPImplementationTest.java b/implementations/axiom-impl/src/test/java/org/apache/axiom/soap/impl/llom/SOAPImplementationTest.java
index a93340567..1cd941039 100644
--- a/implementations/axiom-impl/src/test/java/org/apache/axiom/soap/impl/llom/SOAPImplementationTest.java
+++ b/implementations/axiom-impl/src/test/java/org/apache/axiom/soap/impl/llom/SOAPImplementationTest.java
@@ -18,17 +18,17 @@
  */
 package org.apache.axiom.soap.impl.llom;
 
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
+import java.util.stream.Stream;
 
 import org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactoryLoader;
-import org.apache.axiom.ts.soap.SOAPTestSuiteBuilder;
+import org.apache.axiom.ts.soap.SOAPTestSuite;
+import org.junit.jupiter.api.DynamicNode;
+import org.junit.jupiter.api.TestFactory;
 
-public class SOAPImplementationTest extends TestCase {
-    public static TestSuite suite() {
-        SOAPTestSuiteBuilder builder =
-                new SOAPTestSuiteBuilder(new OMLinkedListMetaFactoryLoader().load(null));
-
-        return builder.build();
+public class SOAPImplementationTest {
+    @TestFactory
+    public Stream<DynamicNode> tests() {
+        return SOAPTestSuite.create(new OMLinkedListMetaFactoryLoader().load(null))
+                .toDynamicNodes();
     }
 }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuite.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuite.java
new file mode 100644
index 000000000..e35f0599b
--- /dev/null
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuite.java
@@ -0,0 +1,888 @@
+/*
+ * 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.soap;
+
+import static org.apache.axiom.testing.multiton.Multiton.getInstances;
+
+import java.util.Arrays;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMMetaFactory;
+import org.apache.axiom.soap.SOAP11Constants;
+import org.apache.axiom.soap.SOAP12Constants;
+import org.apache.axiom.soap.SOAPConstants;
+import org.apache.axiom.testing.multiton.Multiton;
+import org.apache.axiom.testutils.suite.ConditionalNode;
+import org.apache.axiom.testutils.suite.FanOutNode;
+import org.apache.axiom.testutils.suite.InjectorNode;
+import org.apache.axiom.testutils.suite.MatrixTest;
+import org.apache.axiom.testutils.suite.MatrixTestNode;
+import org.apache.axiom.testutils.suite.ParameterBinding;
+import org.apache.axiom.testutils.suite.ParentNode;
+import org.apache.axiom.ts.dimension.ExpansionStrategy;
+import org.apache.axiom.ts.dimension.serialization.SerializationStrategy;
+
+import com.google.common.collect.ImmutableList;
+import com.google.inject.Key;
+import com.google.inject.name.Names;
+
+public class SOAPTestSuite {
+    private static final ImmutableList<String> badSOAPFiles =
+            ImmutableList.of(
+                    "wrongSoapNs.xml",
+                    "notnamespaceQualified.xml",
+                    "soap11/twoheaders.xml",
+                    "soap11/twoBodymessage.xml",
+                    "soap11/envelopeMissing.xml",
+                    "soap11/haederBodyWrongOrder.xml",
+                    "soap11/invalid-faultcode.xml",
+                    "soap11/invalid-faultstring.xml",
+                    "soap11/invalid-faultactor.xml",
+                    "soap11/processing-instruction.xml",
+                    "soap11/entity-reference.xml",
+                    "soap12/header-bad-case.xml",
+                    "soap12/header-no-namespace.xml",
+                    "soap12/processing-instruction.xml",
+                    "soap12/entity-reference.xml",
+                    "soap12/additional-element-after-body.xml");
+
+    private static final ImmutableList<SOAPSample> goodSOAPFiles;
+
+    static {
+        ImmutableList.Builder<SOAPSample> builder = ImmutableList.builder();
+        builder.add(
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/whitespacedMessage.xml"),
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/minimalMessage.xml"),
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/reallyReallyBigMessage.xml"),
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/emtyBodymessage.xml"),
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/soapfault.xml"),
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/bodyNotQualified.xml"),
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/faultelements-with-comment.xml"),
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/additional-element-after-body.xml"),
+                new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/empty-header.xml"),
+                new SOAPSample(SOAPSpec.SOAP12, "soap/soap12/empty-header.xml"));
+        builder.addAll(Multiton.getInstances(SOAPSample.class));
+        goodSOAPFiles = builder.build();
+    }
+
+    private static final ImmutableList<QName> generalQNames =
+            ImmutableList.of(
+                    new QName("root"),
+                    new QName("urn:test", "root", "p"),
+                    new QName("urn:test", "root"));
+
+    private static final ImmutableList<QName> noFaultQNames =
+            ImmutableList.of(
+                    new QName("root"),
+                    new QName("urn:test", "root", "p"),
+                    new QName("urn:test", "root"),
+                    new QName("Fault"),
+                    new QName("urn:test", "Fault", "p"),
+                    new QName(
+                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI,
+                            "NoFault",
+                            SOAPConstants.SOAP_DEFAULT_NAMESPACE_PREFIX),
+                    new QName(
+                            SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI,
+                            "NoFault",
+                            SOAPConstants.SOAP_DEFAULT_NAMESPACE_PREFIX));
+
+    private static final ParameterBinding<QName> QNAME_PARAMS =
+            (injector, qname, params) -> {
+                params.addTestParameter("prefix", qname.getPrefix());
+                params.addTestParameter("uri", qname.getNamespaceURI());
+                params.addTestParameter("localName", qname.getLocalPart());
+            };
+
+    public static InjectorNode create(OMMetaFactory metaFactory) {
+        return new InjectorNode(
+                binder -> binder.bind(OMMetaFactory.class).toInstance(metaFactory),
+                new ParentNode(
+                        // Per-spec tests (SOAP11 + SOAP12)
+                        new FanOutNode<>(
+                                Multiton.getInstances(SOAPSpec.class),
+                                (binder, value) -> binder.bind(SOAPSpec.class).toInstance(value),
+                                (injector, value, params) ->
+                                        params.addTestParameter("spec", value.getName()),
+                                specTests()),
+                        // Bad SOAP files (spec-independent)
+                        new FanOutNode<>(
+                                badSOAPFiles,
+                                (binder, value) ->
+                                        binder.bind(String.class)
+                                                .annotatedWith(Names.named("file"))
+                                                .toInstance(value),
+                                (injector, value, params) -> params.addTestParameter("file", value),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.builder.BadInputTest.class)),
+                        // Good SOAP files (spec-independent)
+                        new FanOutNode<>(
+                                goodSOAPFiles,
+                                (binder, value) -> binder.bind(SOAPSample.class).toInstance(value),
+                                (injector, value, params) ->
+                                        params.addTestParameter("message", value.getName()),
+                                new ParentNode(
+                                        new MatrixTest(
+                                                org.apache.axiom.ts.soap.builder.MessageTest.class),
+                                        new MatrixTest(
+                                                org.apache.axiom.ts.soap.builder
+                                                        .TestRegisterCustomBuilderForPayload.class),
+                                        new MatrixTest(
+                                                org.apache.axiom.ts.soap.envelope.TestClone.class),
+                                        new FanOutNode<>(
+                                                getInstances(ExpansionStrategy.class),
+                                                (binder, value) ->
+                                                        binder.bind(ExpansionStrategy.class)
+                                                                .toInstance(value),
+                                                ParameterBinding.DIMENSION,
+                                                new FanOutNode<>(
+                                                        getInstances(SerializationStrategy.class),
+                                                        (binder, value) ->
+                                                                binder.bind(
+                                                                                SerializationStrategy
+                                                                                        .class)
+                                                                        .toInstance(value),
+                                                        ParameterBinding.DIMENSION,
+                                                        new ParentNode(
+                                                                new MatrixTest(
+                                                                        org.apache.axiom.ts.soap
+                                                                                .envelope
+                                                                                .TestSerialize
+                                                                                .class),
+                                                                new MatrixTest(
+                                                                        org.apache.axiom.ts.soap
+                                                                                .message
+                                                                                .TestSerialize
+                                                                                .class)))))),
+                        // SOAP 1.1 specific tests
+                        soap11Tests(),
+                        // SOAP 1.2 specific tests
+                        soap12Tests()));
+    }
+
+    private static MatrixTestNode specTests() {
+        return new ParentNode(
+                // ── body package ──
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestAddFault1.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestAddFault2.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestCloneOMElement.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestGetFault.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestGetFaultFakeFault.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestGetFaultWithParser.class),
+                new FanOutNode<>(
+                        generalQNames,
+                        (binder, value) -> binder.bind(QName.class).toInstance(value),
+                        QNAME_PARAMS,
+                        new ParentNode(
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.body
+                                                .TestGetFirstElementLocalNameWithParser.class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.body
+                                                .TestGetFirstElementNSWithParser.class))),
+                new FanOutNode<>(
+                        ImmutableList.of(false, true),
+                        (binder, value) ->
+                                binder.bind(Boolean.class)
+                                        .annotatedWith(Names.named("buildPayload"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter("buildPayload", String.valueOf(value)),
+                        new MatrixTest(
+                                org.apache.axiom.ts.soap.body
+                                        .TestGetFirstElementLocalNameWithParser2.class)),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.body
+                                .TestGetFirstElementLocalNameWithParserNoLookahead.class),
+                new FanOutNode<>(
+                        noFaultQNames,
+                        (binder, value) -> binder.bind(QName.class).toInstance(value),
+                        QNAME_PARAMS,
+                        new ParentNode(
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.body.TestGetFaultNoFault.class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.body.TestGetFaultWithParserNoFault
+                                                .class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.body.TestHasFaultNoFault.class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.body.TestHasFaultWithParserNoFault
+                                                .class))),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.body.TestGetFirstElementLocalNameEmptyBody.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestGetFirstElementNSEmptyBody.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestHasFault.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestHasFaultAfterReplace.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestHasFaultFakeFault.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestHasFaultWithOMSEUnknownName.class),
+                new MatrixTest(org.apache.axiom.ts.soap.body.TestHasFaultWithParser.class),
+                new FanOutNode<>(
+                        getInstances(SerializationStrategy.class),
+                        (binder, value) ->
+                                binder.bind(SerializationStrategy.class).toInstance(value),
+                        ParameterBinding.DIMENSION,
+                        new MatrixTest(
+                                org.apache.axiom.ts.soap.body.TestSerializeWithXSITypeAttribute
+                                        .class)),
+                // ── builder package ──
+                new MatrixTest(org.apache.axiom.ts.soap.builder.TestCommentInEpilog.class),
+                new MatrixTest(org.apache.axiom.ts.soap.builder.TestCommentInProlog.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.builder.TestCreateSOAPModelBuilderFromDOMSource
+                                .class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.builder.TestCreateSOAPModelBuilderFromSAXSource
+                                .class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.builder
+                                .TestCreateSOAPModelBuilderMTOMContentTypeMismatch.class),
+                new MatrixTest(org.apache.axiom.ts.soap.builder.TestDTD.class),
+                new MatrixTest(org.apache.axiom.ts.soap.builder.TestRegisterCustomBuilder.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.builder
+                                .TestRegisterCustomBuilderForPayloadAfterSOAPFaultCheck.class),
+                // ── envelope package ──
+                new FanOutNode<>(
+                        ImmutableList.of(false, true),
+                        (binder, value) ->
+                                binder.bind(Boolean.class)
+                                        .annotatedWith(Names.named("header"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter("header", String.valueOf(value)),
+                        new MatrixTest(
+                                org.apache.axiom.ts.soap.envelope.TestAddElementAfterBody.class)),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.envelope.TestAddHeaderToIncompleteEnvelope.class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestBodyHeaderOrder.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.envelope.TestCloneWithSourcedElement1.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.envelope.TestCloneWithSourcedElement2.class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestDetach.class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestGetBody.class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestGetBodyOnEmptyEnvelope.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.envelope.TestGetBodyOnEnvelopeWithHeaderOnly
+                                .class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestGetBodyWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestGetHeader.class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestGetHeaderWithParser.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.envelope.TestGetHeaderWithParserNoHeader.class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestGetOrCreateHeader.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.envelope.TestGetOrCreateHeaderWithParserNoHeader
+                                .class),
+                new FanOutNode<>(
+                        generalQNames,
+                        (binder, value) -> binder.bind(QName.class).toInstance(value),
+                        QNAME_PARAMS,
+                        new ParentNode(
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.envelope
+                                                .TestGetSOAPBodyFirstElementLocalNameAndNS.class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.envelope
+                                                .TestGetSOAPBodyFirstElementLocalNameAndNSWithParser
+                                                .class))),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.envelope
+                                .TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock
+                                .class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestHasFault.class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestHasFaultWithParser.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.envelope.TestSerializeAndConsumeWithOMSEInBody
+                                .class),
+                new MatrixTest(org.apache.axiom.ts.soap.envelope.TestSerializeAsChild.class),
+                // ── factory package ──
+                new MatrixTest(org.apache.axiom.ts.soap.factory.TestCreateDefaultSOAPMessage.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.factory.TestCreateSOAPEnvelopeWithCustomPrefix
+                                .class),
+                factoryElementTypeTests(),
+                new FanOutNode<>(
+                        ImmutableList.of(true, false),
+                        (binder, value) ->
+                                binder.bind(Boolean.class)
+                                        .annotatedWith(Names.named("withParent"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter("withParent", String.valueOf(value)),
+                        new MatrixTest(
+                                org.apache.axiom.ts.soap.factory.TestCreateSOAPFaultWithException
+                                        .class)),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.factory.TestCreateSOAPHeaderBlockFromOMElement
+                                .class),
+                new MatrixTest(org.apache.axiom.ts.soap.factory.TestFactoryIsSingleton.class),
+                new MatrixTest(org.apache.axiom.ts.soap.factory.TestGetDefaultEnvelope.class),
+                new MatrixTest(org.apache.axiom.ts.soap.factory.TestGetDefaultFaultEnvelope.class),
+                new MatrixTest(org.apache.axiom.ts.soap.factory.TestGetMetaFactory.class),
+                new MatrixTest(org.apache.axiom.ts.soap.factory.TestGetNamespace.class),
+                // ── fault package ──
+                new FanOutNode<>(
+                        getInstances(SerializationStrategy.class),
+                        (binder, value) ->
+                                binder.bind(SerializationStrategy.class).toInstance(value),
+                        ParameterBinding.DIMENSION,
+                        new FanOutNode<>(
+                                ImmutableList.of(
+                                        new SOAPFaultChild[] {
+                                            SOAPFaultChild.REASON, SOAPFaultChild.CODE
+                                        },
+                                        new SOAPFaultChild[] {
+                                            SOAPFaultChild.CODE,
+                                            SOAPFaultChild.REASON,
+                                            SOAPFaultChild.DETAIL,
+                                            SOAPFaultChild.REASON
+                                        }),
+                                (binder, value) ->
+                                        binder.bind(SOAPFaultChild[].class)
+                                                .annotatedWith(Names.named("inputOrder"))
+                                                .toInstance(value),
+                                (injector, value, params) -> {
+                                    StringBuilder buffer = new StringBuilder();
+                                    for (int i = 0; i < value.length; i++) {
+                                        if (i > 0) {
+                                            buffer.append(',');
+                                        }
+                                        buffer.append(
+                                                value[i].getAdapter(SOAPElementTypeAdapter.class)
+                                                        .getType()
+                                                        .getSimpleName());
+                                    }
+                                    params.addTestParameter("inputOrder", buffer.toString());
+                                },
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.fault.TestChildOrder.class))),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestGetCodeWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestGetDetailWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestGetException.class),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestGetReasonWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestGetRoleWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestSetException.class),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestWrongParent1.class),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestWrongParent2.class),
+                new MatrixTest(org.apache.axiom.ts.soap.fault.TestWrongParent3.class),
+                // ── faultcode package ──
+                new MatrixTest(org.apache.axiom.ts.soap.faultcode.TestGetValueAsQName.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.faultcode.TestGetValueAsQNameWithParser.class),
+                // ── faultdetail package ──
+                new MatrixTest(org.apache.axiom.ts.soap.faultdetail.TestAddDetailEntry.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.faultdetail
+                                .TestDetailEntriesUsingDefaultNamespaceWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.faultdetail.TestGetAllDetailEntries.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.faultdetail.TestGetAllDetailEntriesWithParser
+                                .class),
+                new MatrixTest(org.apache.axiom.ts.soap.faultdetail.TestSerialization.class),
+                new MatrixTest(org.apache.axiom.ts.soap.faultdetail.TestWSCommons202.class),
+                // ── faulttext package (conditional) ──
+                new ConditionalNode(
+                        injector ->
+                                injector.getInstance(SOAPSpec.class).getFaultTextQName() != null,
+                        new ParentNode(
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.faulttext.TestGetLang.class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.faulttext.TestGetLangFromParser
+                                                .class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.faulttext.TestSetLang.class))),
+                // ── faultnode package (conditional) ──
+                new ConditionalNode(
+                        injector ->
+                                injector.getInstance(SOAPSpec.class).getFaultNodeQName() != null,
+                        new ParentNode(
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.faultnode.TestGetFaultNodeValue
+                                                .class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.faultnode
+                                                .TestGetFaultNodeValueWithParser.class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.faultnode.TestSetFaultNodeValue
+                                                .class))),
+                // ── faultreason package ──
+                new MatrixTest(org.apache.axiom.ts.soap.faultreason.TestGetFaultReasonText.class),
+                // ── faultrole package ──
+                new MatrixTest(org.apache.axiom.ts.soap.faultrole.TestGetRoleValue.class),
+                new MatrixTest(org.apache.axiom.ts.soap.faultrole.TestGetRoleValueWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.faultrole.TestSetRoleValue.class),
+                // ── header package ──
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestAddChildWithPlainOMElement.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestAddHeaderBlock.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestAddHeaderBlockFromQName.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestAddHeaderBlockFromQNameWithoutNamespace
+                                .class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestAddHeaderBlockWithoutNamespace1.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestAddHeaderBlockWithoutNamespace2.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestDiscardIncomplete.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestDiscardPartiallyBuilt.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestExamineAllHeaderBlocks.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestExamineAllHeaderBlocksWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestExamineHeaderBlocks.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestExamineHeaderBlocksWithParser.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header
+                                .TestExamineMustUnderstandHeaderBlocksWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestExtractAllHeaderBlocks.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestGetHeaderBlocksWithName.class),
+                new MatrixTest(org.apache.axiom.ts.soap.header.TestGetHeaderBlocksWithNSURI.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestGetHeaderBlocksWithNSURIWithParser
+                                .class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestGetHeadersToProcessWithNamespace.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.header.TestGetHeadersToProcessWithParser.class),
+                // ── headerblock package ──
+                headerBlockAttributeTests(),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestBlobOMDataSource.class),
+                new FanOutNode<>(
+                        ImmutableList.<Boolean>of(Boolean.TRUE, Boolean.FALSE),
+                        (binder, value) ->
+                                binder.bind(Boolean.class)
+                                        .annotatedWith(Names.named("processed"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter("processed", String.valueOf(value)),
+                        new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestClone.class)),
+                nullProcessedCloneTest(),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.headerblock
+                                .TestCloneProcessedWithoutPreservingModel.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.headerblock.TestGetMustUnderstandWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestGetRole.class),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestGetRoleWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestGetVersion.class),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestSetRole.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.headerblock.TestSetRoleWithoutExistingNamespaceDecl
+                                .class),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestWrongParent1.class),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestWrongParent2.class),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestWrongParent3.class),
+                // ── message package ──
+                new FanOutNode<>(
+                        ImmutableList.of(true, false),
+                        (binder, value) ->
+                                binder.bind(Boolean.class)
+                                        .annotatedWith(Names.named("preserveModel"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter("preserveModel", String.valueOf(value)),
+                        new ParentNode(
+                                new MatrixTest(org.apache.axiom.ts.soap.message.TestClone.class),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.message.TestCloneIncomplete
+                                                .class))),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.message.TestGetCharsetEncodingWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.message.TestGetOMFactoryWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap.message.TestSetOMDocumentElement.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap.message.TestSetOMDocumentElementNonSOAPEnvelope
+                                .class),
+                // ── misc package ──
+                miscElementTypeTests(),
+                // ── xpath package ──
+                new FanOutNode<>(
+                        ImmutableList.of(true, false),
+                        (binder, value) ->
+                                binder.bind(Boolean.class)
+                                        .annotatedWith(Names.named("createDocument"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter("createDocument", String.valueOf(value)),
+                        new MatrixTest(
+                                org.apache.axiom.ts.soap.xpath.TestXPathAppliedToSOAPEnvelope
+                                        .class)));
+    }
+
+    private static MatrixTestNode factoryElementTypeTests() {
+        return new FanOutNode<>(
+                ImmutableList.copyOf(SOAPElementType.getAll()),
+                (binder, value) ->
+                        binder.bind(SOAPElementType.class)
+                                .annotatedWith(Names.named("type"))
+                                .toInstance(value),
+                (injector, value, params) ->
+                        value.getAdapter(SOAPElementTypeAdapter.class).addTestParameters(params),
+                new ParentNode(
+                        new MatrixTest(
+                                org.apache.axiom.ts.soap.factory.TestCreateSOAPElement.class),
+                        new FanOutNode<>(
+                                injector ->
+                                        ImmutableList.copyOf(
+                                                injector.getInstance(
+                                                                Key.get(
+                                                                        SOAPElementType.class,
+                                                                        Names.named("type")))
+                                                        .getChildTypes()),
+                                (binder, value) ->
+                                        binder.bind(SOAPElementType.class)
+                                                .annotatedWith(Names.named("childType"))
+                                                .toInstance(value),
+                                (injector, value, params) ->
+                                        params.addTestParameter(
+                                                "childType",
+                                                value.getAdapter(SOAPElementTypeAdapter.class)
+                                                        .getType()
+                                                        .getSimpleName()),
+                                new ParentNode(
+                                        new MatrixTest(
+                                                org.apache.axiom.ts.soap.factory
+                                                        .TestCreateSOAPElementWithNullParent.class),
+                                        new ConditionalNode(
+                                                injector -> {
+                                                    SOAPSpec spec =
+                                                            injector.getInstance(SOAPSpec.class);
+                                                    SOAPElementType type =
+                                                            injector.getInstance(
+                                                                    Key.get(
+                                                                            SOAPElementType.class,
+                                                                            Names.named("type")));
+                                                    return type.getQName(spec) != null;
+                                                },
+                                                new MatrixTest(
+                                                        org.apache.axiom.ts.soap.factory
+                                                                .TestCreateSOAPElementWithParent
+                                                                .class))))));
+    }
+
+    private static MatrixTestNode miscElementTypeTests() {
+        return new FanOutNode<>(
+                injector -> {
+                    SOAPSpec spec = injector.getInstance(SOAPSpec.class);
+                    return Arrays.stream(SOAPElementType.getAll())
+                            .filter(type -> type.getQName(spec) != null)
+                            .collect(ImmutableList.toImmutableList());
+                },
+                (binder, value) ->
+                        binder.bind(SOAPElementType.class)
+                                .annotatedWith(Names.named("type"))
+                                .toInstance(value),
+                (injector, value, params) ->
+                        params.addTestParameter(
+                                "type",
+                                value.getAdapter(SOAPElementTypeAdapter.class)
+                                        .getType()
+                                        .getSimpleName()),
+                new FanOutNode<>(
+                        injector -> {
+                            SOAPSpec spec = injector.getInstance(SOAPSpec.class);
+                            SOAPElementType type =
+                                    injector.getInstance(
+                                            Key.get(SOAPElementType.class, Names.named("type")));
+                            return Arrays.stream(type.getChildTypes())
+                                    .filter(childType -> childType.getQName(spec) != null)
+                                    .collect(ImmutableList.toImmutableList());
+                        },
+                        (binder, value) ->
+                                binder.bind(SOAPElementType.class)
+                                        .annotatedWith(Names.named("childType"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter(
+                                        "childType",
+                                        value.getAdapter(SOAPElementTypeAdapter.class)
+                                                .getType()
+                                                .getSimpleName()),
+                        new ParentNode(
+                                new ConditionalNode(
+                                        injector ->
+                                                injector.getInstance(
+                                                                        Key.get(
+                                                                                SOAPElementType
+                                                                                        .class,
+                                                                                Names.named(
+                                                                                        "childType")))
+                                                                .getAdapter(
+                                                                        SOAPElementTypeAdapter
+                                                                                .class)
+                                                                .getGetter()
+                                                        != null,
+                                        new MatrixTest(
+                                                org.apache.axiom.ts.soap.misc.TestGetChild.class)),
+                                new ConditionalNode(
+                                        injector ->
+                                                injector.getInstance(
+                                                                        Key.get(
+                                                                                SOAPElementType
+                                                                                        .class,
+                                                                                Names.named(
+                                                                                        "childType")))
+                                                                .getAdapter(
+                                                                        SOAPElementTypeAdapter
+                                                                                .class)
+                                                                .getSetter()
+                                                        != null,
+                                        new ParentNode(
+                                                new MatrixTest(
+                                                        org.apache.axiom.ts.soap.misc.TestSetChild
+                                                                .class),
+                                                new ConditionalNode(
+                                                        injector -> {
+                                                            SOAPSpec spec =
+                                                                    injector.getInstance(
+                                                                            SOAPSpec.class);
+                                                            SOAPElementType childType =
+                                                                    injector.getInstance(
+                                                                            Key.get(
+                                                                                    SOAPElementType
+                                                                                            .class,
+                                                                                    Names.named(
+                                                                                            "childType")));
+                                                            return childType.getQName(
+                                                                            spec.getAltSpec())
+                                                                    != null;
+                                                        },
+                                                        new MatrixTest(
+                                                                org.apache.axiom.ts.soap.misc
+                                                                        .TestSetChildVersionMismatch
+                                                                        .class)))))));
+    }
+
+    private static MatrixTestNode headerBlockAttributeTests() {
+        return new FanOutNode<>(
+                getInstances(HeaderBlockAttribute.class),
+                (binder, value) -> binder.bind(HeaderBlockAttribute.class).toInstance(value),
+                (injector, value, params) ->
+                        params.addTestParameter(
+                                "attribute", value.getName(injector.getInstance(SOAPSpec.class))),
+                new ParentNode(
+                        new ConditionalNode(
+                                injector ->
+                                        injector.getInstance(HeaderBlockAttribute.class)
+                                                .isSupported(injector.getInstance(SOAPSpec.class)),
+                                new MatrixTest(
+                                        org.apache.axiom.ts.soap.headerblock
+                                                .TestSetAttributeNamespacePrefix.class)),
+                        new ConditionalNode(
+                                injector ->
+                                        injector.getInstance(HeaderBlockAttribute.class)
+                                                .isBoolean(),
+                                new ParentNode(
+                                        new ConditionalNode(
+                                                injector ->
+                                                        injector.getInstance(
+                                                                        HeaderBlockAttribute.class)
+                                                                .isSupported(
+                                                                        injector.getInstance(
+                                                                                SOAPSpec.class)),
+                                                new ParentNode(
+                                                        new FanOutNode<>(
+                                                                injector ->
+                                                                        ImmutableList.copyOf(
+                                                                                injector.getInstance(
+                                                                                                SOAPSpec
+                                                                                                        .class)
+                                                                                        .getBooleanLiterals()),
+                                                                (binder, value) ->
+                                                                        binder.bind(
+                                                                                        BooleanLiteral
+                                                                                                .class)
+                                                                                .toInstance(value),
+                                                                (injector, value, params) ->
+                                                                        params.addTestParameter(
+                                                                                "literal",
+                                                                                value
+                                                                                        .getLexicalRepresentation()),
+                                                                new MatrixTest(
+                                                                        org.apache.axiom.ts.soap
+                                                                                .headerblock
+                                                                                .TestGetBooleanAttribute
+                                                                                .class)),
+                                                        new MatrixTest(
+                                                                org.apache.axiom.ts.soap.headerblock
+                                                                        .TestGetBooleanAttributeDefault
+                                                                        .class),
+                                                        new FanOutNode<>(
+                                                                injector ->
+                                                                        ImmutableList.copyOf(
+                                                                                injector.getInstance(
+                                                                                                SOAPSpec
+                                                                                                        .class)
+                                                                                        .getInvalidBooleanLiterals()),
+                                                                (binder, value) ->
+                                                                        binder.bind(String.class)
+                                                                                .annotatedWith(
+                                                                                        Names.named(
+                                                                                                "value"))
+                                                                                .toInstance(value),
+                                                                (injector, value, params) ->
+                                                                        params.addTestParameter(
+                                                                                "value", value),
+                                                                new MatrixTest(
+                                                                        org.apache.axiom.ts.soap
+                                                                                .headerblock
+                                                                                .TestGetBooleanAttributeInvalid
+                                                                                .class)),
+                                                        new FanOutNode<>(
+                                                                ImmutableList.of(true, false),
+                                                                (binder, value) ->
+                                                                        binder.bind(Boolean.class)
+                                                                                .annotatedWith(
+                                                                                        Names.named(
+                                                                                                "value"))
+                                                                                .toInstance(value),
+                                                                (injector, value, params) ->
+                                                                        params.addTestParameter(
+                                                                                "value",
+                                                                                String.valueOf(
+                                                                                        value)),
+                                                                new MatrixTest(
+                                                                        org.apache.axiom.ts.soap
+                                                                                .headerblock
+                                                                                .TestSetBooleanAttribute
+                                                                                .class)))),
+                                        new ConditionalNode(
+                                                injector ->
+                                                        !injector.getInstance(
+                                                                        HeaderBlockAttribute.class)
+                                                                .isSupported(
+                                                                        injector.getInstance(
+                                                                                SOAPSpec.class)),
+                                                new ParentNode(
+                                                        new MatrixTest(
+                                                                org.apache.axiom.ts.soap.headerblock
+                                                                        .TestGetBooleanAttributeUnspported
+                                                                        .class),
+                                                        new MatrixTest(
+                                                                org.apache.axiom.ts.soap.headerblock
+                                                                        .TestSetBooleanAttributeUnsupported
+                                                                        .class)))))));
+    }
+
+    /**
+     * Special handling for the null-processed case of headerblock.TestClone, which can't go through
+     * a FanOutNode&lt;Boolean&gt; since there's no way to bind null.
+     */
+    private static MatrixTestNode nullProcessedCloneTest() {
+        return new InjectorNode(
+                binder ->
+                        binder.bind(Boolean.class)
+                                .annotatedWith(Names.named("processed"))
+                                .toProvider(com.google.inject.util.Providers.of(null)),
+                new MatrixTest(org.apache.axiom.ts.soap.headerblock.TestClone.class));
+    }
+
+    private static MatrixTestNode soap11Tests() {
+        return new ParentNode(
+                new MatrixTest(org.apache.axiom.ts.soap11.builder.TestBuilder.class),
+                new MatrixTest(org.apache.axiom.ts.soap11.fault.TestGetNode.class),
+                new MatrixTest(org.apache.axiom.ts.soap11.fault.TestSetNode.class),
+                new MatrixTest(org.apache.axiom.ts.soap11.faultcode.TestGetValue.class),
+                new MatrixTest(org.apache.axiom.ts.soap11.faultcode.TestGetValueWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap11.faultcode.TestSetValueFromQName.class),
+                new MatrixTest(org.apache.axiom.ts.soap11.faultreason.TestAddSOAPText.class),
+                new MatrixTest(org.apache.axiom.ts.soap11.faultreason.TestGetFirstSOAPText.class),
+                new MatrixTest(org.apache.axiom.ts.soap11.faultreason.TestGetTextWithCDATA.class));
+    }
+
+    private static MatrixTestNode soap12Tests() {
+        return new ParentNode(
+                new MatrixTest(org.apache.axiom.ts.soap12.builder.TestBuilder.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.envelope.TestBuildWithAttachments.class),
+                new FanOutNode<>(
+                        ImmutableList.of(true, false),
+                        (binder, value) ->
+                                binder.bind(Boolean.class)
+                                        .annotatedWith(Names.named("buildSOAPPart"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter("buildSOAPPart", String.valueOf(value)),
+                        new MatrixTest(
+                                org.apache.axiom.ts.soap12.envelope.TestMTOMForwardStreaming
+                                        .class)),
+                new MatrixTest(org.apache.axiom.ts.soap12.factory.TestCreateSOAPFaultSubCode.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.fault.TestGetNode.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.fault.TestGetNodeWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.fault.TestMoreChildrenAddition.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.fault.TestSetNode.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.faultcode.TestGetSubCodeWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.faultcode.TestGetValueWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.faultcode.TestSetValueFromQName.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultcode.TestSetValueFromQNameWithExistingValue
+                                .class),
+                new MatrixTest(org.apache.axiom.ts.soap12.faultreason.TestAddSOAPText.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultreason.TestAddSOAPTextMultiple.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultreason
+                                .TestAddSOAPTextWithSOAPVersionMismatch.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultreason.TestGetAllSoapTextsWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.faultreason.TestGetFaultReasonText.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultreason.TestGetFaultReasonTextCaseSensitivity
+                                .class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultreason
+                                .TestGetFaultReasonTextWithoutLangAttribute.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.faultreason.TestGetFirstSOAPText.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultreason.TestGetFirstSOAPTextWithParser
+                                .class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultsubcode.TestGetSubCodeNestedWithParser
+                                .class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultsubcode.TestGetSubCodeWithParser.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultsubcode.TestGetValueNestedWithParser.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultsubcode.TestGetValueAsQNameWithParser
+                                .class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.faultsubcode.TestGetValueWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.faulttext.TestGetLangWithParser.class),
+                new MatrixTest(
+                        org.apache.axiom.ts.soap12.header.TestExamineMustUnderstandHeaderBlocks
+                                .class),
+                new MatrixTest(org.apache.axiom.ts.soap12.headerblock.TestGetRelayWithParser.class),
+                new MatrixTest(org.apache.axiom.ts.soap12.mtom.TestBuilderDetach.class),
+                new FanOutNode<>(
+                        ImmutableList.of(true, false),
+                        (binder, value) ->
+                                binder.bind(Boolean.class)
+                                        .annotatedWith(Names.named("cache"))
+                                        .toInstance(value),
+                        (injector, value, params) ->
+                                params.addTestParameter("cache", String.valueOf(value)),
+                        new MatrixTest(
+                                org.apache.axiom.ts.soap12.mtom.TestGetXMLStreamReaderMTOMEncoded
+                                        .class)));
+    }
+}
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
deleted file mode 100644
index 81c547158..000000000
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
+++ /dev/null
@@ -1,590 +0,0 @@
-/*
- * 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.soap;
-
-import static org.apache.axiom.testing.multiton.Multiton.getInstances;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPConstants;
-import org.apache.axiom.testing.multiton.Multiton;
-import org.apache.axiom.testutils.suite.MatrixTestSuiteBuilder;
-import org.apache.axiom.ts.dimension.ExpansionStrategy;
-import org.apache.axiom.ts.dimension.serialization.SerializationStrategy;
-
-public class SOAPTestSuiteBuilder extends MatrixTestSuiteBuilder {
-    private static final String[] badSOAPFiles = {
-        "wrongSoapNs.xml",
-        "notnamespaceQualified.xml",
-        "soap11/twoheaders.xml",
-        "soap11/twoBodymessage.xml",
-        "soap11/envelopeMissing.xml",
-        "soap11/haederBodyWrongOrder.xml",
-        "soap11/invalid-faultcode.xml",
-        "soap11/invalid-faultstring.xml",
-        "soap11/invalid-faultactor.xml",
-        "soap11/processing-instruction.xml",
-        "soap11/entity-reference.xml",
-        "soap12/header-bad-case.xml",
-        "soap12/header-no-namespace.xml",
-        "soap12/processing-instruction.xml",
-        "soap12/entity-reference.xml",
-        "soap12/additional-element-after-body.xml"
-    };
-
-    private static final List<SOAPSample> goodSOAPFiles;
-
-    static {
-        goodSOAPFiles = new ArrayList<SOAPSample>();
-        goodSOAPFiles.addAll(
-                Arrays.asList(
-                        new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/whitespacedMessage.xml"),
-                        new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/minimalMessage.xml"),
-                        new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/reallyReallyBigMessage.xml"),
-                        new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/emtyBodymessage.xml"),
-                        new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/soapfault.xml"),
-                        new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/bodyNotQualified.xml"),
-                        new SOAPSample(
-                                SOAPSpec.SOAP11, "soap/soap11/faultelements-with-comment.xml"),
-                        new SOAPSample(
-                                SOAPSpec.SOAP11, "soap/soap11/additional-element-after-body.xml"),
-                        new SOAPSample(SOAPSpec.SOAP11, "soap/soap11/empty-header.xml"),
-                        new SOAPSample(SOAPSpec.SOAP12, "soap/soap12/empty-header.xml")));
-        goodSOAPFiles.addAll(Multiton.getInstances(SOAPSample.class));
-    }
-
-    private static final QName[] generalQNames = {
-        new QName("root"), new QName("urn:test", "root", "p"), new QName("urn:test", "root")
-    };
-
-    private static final QName[] noFaultQNames = {
-        new QName("root"),
-        new QName("urn:test", "root", "p"),
-        new QName("urn:test", "root"),
-        new QName("Fault"),
-        new QName("urn:test", "Fault", "p"),
-        new QName(
-                SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI,
-                "NoFault",
-                SOAPConstants.SOAP_DEFAULT_NAMESPACE_PREFIX),
-        new QName(
-                SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI,
-                "NoFault",
-                SOAPConstants.SOAP_DEFAULT_NAMESPACE_PREFIX)
-    };
-
-    private final OMMetaFactory metaFactory;
-
-    /**
-     * Constructor.
-     *
-     * @param metaFactory
-     */
-    public SOAPTestSuiteBuilder(OMMetaFactory metaFactory) {
-        this.metaFactory = metaFactory;
-    }
-
-    private void addTests(SOAPSpec spec) {
-        BooleanLiteral[] booleanLiterals = spec.getBooleanLiterals();
-        String[] invalidBooleanLiterals = spec.getInvalidBooleanLiterals();
-        addTest(new org.apache.axiom.ts.soap.body.TestAddFault1(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestAddFault2(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestCloneOMElement(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestGetFault(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestGetFaultFakeFault(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestGetFaultWithParser(metaFactory, spec));
-        for (QName qname : generalQNames) {
-            addTest(
-                    new org.apache.axiom.ts.soap.body.TestGetFirstElementLocalNameWithParser(
-                            metaFactory, spec, qname));
-            addTest(
-                    new org.apache.axiom.ts.soap.body.TestGetFirstElementNSWithParser(
-                            metaFactory, spec, qname));
-        }
-        addTest(
-                new org.apache.axiom.ts.soap.body.TestGetFirstElementLocalNameWithParser2(
-                        metaFactory, spec, false));
-        addTest(
-                new org.apache.axiom.ts.soap.body.TestGetFirstElementLocalNameWithParser2(
-                        metaFactory, spec, true));
-        addTest(
-                new org.apache.axiom.ts.soap.body.TestGetFirstElementLocalNameWithParserNoLookahead(
-                        metaFactory, spec));
-        for (QName qname : noFaultQNames) {
-            addTest(
-                    new org.apache.axiom.ts.soap.body.TestGetFaultNoFault(
-                            metaFactory, spec, qname));
-            addTest(
-                    new org.apache.axiom.ts.soap.body.TestGetFaultWithParserNoFault(
-                            metaFactory, spec, qname));
-            addTest(
-                    new org.apache.axiom.ts.soap.body.TestHasFaultNoFault(
-                            metaFactory, spec, qname));
-            addTest(
-                    new org.apache.axiom.ts.soap.body.TestHasFaultWithParserNoFault(
-                            metaFactory, spec, qname));
-        }
-        addTest(
-                new org.apache.axiom.ts.soap.body.TestGetFirstElementLocalNameEmptyBody(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.body.TestGetFirstElementNSEmptyBody(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestHasFault(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestHasFaultAfterReplace(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestHasFaultFakeFault(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.body.TestHasFaultWithOMSEUnknownName(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.body.TestHasFaultWithParser(metaFactory, spec));
-        for (SerializationStrategy serializationStrategy :
-                getInstances(SerializationStrategy.class)) {
-            addTest(
-                    new org.apache.axiom.ts.soap.body.TestSerializeWithXSITypeAttribute(
-                            metaFactory, spec, serializationStrategy));
-        }
-        addTest(new org.apache.axiom.ts.soap.builder.TestCommentInEpilog(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.builder.TestCommentInProlog(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.builder.TestCreateSOAPModelBuilderFromDOMSource(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.builder.TestCreateSOAPModelBuilderFromSAXSource(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.builder
-                        .TestCreateSOAPModelBuilderMTOMContentTypeMismatch(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.builder.TestDTD(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.builder.TestRegisterCustomBuilder(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.builder
-                        .TestRegisterCustomBuilderForPayloadAfterSOAPFaultCheck(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestAddElementAfterBody(
-                        metaFactory, spec, false));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestAddElementAfterBody(
-                        metaFactory, spec, true));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestAddHeaderToIncompleteEnvelope(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestBodyHeaderOrder(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestCloneWithSourcedElement1(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestCloneWithSourcedElement2(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestDetach(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestGetBody(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestGetBodyOnEmptyEnvelope(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestGetBodyOnEnvelopeWithHeaderOnly(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestGetBodyWithParser(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestGetHeader(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestGetHeaderWithParser(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestGetHeaderWithParserNoHeader(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestGetOrCreateHeader(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestGetOrCreateHeaderWithParserNoHeader(
-                        metaFactory, spec));
-        for (QName qname : generalQNames) {
-            addTest(
-                    new org.apache.axiom.ts.soap.envelope.TestGetSOAPBodyFirstElementLocalNameAndNS(
-                            metaFactory, spec, qname));
-            addTest(
-                    new org.apache.axiom.ts.soap.envelope
-                            .TestGetSOAPBodyFirstElementLocalNameAndNSWithParser(
-                            metaFactory, spec, qname));
-        }
-        addTest(
-                new org.apache.axiom.ts.soap.envelope
-                        .TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestHasFault(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestHasFaultWithParser(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.envelope.TestSerializeAndConsumeWithOMSEInBody(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestSerializeAsChild(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.factory.TestCreateDefaultSOAPMessage(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.factory.TestCreateSOAPEnvelopeWithCustomPrefix(
-                        metaFactory, spec));
-        for (SOAPElementType type : SOAPElementType.getAll()) {
-            addTest(
-                    new org.apache.axiom.ts.soap.factory.TestCreateSOAPElement(
-                            metaFactory, spec, type));
-            for (SOAPElementType childType : type.getChildTypes()) {
-                addTest(
-                        new org.apache.axiom.ts.soap.factory.TestCreateSOAPElementWithNullParent(
-                                metaFactory, spec, childType, type));
-                if (type.getQName(spec) != null) {
-                    addTest(
-                            new org.apache.axiom.ts.soap.factory.TestCreateSOAPElementWithParent(
-                                    metaFactory, spec, childType, type));
-                }
-            }
-        }
-        addTest(
-                new org.apache.axiom.ts.soap.factory.TestCreateSOAPFaultWithException(
-                        metaFactory, spec, true));
-        addTest(
-                new org.apache.axiom.ts.soap.factory.TestCreateSOAPFaultWithException(
-                        metaFactory, spec, false));
-        addTest(
-                new org.apache.axiom.ts.soap.factory.TestCreateSOAPHeaderBlockFromOMElement(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.factory.TestFactoryIsSingleton(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.factory.TestGetDefaultEnvelope(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.factory.TestGetDefaultFaultEnvelope(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.factory.TestGetMetaFactory(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.factory.TestGetNamespace(metaFactory, spec));
-        for (SerializationStrategy ss : getInstances(SerializationStrategy.class)) {
-            addTest(
-                    new org.apache.axiom.ts.soap.fault.TestChildOrder(
-                            metaFactory,
-                            spec,
-                            new SOAPFaultChild[] {SOAPFaultChild.REASON, SOAPFaultChild.CODE},
-                            ss));
-            addTest(
-                    new org.apache.axiom.ts.soap.fault.TestChildOrder(
-                            metaFactory,
-                            spec,
-                            new SOAPFaultChild[] {
-                                SOAPFaultChild.CODE,
-                                SOAPFaultChild.REASON,
-                                SOAPFaultChild.DETAIL,
-                                SOAPFaultChild.REASON
-                            },
-                            ss));
-        }
-        addTest(new org.apache.axiom.ts.soap.fault.TestGetCodeWithParser(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.fault.TestGetDetailWithParser(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.fault.TestGetException(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.fault.TestGetReasonWithParser(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.fault.TestGetRoleWithParser(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.fault.TestSetException(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.fault.TestWrongParent1(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.fault.TestWrongParent2(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.fault.TestWrongParent3(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.faultcode.TestGetValueAsQName(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.faultcode.TestGetValueAsQNameWithParser(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.faultdetail.TestAddDetailEntry(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.faultdetail
-                        .TestDetailEntriesUsingDefaultNamespaceWithParser(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.faultdetail.TestGetAllDetailEntries(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.faultdetail.TestGetAllDetailEntriesWithParser(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.faultdetail.TestSerialization(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.faultdetail.TestWSCommons202(metaFactory, spec));
-        if (spec.getFaultTextQName() != null) {
-            addTest(new org.apache.axiom.ts.soap.faulttext.TestGetLang(metaFactory, spec));
-            addTest(
-                    new org.apache.axiom.ts.soap.faulttext.TestGetLangFromParser(
-                            metaFactory, spec));
-            addTest(new org.apache.axiom.ts.soap.faulttext.TestSetLang(metaFactory, spec));
-        }
-        if (spec.getFaultNodeQName() != null) {
-            addTest(
-                    new org.apache.axiom.ts.soap.faultnode.TestGetFaultNodeValue(
-                            metaFactory, spec));
-            addTest(
-                    new org.apache.axiom.ts.soap.faultnode.TestGetFaultNodeValueWithParser(
-                            metaFactory, spec));
-            addTest(
-                    new org.apache.axiom.ts.soap.faultnode.TestSetFaultNodeValue(
-                            metaFactory, spec));
-        }
-        addTest(new org.apache.axiom.ts.soap.faultreason.TestGetFaultReasonText(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.faultrole.TestGetRoleValue(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.faultrole.TestGetRoleValueWithParser(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.faultrole.TestSetRoleValue(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestAddChildWithPlainOMElement(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.header.TestAddHeaderBlock(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.header.TestAddHeaderBlockFromQName(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestAddHeaderBlockFromQNameWithoutNamespace(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestAddHeaderBlockWithoutNamespace1(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestAddHeaderBlockWithoutNamespace2(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.header.TestDiscardIncomplete(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.header.TestDiscardPartiallyBuilt(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.header.TestExamineAllHeaderBlocks(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestExamineAllHeaderBlocksWithParser(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.header.TestExamineHeaderBlocks(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestExamineHeaderBlocksWithParser(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestExamineMustUnderstandHeaderBlocksWithParser(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.header.TestExtractAllHeaderBlocks(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.header.TestGetHeaderBlocksWithName(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestGetHeaderBlocksWithNSURI(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestGetHeaderBlocksWithNSURIWithParser(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestGetHeadersToProcessWithNamespace(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.header.TestGetHeadersToProcessWithParser(
-                        metaFactory, spec));
-        for (HeaderBlockAttribute attribute : getInstances(HeaderBlockAttribute.class)) {
-            if (attribute.isSupported(spec)) {
-                addTest(
-                        new org.apache.axiom.ts.soap.headerblock.TestSetAttributeNamespacePrefix(
-                                metaFactory, spec, attribute));
-            }
-            if (attribute.isBoolean()) {
-                if (attribute.isSupported(spec)) {
-                    for (BooleanLiteral booleanLiteral : booleanLiterals) {
-                        addTest(
-                                new org.apache.axiom.ts.soap.headerblock.TestGetBooleanAttribute(
-                                        metaFactory, spec, attribute, booleanLiteral));
-                    }
-                    addTest(
-                            new org.apache.axiom.ts.soap.headerblock.TestGetBooleanAttributeDefault(
-                                    metaFactory, spec, attribute));
-                    for (String invalidBooleanLiteral : invalidBooleanLiterals) {
-                        addTest(
-                                new org.apache.axiom.ts.soap.headerblock
-                                        .TestGetBooleanAttributeInvalid(
-                                        metaFactory, spec, attribute, invalidBooleanLiteral));
-                    }
-                    addTest(
-                            new org.apache.axiom.ts.soap.headerblock.TestSetBooleanAttribute(
-                                    metaFactory, spec, attribute, true));
-                    addTest(
-                            new org.apache.axiom.ts.soap.headerblock.TestSetBooleanAttribute(
-                                    metaFactory, spec, attribute, false));
-                } else {
-                    addTest(
-                            new org.apache.axiom.ts.soap.headerblock
-                                    .TestGetBooleanAttributeUnspported(
-                                    metaFactory, spec, attribute));
-                    addTest(
-                            new org.apache.axiom.ts.soap.headerblock
-                                    .TestSetBooleanAttributeUnsupported(
-                                    metaFactory, spec, attribute));
-                }
-            }
-        }
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestBlobOMDataSource(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.headerblock.TestClone(
-                        metaFactory, spec, Boolean.TRUE));
-        addTest(
-                new org.apache.axiom.ts.soap.headerblock.TestClone(
-                        metaFactory, spec, Boolean.FALSE));
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestClone(metaFactory, spec, null));
-        addTest(
-                new org.apache.axiom.ts.soap.headerblock.TestCloneProcessedWithoutPreservingModel(
-                        metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.headerblock.TestGetMustUnderstandWithParser(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestGetRole(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestGetRoleWithParser(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestGetVersion(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestSetRole(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.headerblock.TestSetRoleWithoutExistingNamespaceDecl(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestWrongParent1(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestWrongParent2(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.headerblock.TestWrongParent3(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.message.TestClone(metaFactory, spec, true));
-        addTest(new org.apache.axiom.ts.soap.message.TestClone(metaFactory, spec, false));
-        addTest(new org.apache.axiom.ts.soap.message.TestCloneIncomplete(metaFactory, spec, true));
-        addTest(new org.apache.axiom.ts.soap.message.TestCloneIncomplete(metaFactory, spec, false));
-        addTest(
-                new org.apache.axiom.ts.soap.message.TestGetCharsetEncodingWithParser(
-                        metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.message.TestGetOMFactoryWithParser(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.message.TestSetOMDocumentElement(metaFactory, spec));
-        addTest(
-                new org.apache.axiom.ts.soap.message.TestSetOMDocumentElementNonSOAPEnvelope(
-                        metaFactory, spec));
-        for (SOAPElementType type : SOAPElementType.getAll()) {
-            if (type.getQName(spec) != null) {
-                for (SOAPElementType childType : type.getChildTypes()) {
-                    if (childType.getQName(spec) != null) {
-                        if (childType.getAdapter(SOAPElementTypeAdapter.class).getGetter()
-                                != null) {
-                            addTest(
-                                    new org.apache.axiom.ts.soap.misc.TestGetChild(
-                                            metaFactory, spec, type, childType));
-                        }
-                        if (childType.getAdapter(SOAPElementTypeAdapter.class).getSetter()
-                                != null) {
-                            addTest(
-                                    new org.apache.axiom.ts.soap.misc.TestSetChild(
-                                            metaFactory, spec, type, childType));
-                            if (childType.getQName(spec.getAltSpec()) != null) {
-                                addTest(
-                                        new org.apache.axiom.ts.soap.misc
-                                                .TestSetChildVersionMismatch(
-                                                metaFactory, spec, type, childType));
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        addTest(
-                new org.apache.axiom.ts.soap.xpath.TestXPathAppliedToSOAPEnvelope(
-                        metaFactory, spec, true));
-        addTest(
-                new org.apache.axiom.ts.soap.xpath.TestXPathAppliedToSOAPEnvelope(
-                        metaFactory, spec, false));
-    }
-
-    @Override
-    protected void addTests() {
-        addTests(SOAPSpec.SOAP11);
-        addTests(SOAPSpec.SOAP12);
-        for (String badSOAPFile : badSOAPFiles) {
-            addTest(new org.apache.axiom.ts.soap.builder.BadInputTest(metaFactory, badSOAPFile));
-        }
-        for (SOAPSample msg : goodSOAPFiles) {
-            addTest(new org.apache.axiom.ts.soap.builder.MessageTest(metaFactory, msg));
-            addTest(
-                    new org.apache.axiom.ts.soap.builder.TestRegisterCustomBuilderForPayload(
-                            metaFactory, msg));
-            addTest(new org.apache.axiom.ts.soap.envelope.TestClone(metaFactory, msg));
-            for (ExpansionStrategy expansionStrategy : getInstances(ExpansionStrategy.class)) {
-                for (SerializationStrategy serializationStrategy :
-                        getInstances(SerializationStrategy.class)) {
-                    addTest(
-                            new org.apache.axiom.ts.soap.envelope.TestSerialize(
-                                    metaFactory, msg, expansionStrategy, serializationStrategy));
-                    addTest(
-                            new org.apache.axiom.ts.soap.message.TestSerialize(
-                                    metaFactory, msg, expansionStrategy, serializationStrategy));
-                }
-            }
-        }
-        addTest(new org.apache.axiom.ts.soap11.builder.TestBuilder(metaFactory));
-        addTest(new org.apache.axiom.ts.soap11.fault.TestGetNode(metaFactory));
-        addTest(new org.apache.axiom.ts.soap11.fault.TestSetNode(metaFactory));
-        addTest(new org.apache.axiom.ts.soap11.faultcode.TestGetValue(metaFactory));
-        addTest(new org.apache.axiom.ts.soap11.faultcode.TestGetValueWithParser(metaFactory));
-        addTest(new org.apache.axiom.ts.soap11.faultcode.TestSetValueFromQName(metaFactory));
-        addTest(new org.apache.axiom.ts.soap11.faultreason.TestAddSOAPText(metaFactory));
-        addTest(new org.apache.axiom.ts.soap11.faultreason.TestGetFirstSOAPText(metaFactory));
-        addTest(new org.apache.axiom.ts.soap11.faultreason.TestGetTextWithCDATA(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.builder.TestBuilder(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.envelope.TestBuildWithAttachments(metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.envelope.TestMTOMForwardStreaming(
-                        metaFactory, true));
-        addTest(
-                new org.apache.axiom.ts.soap12.envelope.TestMTOMForwardStreaming(
-                        metaFactory, false));
-        addTest(new org.apache.axiom.ts.soap12.factory.TestCreateSOAPFaultSubCode(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.fault.TestGetNode(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.fault.TestGetNodeWithParser(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.fault.TestMoreChildrenAddition(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.fault.TestSetNode(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultcode.TestGetSubCodeWithParser(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultcode.TestGetValueWithParser(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultcode.TestSetValueFromQName(metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultcode.TestSetValueFromQNameWithExistingValue(
-                        metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultreason.TestAddSOAPText(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultreason.TestAddSOAPTextMultiple(metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultreason.TestAddSOAPTextWithSOAPVersionMismatch(
-                        metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultreason.TestGetAllSoapTextsWithParser(
-                        metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultreason.TestGetFaultReasonText(metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultreason.TestGetFaultReasonTextCaseSensitivity(
-                        metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultreason
-                        .TestGetFaultReasonTextWithoutLangAttribute(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultreason.TestGetFirstSOAPText(metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultreason.TestGetFirstSOAPTextWithParser(
-                        metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultsubcode.TestGetSubCodeNestedWithParser(
-                        metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultsubcode.TestGetSubCodeWithParser(metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultsubcode.TestGetValueNestedWithParser(
-                        metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.faultsubcode.TestGetValueAsQNameWithParser(
-                        metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faultsubcode.TestGetValueWithParser(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.faulttext.TestGetLangWithParser(metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.header.TestExamineMustUnderstandHeaderBlocks(
-                        metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.headerblock.TestGetRelayWithParser(metaFactory));
-        addTest(new org.apache.axiom.ts.soap12.mtom.TestBuilderDetach(metaFactory));
-        addTest(
-                new org.apache.axiom.ts.soap12.mtom.TestGetXMLStreamReaderMTOMEncoded(
-                        metaFactory, true));
-        addTest(
-                new org.apache.axiom.ts.soap12.mtom.TestGetXMLStreamReaderMTOMEncoded(
-                        metaFactory, false));
-    }
-}
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestAddFault1.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestAddFault1.java
index 620d57977..8c7f34fd4 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestAddFault1.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestAddFault1.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestAddFault1 extends SOAPTestCase {
+    @Inject
     public TestAddFault1(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestAddFault2.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestAddFault2.java
index a0ddbd810..5af7cdf64 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestAddFault2.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestAddFault2.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestAddFault2 extends SOAPTestCase {
+    @Inject
     public TestAddFault2(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestCloneOMElement.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestCloneOMElement.java
index d9bc149a2..b03ffb3d2 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestCloneOMElement.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestCloneOMElement.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import static com.google.common.truth.Truth.assertAbout;
 import static org.apache.axiom.truth.xml.XMLTruth.xml;
 
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestCloneOMElement extends SampleBasedSOAPTestCase {
+    @Inject
     public TestCloneOMElement(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.WSA);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFault.java
index 2145a870d..68786b933 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetFault extends SOAPTestCase {
+    @Inject
     public TestGetFault(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultFakeFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultFakeFault.java
index 6cde8d8af..78e04ccd4 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultFakeFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultFakeFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * return <code>null</code>.
  */
 public class TestGetFaultFakeFault extends SOAPTestCase {
+    @Inject
     public TestGetFaultFakeFault(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultNoFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultNoFault.java
index 525157b11..4332bcabd 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultNoFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultNoFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -28,12 +29,10 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 public class TestGetFaultNoFault extends SOAPTestCase {
     private final QName qname;
 
+    @Inject
     public TestGetFaultNoFault(OMMetaFactory metaFactory, SOAPSpec spec, QName qname) {
         super(metaFactory, spec);
         this.qname = qname;
-        addTestParameter("prefix", qname.getPrefix());
-        addTestParameter("uri", qname.getNamespaceURI());
-        addTestParameter("localName", qname.getLocalPart());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java
index aea388e00..a4f4b8212 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPConstants;
@@ -27,6 +28,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetFaultWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetFaultWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParserNoFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParserNoFault.java
index 6eac55d8f..f332c3867 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParserNoFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParserNoFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 
 /** Tests {@link SOAPBody#getFault()} in the case where the body doesn't contain a SOAP fault. */
 public class TestGetFaultWithParserNoFault extends FirstElementNameWithParserTestCase {
+    @Inject
     public TestGetFaultWithParserNoFault(OMMetaFactory metaFactory, SOAPSpec spec, QName qname) {
         super(metaFactory, spec, qname, false);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameEmptyBody.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameEmptyBody.java
index bb3cf297f..86a4b229d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameEmptyBody.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameEmptyBody.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -29,6 +30,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * empty.
  */
 public class TestGetFirstElementLocalNameEmptyBody extends SOAPTestCase {
+    @Inject
     public TestGetFirstElementLocalNameEmptyBody(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParser.java
index 5772517e4..bcfe92cbd 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -29,6 +30,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
  * href="https://issues.apache.org/jira/browse/AXIOM-282">AXIOM-282</a>.
  */
 public class TestGetFirstElementLocalNameWithParser extends FirstElementNameWithParserTestCase {
+    @Inject
     public TestGetFirstElementLocalNameWithParser(
             OMMetaFactory metaFactory, SOAPSpec spec, QName qname) {
         super(metaFactory, spec, qname, true);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParser2.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParser2.java
index 1a56acfb3..243b8a912 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParser2.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParser2.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -30,11 +32,11 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 public class TestGetFirstElementLocalNameWithParser2 extends SampleBasedSOAPTestCase {
     private final boolean buildPayload;
 
+    @Inject
     public TestGetFirstElementLocalNameWithParser2(
-            OMMetaFactory metaFactory, SOAPSpec spec, boolean buildPayload) {
+            OMMetaFactory metaFactory, SOAPSpec spec, @Named("buildPayload") boolean buildPayload) {
         super(metaFactory, spec, SOAPSampleSet.NO_HEADER);
         this.buildPayload = buildPayload;
-        addTestParameter("buildPayload", "false");
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParserNoLookahead.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParserNoLookahead.java
index 2199196e6..93387b637 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParserNoLookahead.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementLocalNameWithParserNoLookahead.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import java.io.StringReader;
@@ -37,6 +38,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * href="https://issues.apache.org/jira/browse/AXIOM-282">AXIOM-282</a> is no longer applicable.
  */
 public class TestGetFirstElementLocalNameWithParserNoLookahead extends SOAPTestCase {
+    @Inject
     public TestGetFirstElementLocalNameWithParserNoLookahead(
             OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementNSEmptyBody.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementNSEmptyBody.java
index f985c34ad..49ffced39 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementNSEmptyBody.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementNSEmptyBody.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -28,6 +29,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * Tests that {@link SOAPBody#getFirstElementNS()} returns <code>null</code> if the body is empty.
  */
 public class TestGetFirstElementNSEmptyBody extends SOAPTestCase {
+    @Inject
     public TestGetFirstElementNSEmptyBody(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementNSWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementNSWithParser.java
index 8077c5837..2dff6e125 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementNSWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFirstElementNSWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
  * href="https://issues.apache.org/jira/browse/AXIOM-282">AXIOM-282</a>.
  */
 public class TestGetFirstElementNSWithParser extends FirstElementNameWithParserTestCase {
+    @Inject
     public TestGetFirstElementNSWithParser(OMMetaFactory metaFactory, SOAPSpec spec, QName qname) {
         super(metaFactory, spec, qname, true);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFault.java
index e9bb9e81e..ba67b91ba 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestHasFault extends SOAPTestCase {
+    @Inject
     public TestHasFault(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultAfterReplace.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultAfterReplace.java
index 00d908d3a..6934db44a 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultAfterReplace.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultAfterReplace.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
@@ -32,6 +33,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * updated correctly in all situations. This is a regression test for this issue.
  */
 public class TestHasFaultAfterReplace extends SOAPTestCase {
+    @Inject
     public TestHasFaultAfterReplace(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultFakeFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultFakeFault.java
index 29dcc727a..80d30fce4 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultFakeFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultFakeFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * return <code>false</code>.
  */
 public class TestHasFaultFakeFault extends SOAPTestCase {
+    @Inject
     public TestHasFaultFakeFault(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultNoFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultNoFault.java
index 5e2448e08..ecb5e15d7 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultNoFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultNoFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -28,12 +29,10 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 public class TestHasFaultNoFault extends SOAPTestCase {
     private final QName qname;
 
+    @Inject
     public TestHasFaultNoFault(OMMetaFactory metaFactory, SOAPSpec spec, QName qname) {
         super(metaFactory, spec);
         this.qname = qname;
-        addTestParameter("prefix", qname.getPrefix());
-        addTestParameter("uri", qname.getNamespaceURI());
-        addTestParameter("localName", qname.getLocalPart());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithOMSEUnknownName.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithOMSEUnknownName.java
index 1a08f2d1f..d7514c962 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithOMSEUnknownName.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithOMSEUnknownName.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMSourcedElement;
 import org.apache.axiom.om.ds.StringOMDataSource;
@@ -31,6 +32,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * OMSourcedElement} with an unknown name that is the first child of the SOAP body.
  */
 public class TestHasFaultWithOMSEUnknownName extends SOAPTestCase {
+    @Inject
     public TestHasFaultWithOMSEUnknownName(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java
index eeaa64164..80d2d985b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestHasFaultWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestHasFaultWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParserNoFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParserNoFault.java
index 190e98473..3771013d3 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParserNoFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParserNoFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.body;
 
+import com.google.inject.Inject;
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
  * href="https://issues.apache.org/jira/browse/AXIOM-282">AXIOM-282</a>.
  */
 public class TestHasFaultWithParserNoFault extends FirstElementNameWithParserTestCase {
+    @Inject
     public TestHasFaultWithParserNoFault(OMMetaFactory metaFactory, SOAPSpec spec, QName qname) {
         super(metaFactory, spec, qname, true);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestSerializeWithXSITypeAttribute.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestSerializeWithXSITypeAttribute.java
index 09e3ff39c..1918780b3 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestSerializeWithXSITypeAttribute.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestSerializeWithXSITypeAttribute.java
@@ -33,15 +33,17 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Regression test for <a href="https://issues.apache.org/jira/browse/AXIOM-107">AXIOM-107</a>. */
 public class TestSerializeWithXSITypeAttribute extends SampleBasedSOAPTestCase {
     private final SerializationStrategy serializationStrategy;
 
+    @Inject
     public TestSerializeWithXSITypeAttribute(
             OMMetaFactory metaFactory, SOAPSpec spec, SerializationStrategy serializationStrategy) {
         super(metaFactory, spec, SOAPSampleSet.XSI_TYPE);
         this.serializationStrategy = serializationStrategy;
-        serializationStrategy.addTestParameters(this);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/BadInputTest.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/BadInputTest.java
index b04429780..bdd5d3f63 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/BadInputTest.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/BadInputTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.axiom.ts.soap.builder;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMXMLBuilderFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -28,10 +30,10 @@ import org.apache.axiom.ts.AxiomTestCase;
 public class BadInputTest extends AxiomTestCase {
     private final String file;
 
-    public BadInputTest(OMMetaFactory metaFactory, String file) {
+    @Inject
+    public BadInputTest(OMMetaFactory metaFactory, @Named("file") String file) {
         super(metaFactory);
         this.file = file;
-        addTestParameter("file", file);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/MessageTest.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/MessageTest.java
index 6d069ee11..5e483a031 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/MessageTest.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/MessageTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.builder;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMXMLBuilderFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -27,10 +28,10 @@ import org.apache.axiom.ts.soap.SOAPSample;
 public class MessageTest extends AxiomTestCase {
     private final SOAPSample message;
 
+    @Inject
     public MessageTest(OMMetaFactory metaFactory, SOAPSample message) {
         super(metaFactory);
         this.message = message;
-        addTestParameter("message", message.getName());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCommentInEpilog.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCommentInEpilog.java
index 0549546a2..6175f4849 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCommentInEpilog.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCommentInEpilog.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.builder;
 
+import com.google.inject.Inject;
 import java.io.StringReader;
 
 import org.apache.axiom.om.OMComment;
@@ -33,6 +34,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * document element.
  */
 public class TestCommentInEpilog extends SOAPTestCase {
+    @Inject
     public TestCommentInEpilog(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCommentInProlog.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCommentInProlog.java
index c03fea320..4925d8d6f 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCommentInProlog.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCommentInProlog.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.builder;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMComment;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNode;
@@ -29,6 +30,7 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 
 /** Tests that the SOAP builder creates {@link OMComment} nodes for comments in the XML prolog. */
 public class TestCommentInProlog extends SOAPTestCase {
+    @Inject
     public TestCommentInProlog(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderFromDOMSource.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderFromDOMSource.java
index b245eca53..58c2f2c38 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderFromDOMSource.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderFromDOMSource.java
@@ -35,7 +35,10 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 import org.w3c.dom.Document;
 import org.xml.sax.InputSource;
 
+import com.google.inject.Inject;
+
 public class TestCreateSOAPModelBuilderFromDOMSource extends SOAPTestCase {
+    @Inject
     public TestCreateSOAPModelBuilderFromDOMSource(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderFromSAXSource.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderFromSAXSource.java
index 13ad6c7f6..82b5c8387 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderFromSAXSource.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderFromSAXSource.java
@@ -39,7 +39,10 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
 
+import com.google.inject.Inject;
+
 public class TestCreateSOAPModelBuilderFromSAXSource extends SOAPTestCase {
+    @Inject
     public TestCreateSOAPModelBuilderFromSAXSource(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java
index e137577c4..7c0c8ad6a 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestCreateSOAPModelBuilderMTOMContentTypeMismatch.java
@@ -18,12 +18,12 @@
  */
 package org.apache.axiom.ts.soap.builder;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-
 import org.apache.axiom.blob.Blobs;
 import org.apache.axiom.blob.MemoryBlob;
 import org.apache.axiom.mime.ContentType;
@@ -37,6 +37,8 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 import org.apache.axiom.util.UIDGenerator;
 
+import com.google.inject.Inject;
+
 import jakarta.activation.DataHandler;
 import jakarta.activation.DataSource;
 import jakarta.mail.Session;
@@ -50,6 +52,7 @@ import jakarta.mail.internet.MimeMultipart;
  * message.
  */
 public class TestCreateSOAPModelBuilderMTOMContentTypeMismatch extends SOAPTestCase {
+    @Inject
     public TestCreateSOAPModelBuilderMTOMContentTypeMismatch(
             OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestDTD.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestDTD.java
index 9861ca938..0d800aeda 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestDTD.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestDTD.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.builder;
 
+import com.google.inject.Inject;
 import java.io.StringReader;
 
 import javax.xml.stream.XMLStreamReader;
@@ -38,6 +39,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * the methods taking a stream as input will generally reject DTDs at a much lower level.
  */
 public class TestDTD extends SOAPTestCase {
+    @Inject
     public TestDTD(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilder.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilder.java
index ef8a088a9..abdcb0440 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilder.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilder.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.builder;
 
+import com.google.inject.Inject;
 import java.util.ArrayList;
 
 import org.apache.axiom.blob.MemoryBlob;
@@ -35,6 +36,7 @@ import org.apache.axiom.ts.soap.SOAPSampleAdapter;
 import org.apache.axiom.ts.soap.SOAPSampleSet;
 
 public class TestRegisterCustomBuilder extends SOAPTestCase {
+    @Inject
     public TestRegisterCustomBuilder(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilderForPayload.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilderForPayload.java
index 87e2025e1..f318a9a08 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilderForPayload.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilderForPayload.java
@@ -38,13 +38,15 @@ import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SOAPSampleAdapter;
 import org.xml.sax.InputSource;
 
+import com.google.inject.Inject;
+
 public class TestRegisterCustomBuilderForPayload extends AxiomTestCase {
     private final SOAPSample message;
 
+    @Inject
     public TestRegisterCustomBuilderForPayload(OMMetaFactory metaFactory, SOAPSample message) {
         super(metaFactory);
         this.message = message;
-        addTestParameter("message", message.getName());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilderForPayloadAfterSOAPFaultCheck.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilderForPayloadAfterSOAPFaultCheck.java
index dd98ca983..fa484e9a9 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilderForPayloadAfterSOAPFaultCheck.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/builder/TestRegisterCustomBuilderForPayloadAfterSOAPFaultCheck.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.builder;
 
+import com.google.inject.Inject;
 import org.apache.axiom.blob.MemoryBlob;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
@@ -41,6 +42,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
  */
 public class TestRegisterCustomBuilderForPayloadAfterSOAPFaultCheck
         extends SampleBasedSOAPTestCase {
+    @Inject
     public TestRegisterCustomBuilderForPayloadAfterSOAPFaultCheck(
             OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.WSA);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestAddElementAfterBody.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestAddElementAfterBody.java
index 17395cfed..7b61d452c 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestAddElementAfterBody.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestAddElementAfterBody.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import javax.xml.namespace.QName;
 
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -36,10 +38,11 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 public class TestAddElementAfterBody extends SOAPTestCase {
     private final boolean header;
 
-    public TestAddElementAfterBody(OMMetaFactory metaFactory, SOAPSpec spec, boolean header) {
+    @Inject
+    public TestAddElementAfterBody(
+            OMMetaFactory metaFactory, SOAPSpec spec, @Named("header") boolean header) {
         super(metaFactory, spec);
         this.header = header;
-        addTestParameter("header", header);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestAddHeaderToIncompleteEnvelope.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestAddHeaderToIncompleteEnvelope.java
index 0abf2024c..6afd8cb93 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestAddHeaderToIncompleteEnvelope.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestAddHeaderToIncompleteEnvelope.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPHeader;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
  * This is a regression test for AXIOM-127.
  */
 public class TestAddHeaderToIncompleteEnvelope extends SampleBasedSOAPTestCase {
+    @Inject
     public TestAddHeaderToIncompleteEnvelope(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.NO_HEADER);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestBodyHeaderOrder.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestBodyHeaderOrder.java
index b0863cd30..ea89b26dd 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestBodyHeaderOrder.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestBodyHeaderOrder.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPHeader;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 
 // Make sure order of header/body creation doesn't matter
 public class TestBodyHeaderOrder extends SOAPTestCase {
+    @Inject
     public TestBodyHeaderOrder(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestClone.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestClone.java
index 9d25e522c..86f3295b3 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestClone.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestClone.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SOAPSampleAdapter;
@@ -25,10 +26,10 @@ import org.apache.axiom.ts.soap.SOAPSampleAdapter;
 public class TestClone extends CloneTestCase {
     private final SOAPSample message;
 
+    @Inject
     public TestClone(OMMetaFactory metaFactory, SOAPSample message) {
         super(metaFactory, message.getSOAPSpec());
         this.message = message;
-        addTestParameter("message", message.getName());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestCloneWithSourcedElement1.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestCloneWithSourcedElement1.java
index 9149127e8..44641b579 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestCloneWithSourcedElement1.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestCloneWithSourcedElement1.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
@@ -28,6 +29,7 @@ import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
 public class TestCloneWithSourcedElement1 extends CloneTestCase {
+    @Inject
     public TestCloneWithSourcedElement1(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestCloneWithSourcedElement2.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestCloneWithSourcedElement2.java
index 597315893..66a07798c 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestCloneWithSourcedElement2.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestCloneWithSourcedElement2.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
@@ -31,6 +32,7 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
 public class TestCloneWithSourcedElement2 extends CloneTestCase {
+    @Inject
     public TestCloneWithSourcedElement2(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java
index 05d79f5f6..e92487bfd 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNode;
@@ -32,6 +33,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
  * envelope from its containing document.
  */
 public class TestDetach extends SampleBasedSOAPTestCase {
+    @Inject
     public TestDetach(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.NO_HEADER);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBody.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBody.java
index bdada8a95..c5beb248c 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBody.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBody.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPConstants;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetBody extends SOAPTestCase {
+    @Inject
     public TestGetBody(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyOnEmptyEnvelope.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyOnEmptyEnvelope.java
index 7ea2e8aa4..db23941d9 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyOnEmptyEnvelope.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyOnEmptyEnvelope.java
@@ -18,11 +18,13 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetBodyOnEmptyEnvelope extends SOAPTestCase {
+    @Inject
     public TestGetBodyOnEmptyEnvelope(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyOnEnvelopeWithHeaderOnly.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyOnEnvelopeWithHeaderOnly.java
index a43aaa08b..9923c52c5 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyOnEnvelopeWithHeaderOnly.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyOnEnvelopeWithHeaderOnly.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSpec;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 
 // Regression test for AXIOM-218
 public class TestGetBodyOnEnvelopeWithHeaderOnly extends SOAPTestCase {
+    @Inject
     public TestGetBodyOnEnvelopeWithHeaderOnly(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java
index 1183bf349..215a48544 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPConstants;
@@ -27,6 +28,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetBodyWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetBodyWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.NO_HEADER);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeader.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeader.java
index df06ed5cf..913440d36 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeader.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeader.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPConstants;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetHeader extends SOAPTestCase {
+    @Inject
     public TestGetHeader(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeaderWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeaderWithParser.java
index 36b93a583..efcbf4ea1 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeaderWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeaderWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPConstants;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -27,6 +28,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetHeaderWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetHeaderWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.WSA);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeaderWithParserNoHeader.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeaderWithParserNoHeader.java
index 662e1b464..a363573f4 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeaderWithParserNoHeader.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetHeaderWithParserNoHeader.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
  * particular it tests that the call doesn't build the {@link SOAPBody}.
  */
 public class TestGetHeaderWithParserNoHeader extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetHeaderWithParserNoHeader(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.NO_HEADER);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetOrCreateHeader.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetOrCreateHeader.java
index 48712f303..0c06c0138 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetOrCreateHeader.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetOrCreateHeader.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPHeader;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetOrCreateHeader extends SOAPTestCase {
+    @Inject
     public TestGetOrCreateHeader(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetOrCreateHeaderWithParserNoHeader.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetOrCreateHeaderWithParserNoHeader.java
index c047c8f8a..f973ce4fe 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetOrCreateHeaderWithParserNoHeader.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetOrCreateHeaderWithParserNoHeader.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -32,6 +33,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
  * SOAPBody}.
  */
 public class TestGetOrCreateHeaderWithParserNoHeader extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetOrCreateHeaderWithParserNoHeader(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.NO_HEADER);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetSOAPBodyFirstElementLocalNameAndNS.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetSOAPBodyFirstElementLocalNameAndNS.java
index 4e3caf5f2..651a82ac9 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetSOAPBodyFirstElementLocalNameAndNS.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetSOAPBodyFirstElementLocalNameAndNS.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMElement;
@@ -30,12 +31,11 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 public class TestGetSOAPBodyFirstElementLocalNameAndNS extends SOAPTestCase {
     private final QName qname;
 
+    @Inject
     public TestGetSOAPBodyFirstElementLocalNameAndNS(
             OMMetaFactory metaFactory, SOAPSpec spec, QName qname) {
         super(metaFactory, spec);
         this.qname = qname;
-        addTestParameter("prefix", qname.getPrefix());
-        addTestParameter("uri", qname.getNamespaceURI());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetSOAPBodyFirstElementLocalNameAndNSWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetSOAPBodyFirstElementLocalNameAndNSWithParser.java
index c88702574..9676f62d0 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetSOAPBodyFirstElementLocalNameAndNSWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetSOAPBodyFirstElementLocalNameAndNSWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import java.io.StringReader;
 
 import javax.xml.namespace.QName;
@@ -40,12 +41,11 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 public class TestGetSOAPBodyFirstElementLocalNameAndNSWithParser extends SOAPTestCase {
     private final QName qname;
 
+    @Inject
     public TestGetSOAPBodyFirstElementLocalNameAndNSWithParser(
             OMMetaFactory metaFactory, SOAPSpec spec, QName qname) {
         super(metaFactory, spec);
         this.qname = qname;
-        addTestParameter("prefix", qname.getPrefix());
-        addTestParameter("uri", qname.getNamespaceURI());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock.java
index 0d19793e5..ced9c91a5 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamReader;
 
@@ -41,6 +42,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
  */
 public class TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock
         extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock(
             OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.WSA);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFault.java
index 4e36a0801..939a89079 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFault.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestHasFault extends SOAPTestCase {
+    @Inject
     public TestHasFault(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java
index 87ea05591..2efb3c968 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSampleSet;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestHasFaultWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestHasFaultWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerialize.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerialize.java
index c2c440275..1d04dba5f 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerialize.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerialize.java
@@ -29,11 +29,14 @@ import org.apache.axiom.ts.dimension.ExpansionStrategy;
 import org.apache.axiom.ts.dimension.serialization.SerializationStrategy;
 import org.apache.axiom.ts.soap.SOAPSample;
 
+import com.google.inject.Inject;
+
 public class TestSerialize extends AxiomTestCase {
     private final SOAPSample message;
     private final ExpansionStrategy expansionStrategy;
     private final SerializationStrategy serializationStrategy;
 
+    @Inject
     public TestSerialize(
             OMMetaFactory metaFactory,
             SOAPSample message,
@@ -43,9 +46,6 @@ public class TestSerialize extends AxiomTestCase {
         this.message = message;
         this.expansionStrategy = expansionStrategy;
         this.serializationStrategy = serializationStrategy;
-        addTestParameter("message", message.getName());
-        expansionStrategy.addTestParameters(this);
-        serializationStrategy.addTestParameters(this);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerializeAndConsumeWithOMSEInBody.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerializeAndConsumeWithOMSEInBody.java
index f5a85bed3..378e2d5eb 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerializeAndConsumeWithOMSEInBody.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerializeAndConsumeWithOMSEInBody.java
@@ -19,6 +19,7 @@
 
 package org.apache.axiom.ts.soap.envelope;
 
+import com.google.inject.Inject;
 import java.io.OutputStream;
 import java.io.StringReader;
 import java.io.StringWriter;
@@ -41,6 +42,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 
 /** Regression test for WSCOMMONS-226. */
 public class TestSerializeAndConsumeWithOMSEInBody extends SOAPTestCase {
+    @Inject
     public TestSerializeAndConsumeWithOMSEInBody(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerializeAsChild.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerializeAsChild.java
index 258c9ac6c..914ca3727 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerializeAsChild.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestSerializeAsChild.java
@@ -31,8 +31,11 @@ import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Regression test for <a href="https://issues.apache.org/jira/browse/AXIOM-474">AXIOM-474</a>. */
 public class TestSerializeAsChild extends SOAPTestCase {
+    @Inject
     public TestSerializeAsChild(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateDefaultSOAPMessage.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateDefaultSOAPMessage.java
index b88c03bfb..317e35924 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateDefaultSOAPMessage.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateDefaultSOAPMessage.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
 import java.util.Iterator;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -34,6 +35,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * SOAPFactory#createDefaultSOAPMessage()}.
  */
 public class TestCreateDefaultSOAPMessage extends SOAPTestCase {
+    @Inject
     public TestCreateDefaultSOAPMessage(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElement.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElement.java
index f3ed681b3..caac4b368 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElement.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElement.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFactory;
@@ -34,7 +36,9 @@ import org.apache.axiom.ts.soap.SOAPSpec;
  * SOAPFactory#createSOAPFaultRole()} and {@link SOAPFactory#createSOAPFaultDetail()}.
  */
 public class TestCreateSOAPElement extends CreateSOAPElementWithoutParentTestCase {
-    public TestCreateSOAPElement(OMMetaFactory metaFactory, SOAPSpec spec, SOAPElementType type) {
+    @Inject
+    public TestCreateSOAPElement(
+            OMMetaFactory metaFactory, SOAPSpec spec, @Named("type") SOAPElementType type) {
         super(metaFactory, spec, type);
     }
 
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElementWithNullParent.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElementWithNullParent.java
index 100ea51fe..8dc52691d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElementWithNullParent.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElementWithNullParent.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPBody;
@@ -47,16 +49,14 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 public class TestCreateSOAPElementWithNullParent extends CreateSOAPElementWithoutParentTestCase {
     private final SOAPElementType parentType;
 
+    @Inject
     public TestCreateSOAPElementWithNullParent(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
-            SOAPElementType type,
-            SOAPElementType parentType) {
+            @Named("childType") SOAPElementType type,
+            @Named("type") SOAPElementType parentType) {
         super(metaFactory, spec, type);
         this.parentType = parentType;
-        addTestParameter(
-                "parentType",
-                parentType.getAdapter(SOAPElementTypeAdapter.class).getType().getSimpleName());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElementWithParent.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElementWithParent.java
index a56672b1e..000022dfd 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElementWithParent.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPElementWithParent.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMElement;
@@ -52,19 +54,15 @@ public class TestCreateSOAPElementWithParent extends SOAPTestCase {
     private final SOAPElementType type;
     private final SOAPElementType parentType;
 
+    @Inject
     public TestCreateSOAPElementWithParent(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
-            SOAPElementType type,
-            SOAPElementType parentType) {
+            @Named("childType") SOAPElementType type,
+            @Named("type") SOAPElementType parentType) {
         super(metaFactory, spec);
         this.type = type;
         this.parentType = parentType;
-        addTestParameter(
-                "type", type.getAdapter(SOAPElementTypeAdapter.class).getType().getSimpleName());
-        addTestParameter(
-                "parentType",
-                parentType.getAdapter(SOAPElementTypeAdapter.class).getType().getSimpleName());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPEnvelopeWithCustomPrefix.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPEnvelopeWithCustomPrefix.java
index e67bba0cc..dc7e41cd0 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPEnvelopeWithCustomPrefix.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPEnvelopeWithCustomPrefix.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
 import java.util.Iterator;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 
 /** Tests the behavior of {@link SOAPFactory#createSOAPEnvelope(OMNamespace)}. */
 public class TestCreateSOAPEnvelopeWithCustomPrefix extends SOAPTestCase {
+    @Inject
     public TestCreateSOAPEnvelopeWithCustomPrefix(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPFaultWithException.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPFaultWithException.java
index 1ae6ca89a..a458d5f3b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPFaultWithException.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPFaultWithException.java
@@ -33,14 +33,17 @@ import org.apache.axiom.soap.SOAPFaultDetail;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
 public class TestCreateSOAPFaultWithException extends SOAPTestCase {
     private final boolean withParent;
 
+    @Inject
     public TestCreateSOAPFaultWithException(
-            OMMetaFactory metaFactory, SOAPSpec spec, boolean withParent) {
+            OMMetaFactory metaFactory, SOAPSpec spec, @Named("withParent") boolean withParent) {
         super(metaFactory, spec);
         this.withParent = withParent;
-        addTestParameter("withParent", withParent);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPHeaderBlockFromOMElement.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPHeaderBlockFromOMElement.java
index 0042c7c78..a4831aa42 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPHeaderBlockFromOMElement.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestCreateSOAPHeaderBlockFromOMElement.java
@@ -30,7 +30,10 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestCreateSOAPHeaderBlockFromOMElement extends SOAPTestCase {
+    @Inject
     public TestCreateSOAPHeaderBlockFromOMElement(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestFactoryIsSingleton.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestFactoryIsSingleton.java
index 6a16d664d..dc50eda56 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestFactoryIsSingleton.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestFactoryIsSingleton.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.ts.soap.FactorySelector;
 import org.apache.axiom.ts.soap.SOAPSpec;
@@ -29,6 +30,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * {@link OMMetaFactory#getSOAP12Factory()} return the same instances.
  */
 public class TestFactoryIsSingleton extends SOAPTestCase {
+    @Inject
     public TestFactoryIsSingleton(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetDefaultEnvelope.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetDefaultEnvelope.java
index f40a79000..c821463e8 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetDefaultEnvelope.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetDefaultEnvelope.java
@@ -29,8 +29,11 @@ import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Checks the content of the SOAP envelope returned by {@link SOAPFactory#getDefaultEnvelope()}. */
 public class TestGetDefaultEnvelope extends SOAPTestCase {
+    @Inject
     public TestGetDefaultEnvelope(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetDefaultFaultEnvelope.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetDefaultFaultEnvelope.java
index 9f4e58cd7..122dcf85f 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetDefaultFaultEnvelope.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetDefaultFaultEnvelope.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSpec;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 
 /** Tests the behavior of {@link org.apache.axiom.soap.SOAPFactory#getDefaultFaultEnvelope()}. */
 public class TestGetDefaultFaultEnvelope extends SOAPTestCase {
+    @Inject
     public TestGetDefaultFaultEnvelope(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetMetaFactory.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetMetaFactory.java
index f63d33d7e..0a844241c 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetMetaFactory.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetMetaFactory.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.ts.soap.SOAPSpec;
@@ -28,6 +29,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * from which the reference to the {@link OMFactory} was obtained.
  */
 public class TestGetMetaFactory extends SOAPTestCase {
+    @Inject
     public TestGetMetaFactory(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetNamespace.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetNamespace.java
index ac36b9584..c920ff5ca 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetNamespace.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/factory/TestGetNamespace.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.factory;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.soap.SOAPConstants;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetNamespace extends SOAPTestCase {
+    @Inject
     public TestGetNamespace(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java
index 70bd459b0..626faba59 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java
@@ -37,6 +37,9 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
 /**
  * Tests that the children added using methods such as {@link SOAPFault#setCode(SOAPFaultCode)} and
  * {@link SOAPFault#setReason(SOAPFaultReason)} appear in the order required by the SOAP specs when
@@ -48,27 +51,15 @@ public class TestChildOrder extends SOAPTestCase {
     private final SOAPFaultChild[] inputOrder;
     private final SerializationStrategy serializationStrategy;
 
+    @Inject
     public TestChildOrder(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
-            SOAPFaultChild[] inputOrder,
+            @Named("inputOrder") SOAPFaultChild[] inputOrder,
             SerializationStrategy serializationStrategy) {
         super(metaFactory, spec);
         this.inputOrder = inputOrder;
         this.serializationStrategy = serializationStrategy;
-        StringBuilder buffer = new StringBuilder();
-        for (int i = 0; i < inputOrder.length; i++) {
-            if (i > 0) {
-                buffer.append(',');
-            }
-            buffer.append(
-                    inputOrder[i]
-                            .getAdapter(SOAPElementTypeAdapter.class)
-                            .getType()
-                            .getSimpleName());
-        }
-        addTestParameter("inputOrder", buffer.toString());
-        serializationStrategy.addTestParameters(this);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java
index ff1a263cf..b2fc1f716 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFault;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetCodeWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetCodeWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java
index df4337cc2..a1f40ee82 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFault;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetDetailWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetDetailWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetException.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetException.java
index 7ab79138a..e9af13ce2 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetException.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetException.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPFaultDetail;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetException extends SOAPTestCase {
+    @Inject
     public TestGetException(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java
index a13f0ce1d..51505fe0a 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFault;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetReasonWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetReasonWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetRoleWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetRoleWithParser.java
index 9ce2a733c..717fc3d9e 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetRoleWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetRoleWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFault;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetRoleWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetRoleWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.CUSTOM_ROLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetException.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetException.java
index 7a89221ce..d5dfb9741 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetException.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetException.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPFaultDetail;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestSetException extends SOAPTestCase {
+    @Inject
     public TestSetException(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent1.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent1.java
index df3dd02f9..b71b4b29a 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent1.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent1.java
@@ -30,11 +30,14 @@ import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link OMContainer#addChild(OMNode)} throws an exception if an attempt is made to add
  * a {@link SOAPFault} to a SOAP element other than {@link SOAPBody}.
  */
 public class TestWrongParent1 extends SOAPTestCase {
+    @Inject
     public TestWrongParent1(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent2.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent2.java
index e847ddc12..8dc588410 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent2.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent2.java
@@ -30,11 +30,14 @@ import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link OMNode#insertSiblingAfter(OMNode)} throws an exception if an attempt is made to
  * add a {@link SOAPFault} as a child of a SOAP element other than {@link SOAPBody}.
  */
 public class TestWrongParent2 extends SOAPTestCase {
+    @Inject
     public TestWrongParent2(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent3.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent3.java
index 8900e58b3..6eff911b3 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent3.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestWrongParent3.java
@@ -30,11 +30,14 @@ import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link OMNode#insertSiblingBefore(OMNode)} throws an exception if an attempt is made
  * to add a {@link SOAPFault} as a child of a SOAP element other than {@link SOAPBody}.
  */
 public class TestWrongParent3 extends SOAPTestCase {
+    @Inject
     public TestWrongParent3(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQName.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQName.java
index f4ac26659..ae01330f5 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQName.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQName.java
@@ -27,7 +27,10 @@ import org.apache.axiom.soap.SOAPFaultCode;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetValueAsQName extends SOAPTestCase {
+    @Inject
     public TestGetValueAsQName(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java
index 2b1aa4c72..7a4446c66 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faultcode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFaultClassifier;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
  * Tests the behavior of {@link SOAPFaultClassifier#getValueAsQName()} on a {@link SOAPFaultCode}.
  */
 public class TestGetValueAsQNameWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetValueAsQNameWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestAddDetailEntry.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestAddDetailEntry.java
index 58c9a65f1..bb56a72b5 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestAddDetailEntry.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestAddDetailEntry.java
@@ -30,8 +30,11 @@ import org.apache.axiom.soap.SOAPFaultDetail;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 // SOAP Fault Detail Test (Programaticaly Created)
 public class TestAddDetailEntry extends SOAPTestCase {
+    @Inject
     public TestAddDetailEntry(OMMetaFactory omMetaFactory, SOAPSpec spec) {
         super(omMetaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestDetailEntriesUsingDefaultNamespaceWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestDetailEntriesUsingDefaultNamespaceWithParser.java
index 9616ea337..99509bd0c 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestDetailEntriesUsingDefaultNamespaceWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestDetailEntriesUsingDefaultNamespaceWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faultdetail;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
@@ -29,6 +30,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 /** Tests parsing of a SOAP fault that has detail entries that use a default namespace. */
 public class TestDetailEntriesUsingDefaultNamespaceWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestDetailEntriesUsingDefaultNamespaceWithParser(
             OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.FAULT_DETAIL_DEFAULT_NAMESPACE);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestGetAllDetailEntries.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestGetAllDetailEntries.java
index 11849c687..b3735485d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestGetAllDetailEntries.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestGetAllDetailEntries.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faultdetail;
 
+import com.google.inject.Inject;
 import java.util.Iterator;
 
 import org.apache.axiom.om.OMElement;
@@ -31,6 +32,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetAllDetailEntries extends SOAPTestCase {
+    @Inject
     public TestGetAllDetailEntries(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestGetAllDetailEntriesWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestGetAllDetailEntriesWithParser.java
index e95139736..c07d2ca8d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestGetAllDetailEntriesWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestGetAllDetailEntriesWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faultdetail;
 
+import com.google.inject.Inject;
 import java.util.Iterator;
 
 import org.apache.axiom.om.OMElement;
@@ -30,6 +31,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 // SOAP Fault Detail Test (With Parser)
 public class TestGetAllDetailEntriesWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetAllDetailEntriesWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestSerialization.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestSerialization.java
index cb062d233..804b64db9 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestSerialization.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestSerialization.java
@@ -29,8 +29,11 @@ import org.apache.axiom.soap.SOAPFaultDetail;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 // Regression test for AXIOM-196
 public class TestSerialization extends SOAPTestCase {
+    @Inject
     public TestSerialization(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestWSCommons202.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestWSCommons202.java
index 93dd534b4..4cac48c50 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestWSCommons202.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultdetail/TestWSCommons202.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faultdetail;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFaultDetail;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestWSCommons202 extends SOAPTestCase {
+    @Inject
     public TestWSCommons202(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestGetFaultNodeValue.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestGetFaultNodeValue.java
index 9146741c7..262717052 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestGetFaultNodeValue.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestGetFaultNodeValue.java
@@ -18,12 +18,14 @@
  */
 package org.apache.axiom.ts.soap.faultnode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFaultNode;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetFaultNodeValue extends SOAPTestCase {
+    @Inject
     public TestGetFaultNodeValue(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestGetFaultNodeValueWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestGetFaultNodeValueWithParser.java
index fb1f74004..04b680019 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestGetFaultNodeValueWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestGetFaultNodeValueWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faultnode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSampleSet;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetFaultNodeValueWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetFaultNodeValueWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.CUSTOM_ROLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestSetFaultNodeValue.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestSetFaultNodeValue.java
index 144ac1126..d636c34dd 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestSetFaultNodeValue.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultnode/TestSetFaultNodeValue.java
@@ -18,12 +18,14 @@
  */
 package org.apache.axiom.ts.soap.faultnode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFaultNode;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestSetFaultNodeValue extends SOAPTestCase {
+    @Inject
     public TestSetFaultNodeValue(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultreason/TestGetFaultReasonText.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultreason/TestGetFaultReasonText.java
index 78b8e47ce..d391e3c0f 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultreason/TestGetFaultReasonText.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultreason/TestGetFaultReasonText.java
@@ -29,7 +29,10 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetFaultReasonText extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetFaultReasonText(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestGetRoleValue.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestGetRoleValue.java
index dadddb8e9..f6797be8b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestGetRoleValue.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestGetRoleValue.java
@@ -18,12 +18,14 @@
  */
 package org.apache.axiom.ts.soap.faultrole;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFaultRole;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetRoleValue extends SOAPTestCase {
+    @Inject
     public TestGetRoleValue(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestGetRoleValueWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestGetRoleValueWithParser.java
index 62c19e655..8b6b2b9eb 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestGetRoleValueWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestGetRoleValueWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faultrole;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSampleSet;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetRoleValueWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetRoleValueWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.CUSTOM_ROLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestSetRoleValue.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestSetRoleValue.java
index 1f7977631..7935ba9c4 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestSetRoleValue.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultrole/TestSetRoleValue.java
@@ -18,12 +18,14 @@
  */
 package org.apache.axiom.ts.soap.faultrole;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFaultRole;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestSetRoleValue extends SOAPTestCase {
+    @Inject
     public TestSetRoleValue(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestGetLang.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestGetLang.java
index ac16cf5bb..9a9e29740 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestGetLang.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestGetLang.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faulttext;
 
+import com.google.inject.Inject;
 import javax.xml.XMLConstants;
 
 import org.apache.axiom.om.OMMetaFactory;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetLang extends SOAPTestCase {
+    @Inject
     public TestGetLang(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestGetLangFromParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestGetLangFromParser.java
index 8c3dec08b..b07a6dfed 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestGetLangFromParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestGetLangFromParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faulttext;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSampleSet;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetLangFromParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetLangFromParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestSetLang.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestSetLang.java
index 8517a1b01..a078e9952 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestSetLang.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faulttext/TestSetLang.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.faulttext;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestSetLang extends SOAPTestCase {
+    @Inject
     public TestSetLang(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddChildWithPlainOMElement.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddChildWithPlainOMElement.java
index d879a75a5..5df396475 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddChildWithPlainOMElement.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddChildWithPlainOMElement.java
@@ -28,8 +28,11 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Regression test for AXIOM-512. */
 public class TestAddChildWithPlainOMElement extends SOAPTestCase {
+    @Inject
     public TestAddChildWithPlainOMElement(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlock.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlock.java
index efddfc0e8..cc5e5a6df 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlock.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlock.java
@@ -29,7 +29,10 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestAddHeaderBlock extends SOAPTestCase {
+    @Inject
     public TestAddHeaderBlock(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockFromQName.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockFromQName.java
index b31272734..6cd3c7a4e 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockFromQName.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockFromQName.java
@@ -27,8 +27,11 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Tests the behavior of {@link SOAPHeader#addHeaderBlock(QName)}. */
 public class TestAddHeaderBlockFromQName extends SOAPTestCase {
+    @Inject
     public TestAddHeaderBlockFromQName(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockFromQNameWithoutNamespace.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockFromQNameWithoutNamespace.java
index 1a01c8cd3..b50b595fd 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockFromQNameWithoutNamespace.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockFromQNameWithoutNamespace.java
@@ -18,10 +18,10 @@
  */
 package org.apache.axiom.ts.soap.header;
 
-import javax.xml.namespace.QName;
-
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
+import javax.xml.namespace.QName;
+
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -29,11 +29,14 @@ import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests the behavior of {@link SOAPHeader#addHeaderBlock(QName)} when passing a {@link QName} with
  * no namespace.
  */
 public class TestAddHeaderBlockFromQNameWithoutNamespace extends SOAPTestCase {
+    @Inject
     public TestAddHeaderBlockFromQNameWithoutNamespace(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockWithoutNamespace1.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockWithoutNamespace1.java
index 730a58e92..61219b009 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockWithoutNamespace1.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockWithoutNamespace1.java
@@ -28,11 +28,14 @@ import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests the behavior of {@link SOAPHeader#addHeaderBlock(String, OMNamespace)} when passing a
  * <code>null</code> value for the {@link OMNamespace} parameter.
  */
 public class TestAddHeaderBlockWithoutNamespace1 extends SOAPTestCase {
+    @Inject
     public TestAddHeaderBlockWithoutNamespace1(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockWithoutNamespace2.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockWithoutNamespace2.java
index f3e870c08..40ff3b834 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockWithoutNamespace2.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestAddHeaderBlockWithoutNamespace2.java
@@ -28,11 +28,14 @@ import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests the behavior of {@link SOAPHeader#addHeaderBlock(String, OMNamespace)} when passing an
  * {@link OMNamespace} object with an empty namespace URI.
  */
 public class TestAddHeaderBlockWithoutNamespace2 extends SOAPTestCase {
+    @Inject
     public TestAddHeaderBlockWithoutNamespace2(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java
index 486134ed9..2bdeac00e 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.header;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSampleSet;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 // Regression test for AXIOM-223 (see r567512)
 public class TestDiscardIncomplete extends SampleBasedSOAPTestCase {
+    @Inject
     public TestDiscardIncomplete(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.WSA);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardPartiallyBuilt.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardPartiallyBuilt.java
index de333aeea..f6b3988f1 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardPartiallyBuilt.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardPartiallyBuilt.java
@@ -30,12 +30,15 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests the behavior of {@link OMNode#discard()} on a {@link SOAPHeader} that is partially built,
  * more precisely in a situation where the builder is building a descendant that is not an immediate
  * child of the header.
  */
 public class TestDiscardPartiallyBuilt extends SampleBasedSOAPTestCase {
+    @Inject
     public TestDiscardPartiallyBuilt(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.WSA);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineAllHeaderBlocks.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineAllHeaderBlocks.java
index 77ef669d3..4907b1c35 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineAllHeaderBlocks.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineAllHeaderBlocks.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestExamineAllHeaderBlocks extends SOAPTestCase {
+    @Inject
     public TestExamineAllHeaderBlocks(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineAllHeaderBlocksWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineAllHeaderBlocksWithParser.java
index b16957944..f8cbc26f6 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineAllHeaderBlocksWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineAllHeaderBlocksWithParser.java
@@ -27,7 +27,10 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestExamineAllHeaderBlocksWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestExamineAllHeaderBlocksWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.WSA);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineHeaderBlocks.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineHeaderBlocks.java
index ad3faaa5c..07fc96ed7 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineHeaderBlocks.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineHeaderBlocks.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestExamineHeaderBlocks extends SOAPTestCase {
+    @Inject
     public TestExamineHeaderBlocks(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineHeaderBlocksWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineHeaderBlocksWithParser.java
index 05a558086..a143d6147 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineHeaderBlocksWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineHeaderBlocksWithParser.java
@@ -31,7 +31,10 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestExamineHeaderBlocksWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestExamineHeaderBlocksWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.HEADERS);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineMustUnderstandHeaderBlocksWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineMustUnderstandHeaderBlocksWithParser.java
index e69491824..9eb139e62 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineMustUnderstandHeaderBlocksWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExamineMustUnderstandHeaderBlocksWithParser.java
@@ -31,7 +31,10 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestExamineMustUnderstandHeaderBlocksWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestExamineMustUnderstandHeaderBlocksWithParser(
             OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.HEADERS);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExtractAllHeaderBlocks.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExtractAllHeaderBlocks.java
index 1e8b83ce4..ec0cc15e9 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExtractAllHeaderBlocks.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestExtractAllHeaderBlocks.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestExtractAllHeaderBlocks extends SOAPTestCase {
+    @Inject
     public TestExtractAllHeaderBlocks(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithNSURI.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithNSURI.java
index 427afb49b..b247000b4 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithNSURI.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithNSURI.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetHeaderBlocksWithNSURI extends SOAPTestCase {
+    @Inject
     public TestGetHeaderBlocksWithNSURI(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithNSURIWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithNSURIWithParser.java
index 3b9473f11..54aa286db 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithNSURIWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithNSURIWithParser.java
@@ -31,7 +31,10 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetHeaderBlocksWithNSURIWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetHeaderBlocksWithNSURIWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.HEADERS);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithName.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithName.java
index 4afccfc64..b3cafecb7 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithName.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeaderBlocksWithName.java
@@ -31,7 +31,10 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetHeaderBlocksWithName extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetHeaderBlocksWithName(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.HEADERS);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeadersToProcessWithNamespace.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeadersToProcessWithNamespace.java
index 7c67337ec..1cea747ab 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeadersToProcessWithNamespace.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeadersToProcessWithNamespace.java
@@ -29,8 +29,11 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Tests the behavior of {@link SOAPHeader#getHeadersToProcess(RolePlayer, String)} */
 public class TestGetHeadersToProcessWithNamespace extends SOAPTestCase {
+    @Inject
     public TestGetHeadersToProcessWithNamespace(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeadersToProcessWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeadersToProcessWithParser.java
index 52b1c2f25..c88fb8981 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeadersToProcessWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestGetHeadersToProcessWithParser.java
@@ -21,6 +21,7 @@ package org.apache.axiom.ts.soap.header;
 
 import java.util.Iterator;
 
+import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.RolePlayer;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPHeader;
@@ -28,9 +29,11 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
-import org.apache.axiom.om.OMMetaFactory;
+
+import com.google.inject.Inject;
 
 public class TestGetHeadersToProcessWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetHeadersToProcessWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.HEADERS);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestBlobOMDataSource.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestBlobOMDataSource.java
index 23d4c720b..53e7f7bfa 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestBlobOMDataSource.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestBlobOMDataSource.java
@@ -34,8 +34,11 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Tests functionality of BlobOMDataSource */
 public class TestBlobOMDataSource extends SOAPTestCase {
+    @Inject
     public TestBlobOMDataSource(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestClone.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestClone.java
index 8b443b3a8..05d1bdd6e 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestClone.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestClone.java
@@ -27,11 +27,19 @@ import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.jspecify.annotations.Nullable;
+
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 
 public class TestClone extends SOAPTestCase {
     private final Boolean processed;
 
-    public TestClone(OMMetaFactory metaFactory, SOAPSpec spec, Boolean processed) {
+    @Inject
+    public TestClone(
+            OMMetaFactory metaFactory,
+            SOAPSpec spec,
+            @Named("processed") @Nullable Boolean processed) {
         super(metaFactory, spec);
         this.processed = processed;
         addTestParameter("processed", String.valueOf(processed));
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestCloneProcessedWithoutPreservingModel.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestCloneProcessedWithoutPreservingModel.java
index eeccf961d..8ad278ebb 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestCloneProcessedWithoutPreservingModel.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestCloneProcessedWithoutPreservingModel.java
@@ -27,6 +27,8 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Test cloning a {@link SOAPHeaderBlock} flagged as processed, but without preserving the model. In
  * this case the result is a plain {@link OMElement} instance and the processed flag is ignored.
@@ -34,6 +36,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * <p>This is a regression test for an issue in older Axiom versions.
  */
 public class TestCloneProcessedWithoutPreservingModel extends SOAPTestCase {
+    @Inject
     public TestCloneProcessedWithoutPreservingModel(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttribute.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttribute.java
index 0a38684f4..cc8a0d074 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttribute.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttribute.java
@@ -23,14 +23,17 @@ import javax.xml.namespace.QName;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.BooleanAttributeAccessor;
 import org.apache.axiom.ts.soap.BooleanLiteral;
+import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
+import com.google.inject.Inject;
+
 public class TestGetBooleanAttribute extends BooleanAttributeTestCase {
     private final BooleanLiteral literal;
 
+    @Inject
     public TestGetBooleanAttribute(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
@@ -38,7 +41,6 @@ public class TestGetBooleanAttribute extends BooleanAttributeTestCase {
             BooleanLiteral literal) {
         super(metaFactory, spec, attribute);
         this.literal = literal;
-        addTestParameter("literal", literal.getLexicalRepresentation());
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeDefault.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeDefault.java
index 6c8280aa0..0b96818ee 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeDefault.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeDefault.java
@@ -23,16 +23,19 @@ import javax.xml.namespace.QName;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.BooleanAttributeAccessor;
+import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link SOAPHeaderBlock#getMustUnderstand()} (resp. {@link SOAPHeaderBlock#getRelay()})
  * returns <code>false</code> if the {@code mustUnderstand} (resp. {@code relay}) attribute is
  * absent.
  */
 public class TestGetBooleanAttributeDefault extends BooleanAttributeTestCase {
+    @Inject
     public TestGetBooleanAttributeDefault(
             OMMetaFactory metaFactory, SOAPSpec spec, HeaderBlockAttribute attribute) {
         super(metaFactory, spec, attribute);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeInvalid.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeInvalid.java
index fe97f52ca..d5cf9e591 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeInvalid.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeInvalid.java
@@ -26,10 +26,13 @@ import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.soap.SOAPProcessingException;
-import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.BooleanAttributeAccessor;
+import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
 /**
  * Tests that {@link SOAPHeaderBlock#getMustUnderstand()} (resp. {@link SOAPHeaderBlock#getRelay()})
  * throws {@link SOAPProcessingException} if a {@code mustUnderstand} (resp. {@code relay})
@@ -38,14 +41,14 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 public class TestGetBooleanAttributeInvalid extends BooleanAttributeTestCase {
     private final String value;
 
+    @Inject
     public TestGetBooleanAttributeInvalid(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
             HeaderBlockAttribute attribute,
-            String value) {
+            @Named("value") String value) {
         super(metaFactory, spec, attribute);
         this.value = value;
-        addTestParameter("value", value);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeUnspported.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeUnspported.java
index 1973f6280..429c93606 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeUnspported.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetBooleanAttributeUnspported.java
@@ -25,15 +25,18 @@ import javax.xml.namespace.QName;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.BooleanAttributeAccessor;
+import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link SOAPHeaderBlock#getRelay()} throws {@link UnsupportedOperationException} for
  * SOAP 1.1 messages.
  */
 public class TestGetBooleanAttributeUnspported extends BooleanAttributeTestCase {
+    @Inject
     public TestGetBooleanAttributeUnspported(
             OMMetaFactory metaFactory, SOAPSpec spec, HeaderBlockAttribute attribute) {
         super(metaFactory, spec, attribute);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandWithParser.java
index ab0d1ee23..9bd70919e 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetMustUnderstandWithParser.java
@@ -27,7 +27,10 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetMustUnderstandWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetMustUnderstandWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.HEADERS);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetRole.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetRole.java
index f606e0863..aa3bc65b0 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetRole.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetRole.java
@@ -18,12 +18,14 @@
  */
 package org.apache.axiom.ts.soap.headerblock;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetRole extends SOAPTestCase {
+    @Inject
     public TestGetRole(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetRoleWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetRoleWithParser.java
index 8a7defe55..97e249f54 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetRoleWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetRoleWithParser.java
@@ -27,7 +27,10 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetRoleWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetRoleWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec, SOAPSampleSet.HEADERS);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetVersion.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetVersion.java
index 96a3f42a5..2d1797256 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetVersion.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestGetVersion.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.headerblock;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.soap.SOAPVersion;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetVersion extends SOAPTestCase {
+    @Inject
     public TestGetVersion(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetAttributeNamespacePrefix.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetAttributeNamespacePrefix.java
index 2eda26231..4d6dab912 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetAttributeNamespacePrefix.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetAttributeNamespacePrefix.java
@@ -28,6 +28,8 @@ import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that setting a SOAP header block attribute uses the correct namespace prefix from the
  * attribute's QName, not the attribute's local name.
@@ -41,11 +43,11 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 public class TestSetAttributeNamespacePrefix extends SOAPTestCase {
     private final HeaderBlockAttribute attribute;
 
+    @Inject
     public TestSetAttributeNamespacePrefix(
             OMMetaFactory metaFactory, SOAPSpec spec, HeaderBlockAttribute attribute) {
         super(metaFactory, spec);
         this.attribute = attribute;
-        addTestParameter("attribute", attribute.getName(spec));
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetBooleanAttribute.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetBooleanAttribute.java
index bf124afc5..780c13d06 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetBooleanAttribute.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetBooleanAttribute.java
@@ -24,20 +24,23 @@ import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.BooleanAttributeAccessor;
+import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
 public class TestSetBooleanAttribute extends BooleanAttributeTestCase {
     private final boolean value;
 
+    @Inject
     public TestSetBooleanAttribute(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
             HeaderBlockAttribute attribute,
-            boolean value) {
+            @Named("value") boolean value) {
         super(metaFactory, spec, attribute);
-        addTestParameter("value", value);
         this.value = value;
     }
 
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetBooleanAttributeUnsupported.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetBooleanAttributeUnsupported.java
index 61fd088b8..4c52d15b1 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetBooleanAttributeUnsupported.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetBooleanAttributeUnsupported.java
@@ -25,11 +25,14 @@ import javax.xml.namespace.QName;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.BooleanAttributeAccessor;
+import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
+import com.google.inject.Inject;
+
 public class TestSetBooleanAttributeUnsupported extends BooleanAttributeTestCase {
+    @Inject
     public TestSetBooleanAttributeUnsupported(
             OMMetaFactory metaFactory, SOAPSpec spec, HeaderBlockAttribute attribute) {
         super(metaFactory, spec, attribute);
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetRole.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetRole.java
index 7a124dcc4..ff2e13d90 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetRole.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetRole.java
@@ -18,12 +18,14 @@
  */
 package org.apache.axiom.ts.soap.headerblock;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestSetRole extends SOAPTestCase {
+    @Inject
     public TestSetRole(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetRoleWithoutExistingNamespaceDecl.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetRoleWithoutExistingNamespaceDecl.java
index f148d1608..e92e7ef36 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetRoleWithoutExistingNamespaceDecl.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestSetRoleWithoutExistingNamespaceDecl.java
@@ -18,7 +18,6 @@
  */
 package org.apache.axiom.ts.soap.headerblock;
 
-import static com.google.common.truth.Truth.assertThat;
 import static org.apache.axiom.truth.AxiomTruth.assertThat;
 
 import org.apache.axiom.om.OMAttribute;
@@ -28,8 +27,11 @@ import org.apache.axiom.ts.soap.HeaderBlockAttribute;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Tests that {@link SOAPHeaderBlock#setRole(String)} adds a namespace declaration if necessary. */
 public class TestSetRoleWithoutExistingNamespaceDecl extends SOAPTestCase {
+    @Inject
     public TestSetRoleWithoutExistingNamespaceDecl(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent1.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent1.java
index 4b8b5aff9..3a1ced21e 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent1.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent1.java
@@ -30,11 +30,14 @@ import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link OMContainer#addChild(OMNode)} throws an exception if an attempt is made to add
  * a {@link SOAPHeaderBlock} to a SOAP element other than {@link SOAPHeader}.
  */
 public class TestWrongParent1 extends SOAPTestCase {
+    @Inject
     public TestWrongParent1(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent2.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent2.java
index a0b72f770..ad65a627b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent2.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent2.java
@@ -30,11 +30,14 @@ import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link OMNode#insertSiblingAfter(OMNode)} throws an exception if an attempt is made to
  * add a {@link SOAPHeaderBlock} as a child of a SOAP element other than {@link SOAPHeader}.
  */
 public class TestWrongParent2 extends SOAPTestCase {
+    @Inject
     public TestWrongParent2(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent3.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent3.java
index d2cf8ef3b..0ecbe7c68 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent3.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/headerblock/TestWrongParent3.java
@@ -30,11 +30,14 @@ import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link OMNode#insertSiblingBefore(OMNode)} throws an exception if an attempt is made
  * to add a {@link SOAPHeaderBlock} as a child of a SOAP element other than {@link SOAPHeader}.
  */
 public class TestWrongParent3 extends SOAPTestCase {
+    @Inject
     public TestWrongParent3(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestClone.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestClone.java
index 1dff284af..96f0a860e 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestClone.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestClone.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.message;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import org.apache.axiom.om.OMCloneOptions;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
@@ -36,10 +38,13 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 public class TestClone extends SOAPTestCase {
     private final boolean preserveModel;
 
-    public TestClone(OMMetaFactory metaFactory, SOAPSpec spec, boolean preserveModel) {
+    @Inject
+    public TestClone(
+            OMMetaFactory metaFactory,
+            SOAPSpec spec,
+            @Named("preserveModel") boolean preserveModel) {
         super(metaFactory, spec);
         this.preserveModel = preserveModel;
-        addTestParameter("preserveModel", preserveModel);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestCloneIncomplete.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestCloneIncomplete.java
index 8937d9cc2..c8d86998a 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestCloneIncomplete.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestCloneIncomplete.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.message;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import org.apache.axiom.om.OMCloneOptions;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMInformationItem;
@@ -36,10 +38,13 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
 public class TestCloneIncomplete extends SOAPTestCase {
     private final boolean preserveModel;
 
-    public TestCloneIncomplete(OMMetaFactory metaFactory, SOAPSpec spec, boolean preserveModel) {
+    @Inject
+    public TestCloneIncomplete(
+            OMMetaFactory metaFactory,
+            SOAPSpec spec,
+            @Named("preserveModel") boolean preserveModel) {
         super(metaFactory, spec);
         this.preserveModel = preserveModel;
-        addTestParameter("preserveModel", preserveModel);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestGetCharsetEncodingWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestGetCharsetEncodingWithParser.java
index 5a1a00d32..2016b2a71 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestGetCharsetEncodingWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestGetCharsetEncodingWithParser.java
@@ -30,8 +30,11 @@ import org.apache.axiom.soap.SOAPMessage;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /** Tests {@link OMDocument#getCharsetEncoding()} on a {@link SOAPMessage} created by a builder. */
 public class TestGetCharsetEncodingWithParser extends SOAPTestCase {
+    @Inject
     public TestGetCharsetEncodingWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestGetOMFactoryWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestGetOMFactoryWithParser.java
index 966c22bb6..125fa79ac 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestGetOMFactoryWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestGetOMFactoryWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.message;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMInformationItem;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFactory;
@@ -33,6 +34,7 @@ import org.apache.axiom.ts.soap.SOAPSampleSet;
  * factory is auto-detected based on the namespace URI of the SOAP envelope.
  */
 public class TestGetOMFactoryWithParser extends SOAPTestCase {
+    @Inject
     public TestGetOMFactoryWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java
index d44c1eb4f..2ccf437f3 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java
@@ -29,11 +29,14 @@ import org.apache.axiom.ts.dimension.ExpansionStrategy;
 import org.apache.axiom.ts.dimension.serialization.SerializationStrategy;
 import org.apache.axiom.ts.soap.SOAPSample;
 
+import com.google.inject.Inject;
+
 public class TestSerialize extends AxiomTestCase {
     private final SOAPSample message;
     private final ExpansionStrategy expansionStrategy;
     private final SerializationStrategy serializationStrategy;
 
+    @Inject
     public TestSerialize(
             OMMetaFactory metaFactory,
             SOAPSample message,
@@ -43,9 +46,6 @@ public class TestSerialize extends AxiomTestCase {
         this.message = message;
         this.expansionStrategy = expansionStrategy;
         this.serializationStrategy = serializationStrategy;
-        addTestParameter("message", message.getName());
-        expansionStrategy.addTestParameters(this);
-        serializationStrategy.addTestParameters(this);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSetOMDocumentElement.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSetOMDocumentElement.java
index f4e76f269..f67836a9a 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSetOMDocumentElement.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSetOMDocumentElement.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap.message;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
@@ -31,6 +32,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * {@link SOAPEnvelope} as the root element of a {@link SOAPMessage}.
  */
 public class TestSetOMDocumentElement extends SOAPTestCase {
+    @Inject
     public TestSetOMDocumentElement(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSetOMDocumentElementNonSOAPEnvelope.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSetOMDocumentElementNonSOAPEnvelope.java
index cad758c50..ec2eb3ddd 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSetOMDocumentElementNonSOAPEnvelope.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSetOMDocumentElementNonSOAPEnvelope.java
@@ -18,10 +18,10 @@
  */
 package org.apache.axiom.ts.soap.message;
 
-import javax.xml.namespace.QName;
-
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
+import javax.xml.namespace.QName;
+
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMException;
@@ -31,12 +31,15 @@ import org.apache.axiom.soap.SOAPMessage;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests the behavior of {@link OMDocument#setOMDocumentElement(OMElement)} when an attempt is made
  * to set an {@link OMElement} that is not a {@link SOAPEnvelope} as the root element of a {@link
  * SOAPMessage}. In this case, an exception should be thrown.
  */
 public class TestSetOMDocumentElementNonSOAPEnvelope extends SOAPTestCase {
+    @Inject
     public TestSetOMDocumentElementNonSOAPEnvelope(OMMetaFactory metaFactory, SOAPSpec spec) {
         super(metaFactory, spec);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java
index 8f5086209..9a61fe357 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.misc;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.ts.soap.SOAPElementType;
@@ -25,11 +27,12 @@ import org.apache.axiom.ts.soap.SOAPElementTypeAdapter;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
 public class TestGetChild extends GetSetChildTestCase {
+    @Inject
     public TestGetChild(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
-            SOAPElementType type,
-            SOAPElementType childType) {
+            @Named("type") SOAPElementType type,
+            @Named("childType") SOAPElementType childType) {
         super(metaFactory, spec, type, childType);
     }
 
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java
index 52971ddcf..4e7223ade 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.misc;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.ts.soap.SOAPElementType;
@@ -25,11 +27,12 @@ import org.apache.axiom.ts.soap.SOAPElementTypeAdapter;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
 public class TestSetChild extends GetSetChildTestCase {
+    @Inject
     public TestSetChild(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
-            SOAPElementType type,
-            SOAPElementType childType) {
+            @Named("type") SOAPElementType type,
+            @Named("childType") SOAPElementType childType) {
         super(metaFactory, spec, type, childType);
     }
 
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java
index bafa1d99a..ca068e2ad 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.misc;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import org.apache.axiom.om.OMElement;
@@ -28,11 +30,12 @@ import org.apache.axiom.ts.soap.SOAPElementTypeAdapter;
 import org.apache.axiom.ts.soap.SOAPSpec;
 
 public class TestSetChildVersionMismatch extends GetSetChildTestCase {
+    @Inject
     public TestSetChildVersionMismatch(
             OMMetaFactory metaFactory,
             SOAPSpec spec,
-            SOAPElementType type,
-            SOAPElementType childType) {
+            @Named("type") SOAPElementType type,
+            @Named("childType") SOAPElementType childType) {
         super(metaFactory, spec, type, childType);
     }
 
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/xpath/TestXPathAppliedToSOAPEnvelope.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/xpath/TestXPathAppliedToSOAPEnvelope.java
index 52391db91..6d5b7f180 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/xpath/TestXPathAppliedToSOAPEnvelope.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/xpath/TestXPathAppliedToSOAPEnvelope.java
@@ -18,6 +18,8 @@
  */
 package org.apache.axiom.ts.soap.xpath;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNode;
@@ -30,11 +32,13 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
 public class TestXPathAppliedToSOAPEnvelope extends SOAPTestCase {
     private boolean createDocument;
 
+    @Inject
     public TestXPathAppliedToSOAPEnvelope(
-            OMMetaFactory metaFactory, SOAPSpec spec, boolean createDocument) {
+            OMMetaFactory metaFactory,
+            SOAPSpec spec,
+            @Named("createDocument") boolean createDocument) {
         super(metaFactory, spec);
         this.createDocument = createDocument;
-        addTestParameter("createDocument", createDocument);
     }
 
     @Override
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/builder/TestBuilder.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/builder/TestBuilder.java
index 0f7ce5be7..b905f64b8 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/builder/TestBuilder.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/builder/TestBuilder.java
@@ -42,7 +42,10 @@ import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.AxiomTestCase;
 
+import com.google.inject.Inject;
+
 public class TestBuilder extends AxiomTestCase {
+    @Inject
     public TestBuilder(OMMetaFactory metaFactory) {
         super(metaFactory);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/fault/TestGetNode.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/fault/TestGetNode.java
index 7fe2adcd7..c395201aa 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/fault/TestGetNode.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/fault/TestGetNode.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap11.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.ts.soap.SOAPSpec;
@@ -28,6 +29,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * UnsupportedOperationException}) for SOAP 1.1 faults.
  */
 public class TestGetNode extends SOAPTestCase {
+    @Inject
     public TestGetNode(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP11);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/fault/TestSetNode.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/fault/TestSetNode.java
index cbef6395a..005e5742d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/fault/TestSetNode.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/fault/TestSetNode.java
@@ -18,12 +18,14 @@
  */
 package org.apache.axiom.ts.soap11.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestSetNode extends SOAPTestCase {
+    @Inject
     public TestSetNode(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP11);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValue.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValue.java
index ba08316d9..dfb027a93 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValue.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValue.java
@@ -28,11 +28,14 @@ import org.apache.axiom.soap.SOAPFaultCode;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests that {@link SOAPFaultClassifier#getValue()} returns <code>null</code> when invoked on a
  * SOAP 1.1 {@link SOAPFaultCode}.
  */
 public class TestGetValue extends SOAPTestCase {
+    @Inject
     public TestGetValue(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP11);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java
index 4d283080e..6d414fcb8 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap11.faultcode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFaultCode;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetValueWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetValueWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP11, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestSetValueFromQName.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestSetValueFromQName.java
index aeeebacd3..4e451800b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestSetValueFromQName.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestSetValueFromQName.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap11.faultcode;
 
+import com.google.inject.Inject;
 import java.util.Iterator;
 
 import javax.xml.namespace.QName;
@@ -34,6 +35,7 @@ import org.apache.axiom.ts.soap.SOAPTestCase;
  * {@link SOAPFaultCode}.
  */
 public class TestSetValueFromQName extends SOAPTestCase {
+    @Inject
     public TestSetValueFromQName(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP11);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestAddSOAPText.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestAddSOAPText.java
index 55b82c4e0..2fabc05d8 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestAddSOAPText.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestAddSOAPText.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap11.faultreason;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.soap.SOAPFaultReason;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestAddSOAPText extends SOAPTestCase {
+    @Inject
     public TestAddSOAPText(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP11);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestGetFirstSOAPText.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestGetFirstSOAPText.java
index 7f9f99773..987beb94b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestGetFirstSOAPText.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestGetFirstSOAPText.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap11.faultreason;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.soap.SOAPFaultReason;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetFirstSOAPText extends SOAPTestCase {
+    @Inject
     public TestGetFirstSOAPText(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP11);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestGetTextWithCDATA.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestGetTextWithCDATA.java
index 6af4f1469..6ef5ee080 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestGetTextWithCDATA.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultreason/TestGetTextWithCDATA.java
@@ -33,7 +33,10 @@ import org.apache.axiom.soap.SOAPModelBuilder;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetTextWithCDATA extends SOAPTestCase {
+    @Inject
     public TestGetTextWithCDATA(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP11);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/builder/TestBuilder.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/builder/TestBuilder.java
index 320999eb5..1e7c4790d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/builder/TestBuilder.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/builder/TestBuilder.java
@@ -46,7 +46,10 @@ import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.AxiomTestCase;
 
+import com.google.inject.Inject;
+
 public class TestBuilder extends AxiomTestCase {
+    @Inject
     public TestBuilder(OMMetaFactory metaFactory) {
         super(metaFactory);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java
index 599ffcf94..40c36236d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestBuildWithAttachments.java
@@ -31,7 +31,10 @@ import org.apache.axiom.testutils.io.IOTestUtils;
 import org.apache.axiom.ts.AxiomTestCase;
 import org.apache.axiom.ts.soap.MTOMSample;
 
+import com.google.inject.Inject;
+
 public class TestBuildWithAttachments extends AxiomTestCase {
+    @Inject
     public TestBuildWithAttachments(OMMetaFactory metaFactory) {
         super(metaFactory);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java
index a8033f324..6dd58b0f8 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/envelope/TestMTOMForwardStreaming.java
@@ -37,6 +37,9 @@ import org.apache.axiom.testutils.blob.TestBlob;
 import org.apache.axiom.testutils.io.IOTestUtils;
 import org.apache.axiom.ts.AxiomTestCase;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
 /**
  * Tests that attachments are streamed (i.e. not read entirely into memory) if the original message
  * was read from an input stream and {@link OMElement#serializeAndConsume(java.io.OutputStream,
@@ -46,9 +49,10 @@ import org.apache.axiom.ts.AxiomTestCase;
 public class TestMTOMForwardStreaming extends AxiomTestCase {
     private final boolean buildSOAPPart;
 
-    public TestMTOMForwardStreaming(OMMetaFactory metaFactory, boolean buildSOAPPart) {
+    @Inject
+    public TestMTOMForwardStreaming(
+            OMMetaFactory metaFactory, @Named("buildSOAPPart") boolean buildSOAPPart) {
         super(metaFactory);
-        addTestParameter("buildSOAPPart", buildSOAPPart);
         this.buildSOAPPart = buildSOAPPart;
     }
 
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/factory/TestCreateSOAPFaultSubCode.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/factory/TestCreateSOAPFaultSubCode.java
index 15830bc8b..1b9a4ae0b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/factory/TestCreateSOAPFaultSubCode.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/factory/TestCreateSOAPFaultSubCode.java
@@ -32,11 +32,14 @@ import org.apache.axiom.soap.SOAPFaultValue;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests {@link SOAPFactory#createSOAPFaultSubCode(SOAPFaultCode)} when used with a {@link
  * SOAPFaultCode} that has already a {@link SOAPFaultValue} child.
  */
 public class TestCreateSOAPFaultSubCode extends SOAPTestCase {
+    @Inject
     public TestCreateSOAPFaultSubCode(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestGetNode.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestGetNode.java
index c04ee5574..5a61212d5 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestGetNode.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestGetNode.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPFault;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetNode extends SOAPTestCase {
+    @Inject
     public TestGetNode(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestGetNodeWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestGetNodeWithParser.java
index 6876ca644..0f2d0f4f9 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestGetNodeWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestGetNodeWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetNodeWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetNodeWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestMoreChildrenAddition.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestMoreChildrenAddition.java
index 06803f4e5..6a0fe58e6 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestMoreChildrenAddition.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestMoreChildrenAddition.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFaultCode;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestMoreChildrenAddition extends SOAPTestCase {
+    @Inject
     public TestMoreChildrenAddition(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestSetNode.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestSetNode.java
index f7948a455..5b77aefc3 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestSetNode.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/fault/TestSetNode.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.fault;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPFault;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestSetNode extends SOAPTestCase {
+    @Inject
     public TestSetNode(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetSubCodeWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetSubCodeWithParser.java
index d473bd63c..905729682 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetSubCodeWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetSubCodeWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultcode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetSubCodeWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetSubCodeWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java
index 01c5c64f8..01d8ebf15 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultcode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -27,6 +28,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetValueWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetValueWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestSetValueFromQName.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestSetValueFromQName.java
index 3a5446c57..a5f148497 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestSetValueFromQName.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestSetValueFromQName.java
@@ -30,11 +30,14 @@ import org.apache.axiom.soap.SOAPFaultValue;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests the behavior of {@link SOAPFaultClassifier#setValue(QName)} when invoked on an empty SOAP
  * 1.2 {@link SOAPFaultCode}.
  */
 public class TestSetValueFromQName extends SOAPTestCase {
+    @Inject
     public TestSetValueFromQName(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestSetValueFromQNameWithExistingValue.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestSetValueFromQNameWithExistingValue.java
index 0d2bc8140..af91f78a7 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestSetValueFromQNameWithExistingValue.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestSetValueFromQNameWithExistingValue.java
@@ -30,11 +30,14 @@ import org.apache.axiom.soap.SOAPFaultValue;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests the behavior of {@link SOAPFaultClassifier#setValue(QName)} when invoked on a SOAP 1.2
  * {@link SOAPFaultCode} that already has a {@link SOAPFaultValue} child.
  */
 public class TestSetValueFromQNameWithExistingValue extends SOAPTestCase {
+    @Inject
     public TestSetValueFromQNameWithExistingValue(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPText.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPText.java
index 796085841..8c71034ac 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPText.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPText.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultreason;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.soap.SOAPFaultReason;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestAddSOAPText extends SOAPTestCase {
+    @Inject
     public TestAddSOAPText(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPTextMultiple.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPTextMultiple.java
index 35cdd7101..36c94c0d7 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPTextMultiple.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPTextMultiple.java
@@ -27,7 +27,10 @@ import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestAddSOAPTextMultiple extends SOAPTestCase {
+    @Inject
     public TestAddSOAPTextMultiple(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPTextWithSOAPVersionMismatch.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPTextWithSOAPVersionMismatch.java
index 1d24783d5..36196e86b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPTextWithSOAPVersionMismatch.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestAddSOAPTextWithSOAPVersionMismatch.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultreason;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.soap.SOAPFaultReason;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestAddSOAPTextWithSOAPVersionMismatch extends SOAPTestCase {
+    @Inject
     public TestAddSOAPTextWithSOAPVersionMismatch(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetAllSoapTextsWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetAllSoapTextsWithParser.java
index f1f8bdbf4..84634483d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetAllSoapTextsWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetAllSoapTextsWithParser.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetAllSoapTextsWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetAllSoapTextsWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonText.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonText.java
index 1432b2570..f48b3d39c 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonText.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonText.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPFaultReason;
 import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetFaultReasonText extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetFaultReasonText(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonTextCaseSensitivity.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonTextCaseSensitivity.java
index cf97120f7..3464031a2 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonTextCaseSensitivity.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonTextCaseSensitivity.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetFaultReasonTextCaseSensitivity extends SOAPTestCase {
+    @Inject
     public TestGetFaultReasonTextCaseSensitivity(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonTextWithoutLangAttribute.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonTextWithoutLangAttribute.java
index 485bc89a2..34b1dcc75 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonTextWithoutLangAttribute.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFaultReasonTextWithoutLangAttribute.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetFaultReasonTextWithoutLangAttribute extends SOAPTestCase {
+    @Inject
     public TestGetFaultReasonTextWithoutLangAttribute(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPText.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPText.java
index 373cdc7ce..2a774aa7b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPText.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPText.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultreason;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.soap.SOAPFaultReason;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
 public class TestGetFirstSOAPText extends SOAPTestCase {
+    @Inject
     public TestGetFirstSOAPText(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java
index e591ee51e..1cad15826 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultreason;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFaultReason;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetFirstSOAPTextWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetFirstSOAPTextWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeNestedWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeNestedWithParser.java
index b85c20328..eef2a7b4b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeNestedWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeNestedWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultsubcode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetSubCodeNestedWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetSubCodeNestedWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeWithParser.java
index 7e518580b..6bde929c2 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetSubCodeWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultsubcode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -26,6 +27,7 @@ import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetSubCodeWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetSubCodeWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueAsQNameWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueAsQNameWithParser.java
index 061aa6790..4fe86434d 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueAsQNameWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueAsQNameWithParser.java
@@ -27,11 +27,14 @@ import org.apache.axiom.soap.SOAPFaultSubCode;
 import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 /**
  * Tests the behavior of {@link SOAPFaultClassifier#getValueAsQName()} on a {@link
  * SOAPFaultSubCode}.
  */
 public class TestGetValueAsQNameWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetValueAsQNameWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueNestedWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueNestedWithParser.java
index eaa01e3de..0807d4613 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueNestedWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueNestedWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultsubcode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFaultSubCode;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetValueNestedWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetValueNestedWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueWithParser.java
index fc571ee5e..c2f5bb92b 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultsubcode/TestGetValueWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faultsubcode;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFaultSubCode;
@@ -25,6 +26,7 @@ import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetValueWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetValueWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java
index 752579cda..81d41675e 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java
@@ -18,6 +18,7 @@
  */
 package org.apache.axiom.ts.soap12.faulttext;
 
+import com.google.inject.Inject;
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP12Constants;
@@ -28,6 +29,7 @@ import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
 public class TestGetLangWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetLangWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12, SOAPSampleSet.SIMPLE_FAULT);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/header/TestExamineMustUnderstandHeaderBlocks.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/header/TestExamineMustUnderstandHeaderBlocks.java
index 8f212c488..d74c955b5 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/header/TestExamineMustUnderstandHeaderBlocks.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/header/TestExamineMustUnderstandHeaderBlocks.java
@@ -28,7 +28,10 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestExamineMustUnderstandHeaderBlocks extends SOAPTestCase {
+    @Inject
     public TestExamineMustUnderstandHeaderBlocks(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSpec.SOAP12);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestGetRelayWithParser.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestGetRelayWithParser.java
index a1bc3d190..96d071638 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestGetRelayWithParser.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/headerblock/TestGetRelayWithParser.java
@@ -26,7 +26,10 @@ import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.ts.soap.SOAPSample;
 import org.apache.axiom.ts.soap.SampleBasedSOAPTestCase;
 
+import com.google.inject.Inject;
+
 public class TestGetRelayWithParser extends SampleBasedSOAPTestCase {
+    @Inject
     public TestGetRelayWithParser(OMMetaFactory metaFactory) {
         super(metaFactory, SOAPSample.SOAP12_RELAY);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java
index 8d2f264e5..6f3ebe4b1 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestBuilderDetach.java
@@ -34,7 +34,10 @@ import org.apache.axiom.testutils.io.InstrumentedInputStream;
 import org.apache.axiom.ts.AxiomTestCase;
 import org.apache.axiom.ts.soap.MTOMSample;
 
+import com.google.inject.Inject;
+
 public class TestBuilderDetach extends AxiomTestCase {
+    @Inject
     public TestBuilderDetach(OMMetaFactory metaFactory) {
         super(metaFactory);
     }
diff --git a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java
index 2051a2388..b1c0604dc 100644
--- a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java
+++ b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/mtom/TestGetXMLStreamReaderMTOMEncoded.java
@@ -34,16 +34,20 @@ import org.apache.axiom.om.XOPEncoded;
 import org.apache.axiom.ts.AxiomTestCase;
 import org.apache.axiom.ts.soap.MTOMSample;
 
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
 public class TestGetXMLStreamReaderMTOMEncoded extends AxiomTestCase {
     private static final QName XOP_INCLUDE =
             new QName("http://www.w3.org/2004/08/xop/include", "Include");
 
     private final boolean cache;
 
-    public TestGetXMLStreamReaderMTOMEncoded(OMMetaFactory metaFactory, boolean cache) {
+    @Inject
+    public TestGetXMLStreamReaderMTOMEncoded(
+            OMMetaFactory metaFactory, @Named("cache") boolean cache) {
         super(metaFactory);
         this.cache = cache;
-        addTestParameter("cache", cache);
     }
 
     @Override