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 00cabee8b Migrate WritableBlobTestSuiteBuilder to MatrixTestNode
framework
00cabee8b is described below
commit 00cabee8b9b2b578d9f17dd870964a16177dc7c1
Author: Andreas Veithen-Knowles <[email protected]>
AuthorDate: Thu Mar 19 23:28:17 2026 +0000
Migrate WritableBlobTestSuiteBuilder to MatrixTestNode framework
Replace WritableBlobTestSuiteBuilder with a declarative
WritableBlobTestSuite
factory using InjectorNode, FanOutNode, ConditionalNode, and MatrixTest.
- WritableBlobTestCase: extends TestCase instead of MatrixTestCase
- SizeSensitiveWritableBlobTestCase: remove addTestParameter
- Simple test classes: add @Inject to constructors
- State-parameterized test classes: add @Inject, remove addTestParameters
- Size-sensitive test classes: add @Inject and @Named("size")
- Consumer classes: replace JUnit 3 suite() with JUnit 5 @TestFactory
- pom.xml: replace junit/junit-vintage-engine with junit-jupiter/guice
- Delete WritableBlobTestSuiteBuilder
---
components/blob/pom.xml | 8 +-
.../java/org/apache/axiom/blob/MemoryBlobTest.java | 19 +++--
.../apache/axiom/blob/OverflowableBlobTest.java | 20 +++--
.../org/apache/axiom/blob/TempFileBlobTest.java | 20 +++--
.../suite/SizeSensitiveWritableBlobTestCase.java | 1 -
.../org/apache/axiom/blob/suite/TestAvailable.java | 3 +
.../blob/suite/TestGetInputStreamIllegalState.java | 4 +-
.../suite/TestGetOutputStreamIllegalState.java | 4 +-
.../axiom/blob/suite/TestGetSizeIllegalState.java | 4 +-
.../org/apache/axiom/blob/suite/TestMarkReset.java | 6 +-
.../axiom/blob/suite/TestRandomReadWrite.java | 6 +-
.../org/apache/axiom/blob/suite/TestReadEOF.java | 3 +
.../org/apache/axiom/blob/suite/TestReadFrom.java | 6 +-
.../axiom/blob/suite/TestReadFromIllegalState.java | 4 +-
.../axiom/blob/suite/TestReadFromSupport.java | 6 +-
.../axiom/blob/suite/TestReadFromWithError.java | 3 +
.../axiom/blob/suite/TestReadZeroLength.java | 3 +
.../apache/axiom/blob/suite/TestReleaseTwice.java | 3 +
.../axiom/blob/suite/TestResetWithoutMark.java | 3 +
.../java/org/apache/axiom/blob/suite/TestSkip.java | 3 +
.../axiom/blob/suite/TestWriteAfterCommit.java | 3 +
.../org/apache/axiom/blob/suite/TestWriteTo.java | 6 +-
.../axiom/blob/suite/TestWriteToIllegalState.java | 4 +-
.../axiom/blob/suite/TestWriteToWithError.java | 6 +-
.../blob/suite/TestWriteToWithReadFromSupport.java | 6 +-
.../axiom/blob/suite/WritableBlobTestCase.java | 5 +-
.../axiom/blob/suite/WritableBlobTestSuite.java | 90 ++++++++++++++++++++++
.../blob/suite/WritableBlobTestSuiteBuilder.java | 84 --------------------
28 files changed, 207 insertions(+), 126 deletions(-)
diff --git a/components/blob/pom.xml b/components/blob/pom.xml
index 311f466d0..f98f6b1e2 100644
--- a/components/blob/pom.xml
+++ b/components/blob/pom.xml
@@ -41,13 +41,13 @@
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/MemoryBlobTest.java
b/components/blob/src/test/java/org/apache/axiom/blob/MemoryBlobTest.java
index f6cdfda32..13d1e38e8 100644
--- a/components/blob/src/test/java/org/apache/axiom/blob/MemoryBlobTest.java
+++ b/components/blob/src/test/java/org/apache/axiom/blob/MemoryBlobTest.java
@@ -18,14 +18,19 @@
*/
package org.apache.axiom.blob;
-import org.apache.axiom.blob.suite.WritableBlobTestSuiteBuilder;
+import java.util.stream.Stream;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
+import org.apache.axiom.blob.suite.WritableBlobTestSuite;
+import org.junit.jupiter.api.DynamicNode;
+import org.junit.jupiter.api.TestFactory;
-public class MemoryBlobTest extends TestCase {
- public static TestSuite suite() {
- return new WritableBlobTestSuiteBuilder(MemoryBlob.FACTORY, new int[]
{10000}, true, false)
- .build();
+import com.google.common.collect.ImmutableList;
+
+public class MemoryBlobTest {
+ @TestFactory
+ public Stream<DynamicNode> tests() {
+ return WritableBlobTestSuite.create(
+ MemoryBlob.FACTORY, ImmutableList.of(10000), true,
false)
+ .toDynamicNodes();
}
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/OverflowableBlobTest.java
b/components/blob/src/test/java/org/apache/axiom/blob/OverflowableBlobTest.java
index 448f4924e..6ca76cc7e 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/OverflowableBlobTest.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/OverflowableBlobTest.java
@@ -18,18 +18,22 @@
*/
package org.apache.axiom.blob;
-import org.apache.axiom.blob.suite.WritableBlobTestSuiteBuilder;
+import java.util.stream.Stream;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
+import org.apache.axiom.blob.suite.WritableBlobTestSuite;
+import org.junit.jupiter.api.DynamicNode;
+import org.junit.jupiter.api.TestFactory;
-public class OverflowableBlobTest extends TestCase {
- public static TestSuite suite() {
- return new WritableBlobTestSuiteBuilder(
+import com.google.common.collect.ImmutableList;
+
+public class OverflowableBlobTest {
+ @TestFactory
+ public Stream<DynamicNode> tests() {
+ return WritableBlobTestSuite.create(
() -> Blobs.createOverflowableBlob(16 * 1024, "test",
".dat", null),
- new int[] {10000, 16 * 1024, 100000},
+ ImmutableList.of(10000, 16 * 1024, 100000),
true,
false)
- .build();
+ .toDynamicNodes();
}
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/TempFileBlobTest.java
b/components/blob/src/test/java/org/apache/axiom/blob/TempFileBlobTest.java
index 61cfda5d6..83e2cd1d5 100644
--- a/components/blob/src/test/java/org/apache/axiom/blob/TempFileBlobTest.java
+++ b/components/blob/src/test/java/org/apache/axiom/blob/TempFileBlobTest.java
@@ -18,18 +18,22 @@
*/
package org.apache.axiom.blob;
-import org.apache.axiom.blob.suite.WritableBlobTestSuiteBuilder;
+import java.util.stream.Stream;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
+import org.apache.axiom.blob.suite.WritableBlobTestSuite;
+import org.junit.jupiter.api.DynamicNode;
+import org.junit.jupiter.api.TestFactory;
-public class TempFileBlobTest extends TestCase {
- public static TestSuite suite() {
- return new WritableBlobTestSuiteBuilder(
+import com.google.common.collect.ImmutableList;
+
+public class TempFileBlobTest {
+ @TestFactory
+ public Stream<DynamicNode> tests() {
+ return WritableBlobTestSuite.create(
new TempFileBlobFactory("test", ".dat", null),
- new int[] {10000},
+ ImmutableList.of(10000),
false,
true)
- .build();
+ .toDynamicNodes();
}
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/SizeSensitiveWritableBlobTestCase.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/SizeSensitiveWritableBlobTestCase.java
index cc08ee818..850a4275e 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/SizeSensitiveWritableBlobTestCase.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/SizeSensitiveWritableBlobTestCase.java
@@ -27,6 +27,5 @@ public abstract class SizeSensitiveWritableBlobTestCase
extends WritableBlobTest
WritableBlobFactory<?> factory, State initialState, int size) {
super(factory, initialState);
this.size = size;
- addTestParameter("size", size);
}
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestAvailable.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestAvailable.java
index 58977a7ad..6c75f5530 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestAvailable.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestAvailable.java
@@ -27,7 +27,10 @@ import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.NullInputStream;
+import com.google.inject.Inject;
+
public class TestAvailable extends WritableBlobTestCase {
+ @Inject
public TestAvailable(WritableBlobFactory<?> factory) {
super(factory, State.NEW);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetInputStreamIllegalState.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetInputStreamIllegalState.java
index 40dc42578..083c39fd9 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetInputStreamIllegalState.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetInputStreamIllegalState.java
@@ -23,10 +23,12 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
+import com.google.inject.Inject;
+
public class TestGetInputStreamIllegalState extends WritableBlobTestCase {
+ @Inject
public TestGetInputStreamIllegalState(WritableBlobFactory<?> factory,
State state) {
super(factory, state);
- state.addTestParameters(this);
}
@Override
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetOutputStreamIllegalState.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetOutputStreamIllegalState.java
index 1e1fc7da1..656645705 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetOutputStreamIllegalState.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetOutputStreamIllegalState.java
@@ -23,10 +23,12 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
+import com.google.inject.Inject;
+
public class TestGetOutputStreamIllegalState extends WritableBlobTestCase {
+ @Inject
public TestGetOutputStreamIllegalState(WritableBlobFactory<?> factory,
State state) {
super(factory, state);
- state.addTestParameters(this);
}
@Override
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetSizeIllegalState.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetSizeIllegalState.java
index f2e0d7759..3d112b747 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetSizeIllegalState.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestGetSizeIllegalState.java
@@ -23,10 +23,12 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
+import com.google.inject.Inject;
+
public class TestGetSizeIllegalState extends WritableBlobTestCase {
+ @Inject
public TestGetSizeIllegalState(WritableBlobFactory<?> factory, State
state) {
super(factory, state);
- state.addTestParameters(this);
}
@Override
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java
index a68a34117..98c81bffc 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java
@@ -28,8 +28,12 @@ import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.commons.io.IOUtils;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
public class TestMarkReset extends SizeSensitiveWritableBlobTestCase {
- public TestMarkReset(WritableBlobFactory<?> factory, int size) {
+ @Inject
+ public TestMarkReset(WritableBlobFactory<?> factory, @Named("size") int
size) {
super(factory, State.NEW, size);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestRandomReadWrite.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestRandomReadWrite.java
index 292227858..0f858ac5b 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestRandomReadWrite.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestRandomReadWrite.java
@@ -27,8 +27,12 @@ import java.util.Random;
import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
public class TestRandomReadWrite extends SizeSensitiveWritableBlobTestCase {
- public TestRandomReadWrite(WritableBlobFactory<?> factory, int size) {
+ @Inject
+ public TestRandomReadWrite(WritableBlobFactory<?> factory, @Named("size")
int size) {
super(factory, State.NEW, size);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadEOF.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadEOF.java
index 1a28ddc34..2e638af2a 100644
--- a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadEOF.java
+++ b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadEOF.java
@@ -27,7 +27,10 @@ import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.NullInputStream;
+import com.google.inject.Inject;
+
public class TestReadEOF extends WritableBlobTestCase {
+ @Inject
public TestReadEOF(WritableBlobFactory<?> factory) {
super(factory, State.NEW);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFrom.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFrom.java
index 5d6e4c766..f93fc92f1 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFrom.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFrom.java
@@ -29,8 +29,12 @@ import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.axiom.testutils.io.InstrumentedInputStream;
import org.apache.commons.io.IOUtils;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
public class TestReadFrom extends SizeSensitiveWritableBlobTestCase {
- public TestReadFrom(WritableBlobFactory<?> factory, int size) {
+ @Inject
+ public TestReadFrom(WritableBlobFactory<?> factory, @Named("size") int
size) {
super(factory, State.NEW, size);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromIllegalState.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromIllegalState.java
index 6d6cfb0af..29b5f4e56 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromIllegalState.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromIllegalState.java
@@ -24,10 +24,12 @@ import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.commons.io.input.NullInputStream;
+import com.google.inject.Inject;
+
public class TestReadFromIllegalState extends WritableBlobTestCase {
+ @Inject
public TestReadFromIllegalState(WritableBlobFactory<?> factory, State
state) {
super(factory, state);
- state.addTestParameters(this);
}
@Override
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromSupport.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromSupport.java
index 104fd1dc5..99eef7ecd 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromSupport.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromSupport.java
@@ -31,8 +31,12 @@ import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.axiom.ext.io.ReadFromSupport;
import org.apache.commons.io.IOUtils;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
public class TestReadFromSupport extends SizeSensitiveWritableBlobTestCase {
- public TestReadFromSupport(WritableBlobFactory<?> factory, int size) {
+ @Inject
+ public TestReadFromSupport(WritableBlobFactory<?> factory, @Named("size")
int size) {
super(factory, State.NEW, size);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromWithError.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromWithError.java
index 2893629ca..787a6a52c 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromWithError.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadFromWithError.java
@@ -27,7 +27,10 @@ import org.apache.axiom.ext.io.StreamCopyException;
import org.apache.axiom.testutils.io.ExceptionInputStream;
import org.apache.commons.io.input.NullInputStream;
+import com.google.inject.Inject;
+
public class TestReadFromWithError extends WritableBlobTestCase {
+ @Inject
public TestReadFromWithError(WritableBlobFactory<?> factory) {
super(factory, State.NEW);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadZeroLength.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadZeroLength.java
index 4c296511a..644f35bb2 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadZeroLength.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReadZeroLength.java
@@ -27,7 +27,10 @@ import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.NullInputStream;
+import com.google.inject.Inject;
+
public class TestReadZeroLength extends WritableBlobTestCase {
+ @Inject
public TestReadZeroLength(WritableBlobFactory<?> factory) {
super(factory, State.NEW);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReleaseTwice.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReleaseTwice.java
index 7ca26ff07..f39ad92d6 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReleaseTwice.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestReleaseTwice.java
@@ -21,7 +21,10 @@ package org.apache.axiom.blob.suite;
import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
+import com.google.inject.Inject;
+
public class TestReleaseTwice extends WritableBlobTestCase {
+ @Inject
public TestReleaseTwice(WritableBlobFactory<?> factory) {
super(factory, State.RELEASED);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestResetWithoutMark.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestResetWithoutMark.java
index b6261a267..3bfbeaa48 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestResetWithoutMark.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestResetWithoutMark.java
@@ -28,7 +28,10 @@ import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.commons.io.IOUtils;
+import com.google.inject.Inject;
+
public class TestResetWithoutMark extends WritableBlobTestCase {
+ @Inject
public TestResetWithoutMark(WritableBlobFactory<?> factory) {
super(factory, State.NEW);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestSkip.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestSkip.java
index 2fa2fd621..e9ee4bf4c 100644
--- a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestSkip.java
+++ b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestSkip.java
@@ -27,7 +27,10 @@ import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.commons.io.IOUtils;
+import com.google.inject.Inject;
+
public class TestSkip extends WritableBlobTestCase {
+ @Inject
public TestSkip(WritableBlobFactory<?> factory) {
super(factory, State.NEW);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteAfterCommit.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteAfterCommit.java
index 17693271c..97784a954 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteAfterCommit.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteAfterCommit.java
@@ -26,7 +26,10 @@ import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.axiom.ext.io.ReadFromSupport;
import org.apache.commons.io.input.NullInputStream;
+import com.google.inject.Inject;
+
public class TestWriteAfterCommit extends WritableBlobTestCase {
+ @Inject
public TestWriteAfterCommit(WritableBlobFactory<?> factory) {
super(factory, State.NEW);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteTo.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteTo.java
index 52f6dee0b..e71ed6643 100644
--- a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteTo.java
+++ b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteTo.java
@@ -28,8 +28,12 @@ import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.axiom.testutils.io.InstrumentedOutputStream;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
public class TestWriteTo extends SizeSensitiveWritableBlobTestCase {
- public TestWriteTo(WritableBlobFactory<?> factory, int size) {
+ @Inject
+ public TestWriteTo(WritableBlobFactory<?> factory, @Named("size") int
size) {
super(factory, State.NEW, size);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToIllegalState.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToIllegalState.java
index 4187c2e55..cf90094ae 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToIllegalState.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToIllegalState.java
@@ -24,10 +24,12 @@ import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
import org.apache.commons.io.output.NullOutputStream;
+import com.google.inject.Inject;
+
public class TestWriteToIllegalState extends WritableBlobTestCase {
+ @Inject
public TestWriteToIllegalState(WritableBlobFactory<?> factory, State
state) {
super(factory, state);
- state.addTestParameters(this);
}
@Override
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToWithError.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToWithError.java
index 62d4026d3..937a21cf7 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToWithError.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToWithError.java
@@ -27,8 +27,12 @@ import org.apache.axiom.ext.io.StreamCopyException;
import org.apache.axiom.testutils.io.ExceptionOutputStream;
import org.apache.commons.io.input.NullInputStream;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
public class TestWriteToWithError extends SizeSensitiveWritableBlobTestCase {
- public TestWriteToWithError(WritableBlobFactory<?> factory, int size) {
+ @Inject
+ public TestWriteToWithError(WritableBlobFactory<?> factory, @Named("size")
int size) {
super(factory, State.NEW, size);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToWithReadFromSupport.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToWithReadFromSupport.java
index 022bca77f..d4525111e 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToWithReadFromSupport.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/TestWriteToWithReadFromSupport.java
@@ -26,8 +26,12 @@ import java.util.Random;
import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
public class TestWriteToWithReadFromSupport extends
SizeSensitiveWritableBlobTestCase {
- public TestWriteToWithReadFromSupport(WritableBlobFactory<?> factory, int
size) {
+ @Inject
+ public TestWriteToWithReadFromSupport(WritableBlobFactory<?> factory,
@Named("size") int size) {
super(factory, State.NEW, size);
}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestCase.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestCase.java
index 304f59c9a..cb0f9cf93 100644
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestCase.java
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestCase.java
@@ -20,9 +20,10 @@ package org.apache.axiom.blob.suite;
import org.apache.axiom.blob.WritableBlob;
import org.apache.axiom.blob.WritableBlobFactory;
-import org.apache.axiom.testutils.suite.MatrixTestCase;
-public abstract class WritableBlobTestCase extends MatrixTestCase {
+import junit.framework.TestCase;
+
+public abstract class WritableBlobTestCase extends TestCase {
private final WritableBlobFactory<?> factory;
private final State initialState;
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestSuite.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestSuite.java
new file mode 100644
index 000000000..f2352d2ee
--- /dev/null
+++
b/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestSuite.java
@@ -0,0 +1,90 @@
+/*
+ * 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.blob.suite;
+
+import org.apache.axiom.blob.WritableBlobFactory;
+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.ParameterBinding;
+import org.apache.axiom.testutils.suite.ParentNode;
+
+import com.google.common.collect.ImmutableList;
+import com.google.inject.TypeLiteral;
+import com.google.inject.name.Names;
+
+public class WritableBlobTestSuite {
+ public static InjectorNode create(
+ WritableBlobFactory<?> factory,
+ ImmutableList<Integer> sizes,
+ boolean outputStreamHasReadFromSupport,
+ boolean writeToUsesReadFromSupport) {
+
+ return new InjectorNode(
+ binder ->
+ binder.bind(new TypeLiteral<WritableBlobFactory<?>>()
{})
+ .toInstance(factory),
+ new ParentNode(
+ new MatrixTest(TestAvailable.class),
+ new MatrixTest(TestReadEOF.class),
+ new MatrixTest(TestReadFromWithError.class),
+ new MatrixTest(TestReadZeroLength.class),
+ new MatrixTest(TestReleaseTwice.class),
+ new MatrixTest(TestResetWithoutMark.class),
+ new MatrixTest(TestSkip.class),
+ new MatrixTest(TestWriteAfterCommit.class),
+ new FanOutNode<>(
+ ImmutableList.of(State.NEW, State.UNCOMMITTED,
State.RELEASED),
+ (binder, v) ->
binder.bind(State.class).toInstance(v),
+ ParameterBinding.DIMENSION,
+ new ParentNode(
+ new
MatrixTest(TestGetInputStreamIllegalState.class),
+ new
MatrixTest(TestGetSizeIllegalState.class),
+ new
MatrixTest(TestWriteToIllegalState.class))),
+ new FanOutNode<>(
+ ImmutableList.of(
+ State.UNCOMMITTED, State.COMMITTED,
State.RELEASED),
+ (binder, v) ->
binder.bind(State.class).toInstance(v),
+ ParameterBinding.DIMENSION,
+ new ParentNode(
+ new
MatrixTest(TestGetOutputStreamIllegalState.class),
+ new
MatrixTest(TestReadFromIllegalState.class))),
+ new FanOutNode<>(
+ sizes,
+ (binder, v) ->
+ binder.bindConstant()
+
.annotatedWith(Names.named("size"))
+ .to(v),
+ (params, v) -> params.addTestParameter("size",
v),
+ new ParentNode(
+ new MatrixTest(TestMarkReset.class),
+ new MatrixTest(TestReadFrom.class),
+ new
MatrixTest(TestRandomReadWrite.class),
+ new MatrixTest(TestWriteTo.class),
+ new
MatrixTest(TestWriteToWithError.class),
+ new ConditionalNode(
+ injector ->
outputStreamHasReadFromSupport,
+ new
MatrixTest(TestReadFromSupport.class)),
+ new ConditionalNode(
+ injector ->
writeToUsesReadFromSupport,
+ new MatrixTest(
+
TestWriteToWithReadFromSupport.class))))));
+ }
+}
diff --git
a/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestSuiteBuilder.java
b/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestSuiteBuilder.java
deleted file mode 100644
index 5c47c1357..000000000
---
a/components/blob/src/test/java/org/apache/axiom/blob/suite/WritableBlobTestSuiteBuilder.java
+++ /dev/null
@@ -1,84 +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.blob.suite;
-
-import org.apache.axiom.blob.WritableBlobFactory;
-import org.apache.axiom.testutils.suite.MatrixTestSuiteBuilder;
-
-public class WritableBlobTestSuiteBuilder extends MatrixTestSuiteBuilder {
- private final WritableBlobFactory<?> factory;
- private final int[] sizes;
- private final boolean outputStreamHasReadFromSupport;
- private final boolean writeToUsesReadFromSupport;
-
- public WritableBlobTestSuiteBuilder(
- WritableBlobFactory<?> factory,
- int[] sizes,
- boolean outputStreamHasReadFromSupport,
- boolean writeToUsesReadFromSupport) {
- this.factory = factory;
- this.sizes = sizes;
- this.outputStreamHasReadFromSupport = outputStreamHasReadFromSupport;
- this.writeToUsesReadFromSupport = writeToUsesReadFromSupport;
- }
-
- @Override
- protected void addTests() {
- addTest(new TestAvailable(factory));
- addTest(new TestGetInputStreamIllegalState(factory, State.NEW));
- addTest(new TestGetInputStreamIllegalState(factory,
State.UNCOMMITTED));
- addTest(new TestGetInputStreamIllegalState(factory, State.RELEASED));
- addTest(new TestGetOutputStreamIllegalState(factory,
State.UNCOMMITTED));
- addTest(new TestGetOutputStreamIllegalState(factory, State.COMMITTED));
- addTest(new TestGetOutputStreamIllegalState(factory, State.RELEASED));
- addTest(new TestGetSizeIllegalState(factory, State.NEW));
- addTest(new TestGetSizeIllegalState(factory, State.UNCOMMITTED));
- addTest(new TestGetSizeIllegalState(factory, State.RELEASED));
- addTest(new TestReadEOF(factory));
- addTest(new TestReadFromIllegalState(factory, State.UNCOMMITTED));
- addTest(new TestReadFromIllegalState(factory, State.COMMITTED));
- addTest(new TestReadFromIllegalState(factory, State.RELEASED));
- addTest(new TestReadFromWithError(factory));
- addTest(new TestReadZeroLength(factory));
- addTest(new TestReleaseTwice(factory));
- addTest(new TestResetWithoutMark(factory));
- addTest(new TestSkip(factory));
- addTest(new TestWriteAfterCommit(factory));
- addTest(new TestWriteToIllegalState(factory, State.NEW));
- addTest(new TestWriteToIllegalState(factory, State.UNCOMMITTED));
- addTest(new TestWriteToIllegalState(factory, State.RELEASED));
- for (int size : sizes) {
- addTests(size);
- }
- }
-
- private void addTests(int size) {
- addTest(new TestMarkReset(factory, size));
- addTest(new TestReadFrom(factory, size));
- if (outputStreamHasReadFromSupport) {
- addTest(new TestReadFromSupport(factory, size));
- }
- addTest(new TestRandomReadWrite(factory, size));
- addTest(new TestWriteTo(factory, size));
- if (writeToUsesReadFromSupport) {
- addTest(new TestWriteToWithReadFromSupport(factory, size));
- }
- addTest(new TestWriteToWithError(factory, size));
- }
-}