http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
deleted file mode 100644
index eb5ee03..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
+++ /dev/null
@@ -1,37 +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.jena.hadoop.rdf.io.input.compressed.turtle;
-
-import org.apache.hadoop.io.compress.DefaultCodec;
-
-/**
- * Tests for Deflated NTriples input
- * 
- * 
- * 
- */
-public class DeflatedTurtleInputTest extends 
AbstractCompressedTurtleInputFormatTests {
-
-    /**
-     * Creates new tests
-     */
-    public DeflatedTurtleInputTest() {
-        super(".nt.deflate", new DefaultCodec());
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
deleted file mode 100644
index 817805c..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
+++ /dev/null
@@ -1,37 +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.jena.hadoop.rdf.io.input.compressed.turtle;
-
-import org.apache.hadoop.io.compress.GzipCodec;
-
-/**
- * Tests for GZipped NTriples input
- * 
- * 
- * 
- */
-public class GZippedTurtleInputTest extends 
AbstractCompressedTurtleInputFormatTests {
-
-    /**
-     * Creates new tests
-     */
-    public GZippedTurtleInputTest() {
-        super(".nt.gz", new GzipCodec());
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
deleted file mode 100644
index 9532d56..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
+++ /dev/null
@@ -1,701 +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.jena.hadoop.rdf.io.input.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Abstract tests for {@link TrackableInputStream} implementations
- * 
- * 
- * 
- */
-public abstract class AbstractTrackableInputStreamTests {
-
-    protected static final int KILO = 1024;
-    protected static final int BYTES_PER_KB = KILO;
-    protected static final int BYTES_PER_MB = BYTES_PER_KB * KILO;
-
-    /**
-     * Gets the instance to test using the given input as the stream to track
-     * 
-     * @param input
-     *            Input Stream
-     * @return Trackable Input Stream
-     */
-    protected abstract TrackableInputStream getInstance(InputStream input);
-
-    /**
-     * Generates an input stream containing the given number of bytes
-     * 
-     * @param length
-     *            Number of bytes
-     * @return Input stream
-     */
-    protected final InputStream generateData(int length) {
-        ByteArrayOutputStream output = new ByteArrayOutputStream(length);
-        byte b = (byte) 'b';
-        for (int i = 0; i < length; i++) {
-            output.write(b);
-        }
-        return new ByteArrayInputStream(output.toByteArray());
-    }
-
-    protected final void testSingleByteRead(int length) throws IOException {
-        InputStream input = this.generateData(length);
-        TrackableInputStream trackable = this.getInstance(input);
-        long count = 0;
-        while (trackable.read() >= 0) {
-            count++;
-        }
-        Assert.assertEquals(length, count);
-        Assert.assertEquals(length, trackable.getBytesRead());
-        trackable.close();
-    }
-
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_single_01() throws IOException {
-        this.testSingleByteRead(0);
-    }
-
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_single_02() throws IOException {
-        this.testSingleByteRead(100);
-    }
-
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_single_03() throws IOException {
-        // 1KB
-        this.testSingleByteRead(BYTES_PER_KB);
-    }
-
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_single_04() throws IOException {
-        // 1 MB
-        this.testSingleByteRead(BYTES_PER_MB);
-    }
-
-    protected final void testMultiByteRead(int length, int bufferSize) throws 
IOException {
-        if (bufferSize < 1)
-            throw new IllegalArgumentException("bufferSize must be >= 1");
-        InputStream input = this.generateData(length);
-        TrackableInputStream trackable = this.getInstance(input);
-        long count = 0;
-        byte[] buffer = new byte[bufferSize];
-        long read;
-        do {
-            read = trackable.read(buffer);
-            if (read > 0)
-                count += read;
-        } while (read >= 0);
-        Assert.assertEquals(length, count);
-        Assert.assertEquals(length, trackable.getBytesRead());
-        trackable.close();
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_01() throws IOException {
-        this.testMultiByteRead(0, 1);
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_02() throws IOException {
-        this.testMultiByteRead(0, 16);
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_03() throws IOException {
-        this.testMultiByteRead(0, BYTES_PER_KB);
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_04() throws IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, 1);
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_05() throws IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, 16);
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_06() throws IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, BYTES_PER_KB);
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_07() throws IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, 1);
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_08() throws IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, 16);
-    }
-
-    /**
-     * Test reading multiple bytes i.e. calling {@link 
InputStream#read(byte[])}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_09() throws IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, BYTES_PER_KB);
-    }
-
-    protected final void testMultiByteRead(int length, int bufferSize, int 
readSize) throws IOException {
-        if (bufferSize < 1)
-            throw new IllegalArgumentException("bufferSize must be >= 1");
-        if (readSize < 1 || readSize > bufferSize)
-            throw new IllegalArgumentException("readSize must be >= 1 and <= 
bufferSize");
-        InputStream input = this.generateData(length);
-        TrackableInputStream trackable = this.getInstance(input);
-        long count = 0;
-        byte[] buffer = new byte[bufferSize];
-        long read;
-        do {
-            read = trackable.read(buffer, 0, readSize);
-            if (read > 0)
-                count += read;
-        } while (read >= 0);
-        Assert.assertEquals(length, count);
-        Assert.assertEquals(length, trackable.getBytesRead());
-        trackable.close();
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_01() throws 
IOException {
-        this.testMultiByteRead(0, 1, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_02() throws 
IOException {
-        this.testMultiByteRead(0, 16, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_03() throws 
IOException {
-        this.testMultiByteRead(0, 16, 16);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_04() throws 
IOException {
-        this.testMultiByteRead(0, BYTES_PER_KB, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_05() throws 
IOException {
-        this.testMultiByteRead(0, BYTES_PER_KB, 16);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_06() throws 
IOException {
-        this.testMultiByteRead(0, BYTES_PER_KB, BYTES_PER_KB);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_07() throws 
IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, 1, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_08() throws 
IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, 16, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_09() throws 
IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, 16, 16);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_10() throws 
IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, BYTES_PER_KB, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_11() throws 
IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, BYTES_PER_KB, 16);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_12() throws 
IOException {
-        // 1KB
-        this.testMultiByteRead(BYTES_PER_KB, BYTES_PER_KB, BYTES_PER_KB);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_13() throws 
IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, 1, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_14() throws 
IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, 16, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_15() throws 
IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, 16, 16);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_16() throws 
IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, BYTES_PER_KB, 1);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_17() throws 
IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, BYTES_PER_KB, 16);
-    }
-
-    /**
-     * Test reading multiple bytes while reading less than the buffer size 
bytes
-     * i.e. calling {@link InputStream#read(byte[], int, int)}
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_read_multiple_partial_18() throws 
IOException {
-        // 1MB
-        this.testMultiByteRead(BYTES_PER_MB, BYTES_PER_KB, BYTES_PER_KB);
-    }
-
-    protected final void testSkip(int length, long skipSize) throws 
IOException {
-        if (skipSize < 1)
-            throw new IllegalArgumentException("skipSize must be >= 1");
-        InputStream input = this.generateData(length);
-        TrackableInputStream trackable = this.getInstance(input);
-        long count = 0;
-        long skipped;
-        do {
-            skipped = trackable.skip(skipSize);
-            if (skipped > 0)
-                count += skipped;
-        } while (skipped > 0);
-        Assert.assertEquals(length, count);
-        Assert.assertEquals(length, trackable.getBytesRead());
-        trackable.close();
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_01() throws IOException {
-        this.testSkip(0, 1);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_02() throws IOException {
-        this.testSkip(100, 1);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_03() throws IOException {
-        this.testSkip(100, 16);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_04() throws IOException {
-        this.testSkip(100, BYTES_PER_KB);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_05() throws IOException {
-        // 1KB
-        this.testSkip(BYTES_PER_KB, 1);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_06() throws IOException {
-        // 1KB
-        this.testSkip(BYTES_PER_KB, 16);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_07() throws IOException {
-        // 1KB
-        this.testSkip(BYTES_PER_KB, BYTES_PER_KB);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_08() throws IOException {
-        // 1KB
-        this.testSkip(BYTES_PER_KB, BYTES_PER_MB);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_09() throws IOException {
-        // 1 MB
-        this.testSkip(BYTES_PER_MB, 1);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_10() throws IOException {
-        // 1 MB
-        this.testSkip(BYTES_PER_MB, 16);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_11() throws IOException {
-        // 1 MB
-        this.testSkip(BYTES_PER_MB, BYTES_PER_KB);
-    }
-
-    /**
-     * Test skipping
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_skip_single_12() throws IOException {
-        // 1 MB
-        this.testSkip(BYTES_PER_MB, BYTES_PER_MB);
-    }
-
-    /**
-     * Tests behaviour after closing
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_post_close_01() throws IOException {
-        InputStream input = this.generateData(0);
-        TrackableInputStream trackable = this.getInstance(input);
-        trackable.close();
-        Assert.assertEquals(-1, trackable.read());
-    }
-    
-    /**
-     * Tests behaviour after closing
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_post_close_02() throws IOException {
-        InputStream input = this.generateData(0);
-        TrackableInputStream trackable = this.getInstance(input);
-        trackable.close();
-        Assert.assertEquals(0, trackable.read(new byte[0]));
-    }
-    
-    /**
-     * Tests behaviour after closing
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_post_close_03() throws IOException {
-        InputStream input = this.generateData(0);
-        TrackableInputStream trackable = this.getInstance(input);
-        trackable.close();
-        Assert.assertEquals(-1, trackable.read(new byte[1]));
-    }
-    
-    /**
-     * Tests behaviour after closing
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_post_close_04() throws IOException {
-        InputStream input = this.generateData(0);
-        TrackableInputStream trackable = this.getInstance(input);
-        trackable.close();
-        Assert.assertEquals(0, trackable.read(new byte[16], 0, 0));
-    }
-    
-    /**
-     * Tests behaviour after closing
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_post_close_05() throws IOException {
-        InputStream input = this.generateData(0);
-        TrackableInputStream trackable = this.getInstance(input);
-        trackable.close();
-        Assert.assertEquals(-1, trackable.read(new byte[16], 0, 8));
-    }
-    
-    /**
-     * Tests behaviour after closing
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_post_close_06() throws IOException {
-        InputStream input = this.generateData(0);
-        TrackableInputStream trackable = this.getInstance(input);
-        trackable.close();
-        Assert.assertEquals(0, trackable.skip(0));
-    }
-    
-    /**
-     * Tests exceptions are thrown trying to perform actions after closing the
-     * input
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void trackable_input_post_close_07() throws IOException {
-        InputStream input = this.generateData(0);
-        TrackableInputStream trackable = this.getInstance(input);
-        trackable.close();
-        Assert.assertEquals(0, trackable.skip(1));
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
deleted file mode 100644
index f8819bc..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
+++ /dev/null
@@ -1,240 +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.jena.hadoop.rdf.io.input.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.jena.hadoop.rdf.io.input.util.BlockInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Tests for the {@link BlockInputStream}
- * 
- * 
- * 
- */
-public class BlockInputStreamTest extends AbstractTrackableInputStreamTests {
-
-    @Override
-    protected TrackableInputStream getInstance(InputStream input) {
-        return new BlockInputStream(input, Long.MAX_VALUE);
-    }
-
-    /**
-     * Gets an instance of a block input stream
-     * 
-     * @param input
-     *            Underlying input stream
-     * @param limit
-     *            Limit on bytes to read
-     * @return Block input stream
-     */
-    protected BlockInputStream getInstance(InputStream input, long limit) {
-        return new BlockInputStream(input, limit);
-    }
-    
-    protected final void testSingleByteRead(int length, long limit) throws 
IOException {
-        InputStream input = this.generateData(length);
-        TrackableInputStream trackable = this.getInstance(input, limit);
-        long count = 0;
-        while (trackable.read() >= 0) {
-            count++;
-        }
-        int expected = (int) Math.min(length, limit);
-        Assert.assertEquals(expected, count);
-        Assert.assertEquals(expected, trackable.getBytesRead());
-        trackable.close();
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_01() throws IOException {
-        this.testSingleByteRead(0, 0);
-    }
-
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_02() throws IOException {
-        this.testSingleByteRead(100, 0);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_03() throws IOException {
-        this.testSingleByteRead(100, 50);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_04() throws IOException {
-        this.testSingleByteRead(100, 100);
-    }
-
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_05() throws IOException {
-        // 1KB
-        this.testSingleByteRead(BYTES_PER_KB, 1);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_06() throws IOException {
-        // 1KB
-        this.testSingleByteRead(BYTES_PER_KB, 100);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_07() throws IOException {
-        // 1KB
-        this.testSingleByteRead(BYTES_PER_KB, BYTES_PER_KB / 2);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_08() throws IOException {
-        // 1KB
-        this.testSingleByteRead(BYTES_PER_KB, BYTES_PER_KB);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_09() throws IOException {
-        // 1KB
-        this.testSingleByteRead(BYTES_PER_KB, BYTES_PER_MB);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_10() throws IOException {
-        // 1KB
-        this.testSingleByteRead(BYTES_PER_KB, BYTES_PER_MB * 10);
-    }
-
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_11() throws IOException {
-        // 1MB
-        this.testSingleByteRead(BYTES_PER_MB, 1);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_12() throws IOException {
-        // 1MB
-        this.testSingleByteRead(BYTES_PER_MB, 100);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_13() throws IOException {
-        // 1MB
-        this.testSingleByteRead(BYTES_PER_MB, BYTES_PER_KB);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_14() throws IOException {
-        // 1MB
-        this.testSingleByteRead(BYTES_PER_MB, BYTES_PER_MB / 2);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_15() throws IOException {
-        // 1MB
-        this.testSingleByteRead(BYTES_PER_MB, BYTES_PER_MB);
-    }
-    
-    /**
-     * Test reading byte by byte
-     * 
-     * @throws IOException
-     */
-    @Test
-    public final void block_input_read_single_16() throws IOException {
-        // 1MB
-        this.testSingleByteRead(BYTES_PER_MB, BYTES_PER_MB * 10);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java
deleted file mode 100644
index f453aa5..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/TrackedInputStreamTest.java
+++ /dev/null
@@ -1,39 +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.jena.hadoop.rdf.io.input.util;
-
-import java.io.InputStream;
-
-import org.apache.jena.hadoop.rdf.io.input.util.TrackableInputStream;
-import org.apache.jena.hadoop.rdf.io.input.util.TrackedInputStream;
-
-/**
- * Tests for the {@link TrackedInputStream}
- * 
- * 
- * 
- */
-public class TrackedInputStreamTest extends AbstractTrackableInputStreamTests {
-
-    @Override
-    protected TrackableInputStream getInstance(InputStream input) {
-        return new TrackedInputStream(input);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java
deleted file mode 100644
index 31c3a67..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractNodeTupleOutputFormatTests.java
+++ /dev/null
@@ -1,252 +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.jena.hadoop.rdf.io.output;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.LocatedFileStatus;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.RemoteIterator;
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.Job;
-import org.apache.hadoop.mapreduce.JobContext;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.hadoop.mapreduce.RecordWriter;
-import org.apache.hadoop.mapreduce.TaskAttemptContext;
-import org.apache.hadoop.mapreduce.TaskAttemptID;
-import org.apache.hadoop.mapreduce.TaskType;
-import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
-import org.apache.hadoop.mapreduce.task.JobContextImpl;
-import org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl;
-import org.apache.jena.hadoop.rdf.types.AbstractNodeTupleWritable;
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.riot.lang.StreamRDFCounting;
-import org.apache.jena.riot.system.StreamRDFLib;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * Abstract node tuple output format tests
- * 
- * 
- * @param <TValue>
- *            Tuple type
- * @param <T>
- *            Writable tuple type
- * 
- */
-public abstract class AbstractNodeTupleOutputFormatTests<TValue, T extends 
AbstractNodeTupleWritable<TValue>> {
-
-    @SuppressWarnings("unused")
-    private static final Logger LOG = 
LoggerFactory.getLogger(AbstractNodeTupleOutputFormatTests.class);
-
-    protected static final int EMPTY_SIZE = 0, SMALL_SIZE = 100, LARGE_SIZE = 
10000, VERY_LARGE_SIZE = 100000;
-
-    /**
-     * Temporary folder for the tests
-     */
-    @Rule
-    public TemporaryFolder folder = new TemporaryFolder();
-
-    /**
-     * Prepares a fresh configuration
-     * 
-     * @return Configuration
-     */
-    protected Configuration prepareConfiguration() {
-        Configuration config = new Configuration(true);
-        // Nothing else to do
-        return config;
-    }
-
-    /**
-     * Gets the extra file extension to add to the filenames
-     * 
-     * @return File extension
-     */
-    protected abstract String getFileExtension();
-
-    /**
-     * Generates tuples to be output for testing
-     * 
-     * @param num
-     *            Number of tuples to generate
-     * @return Iterator of tuples
-     */
-    protected abstract Iterator<T> generateTuples(int num);
-
-    /**
-     * Counts tuples in the output file
-     * 
-     * @param f
-     *            Output file
-     * @return Tuple count
-     */
-    protected final long countTuples(File f) {
-        StreamRDFCounting counter = StreamRDFLib.count();
-        RDFDataMgr.parse(counter, f.getAbsolutePath(), this.getRdfLanguage(), 
null);
-        return counter.count();
-    }
-
-    /**
-     * Checks that tuples are as expected
-     * @param f File
-     * @param expected Expected number of tuples
-     */
-    protected void checkTuples(File f, long expected) {
-        Assert.assertEquals(expected, this.countTuples(f));
-    }
-
-    /**
-     * Gets the RDF language of the produced output which is used to parse back
-     * in the output to validate the correct amount of output was produced
-     * 
-     * @return RDF language
-     */
-    protected abstract Lang getRdfLanguage();
-
-    /**
-     * Gets the output format to test
-     * 
-     * @return Output format
-     */
-    protected abstract OutputFormat<NullWritable, T> getOutputFormat();
-
-    /**
-     * Adds an output path to the job configuration
-     * 
-     * @param f
-     *            File
-     * @param config
-     *            Configuration
-     * @param job
-     *            Job
-     * @throws IOException
-     */
-    protected void addOutputPath(File f, Configuration config, Job job) throws 
IOException {
-        FileSystem fs = FileSystem.getLocal(config);
-        Path outputPath = fs.makeQualified(new Path(f.getAbsolutePath()));
-        FileOutputFormat.setOutputPath(job, outputPath);
-    }
-    
-    protected File findOutputFile(File dir, JobContext context) throws 
FileNotFoundException, IOException {
-        Path outputPath = FileOutputFormat.getOutputPath(context);
-        RemoteIterator<LocatedFileStatus> files = 
outputPath.getFileSystem(context.getConfiguration()).listFiles(outputPath, 
true);
-        while (files.hasNext()) {
-            LocatedFileStatus status = files.next();
-            if (status.isFile() && 
!status.getPath().getName().startsWith("_")) {
-                return new File(status.getPath().toUri());
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Tests output
-     * 
-     * @param f
-     *            File to output to
-     * @param num
-     *            Number of tuples to output
-     * @throws IOException
-     * @throws InterruptedException 
-     */
-    protected final void testOutput(File f, int num) throws IOException, 
InterruptedException {
-        // Prepare configuration
-        Configuration config = this.prepareConfiguration();
-
-        // Set up fake job
-        OutputFormat<NullWritable, T> outputFormat = this.getOutputFormat();
-        Job job = Job.getInstance(config);
-        job.setOutputFormatClass(outputFormat.getClass());
-        this.addOutputPath(f, job.getConfiguration(), job);
-        JobContext context = new JobContextImpl(job.getConfiguration(), 
job.getJobID());
-        Assert.assertNotNull(FileOutputFormat.getOutputPath(context));
-        
-        // Output the data
-        TaskAttemptID id = new TaskAttemptID("outputTest", 1, TaskType.MAP, 1, 
1);
-        TaskAttemptContext taskContext = new 
TaskAttemptContextImpl(job.getConfiguration(), id);
-        RecordWriter<NullWritable, T> writer = 
outputFormat.getRecordWriter(taskContext);
-        Iterator<T> tuples = this.generateTuples(num);
-        while (tuples.hasNext()) {
-            writer.write(NullWritable.get(), tuples.next());
-        }
-        writer.close(taskContext);
-        
-        // Check output
-        File outputFile = this.findOutputFile(this.folder.getRoot(), context);
-        Assert.assertNotNull(outputFile);
-        this.checkTuples(outputFile, num);
-    }
-
-    /**
-     * Basic output tests
-     * 
-     * @throws IOException
-     * @throws InterruptedException 
-     */
-    @Test
-    public final void output_01() throws IOException, InterruptedException {
-        this.testOutput(this.folder.getRoot(), EMPTY_SIZE);
-    }
-    
-    /**
-     * Basic output tests
-     * 
-     * @throws IOException
-     * @throws InterruptedException 
-     */
-    @Test
-    public final void output_02() throws IOException, InterruptedException {
-        this.testOutput(this.folder.getRoot(), SMALL_SIZE);
-    }
-    
-    /**
-     * Basic output tests
-     * 
-     * @throws IOException
-     * @throws InterruptedException 
-     */
-    @Test
-    public final void output_03() throws IOException, InterruptedException {
-        this.testOutput(this.folder.getRoot(), LARGE_SIZE);
-    }
-    
-    /**
-     * Basic output tests
-     * 
-     * @throws IOException
-     * @throws InterruptedException 
-     */
-    @Test
-    public final void output_04() throws IOException, InterruptedException {
-        this.testOutput(this.folder.getRoot(), VERY_LARGE_SIZE);
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java
deleted file mode 100644
index f1822f6..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractQuadOutputFormatTests.java
+++ /dev/null
@@ -1,51 +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.jena.hadoop.rdf.io.output;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
-import com.hp.hpl.jena.graph.NodeFactory;
-import com.hp.hpl.jena.sparql.core.Quad;
-
-/**
- * Abstract tests for quad output formats
- * 
- * 
- * 
- */
-public abstract class AbstractQuadOutputFormatTests extends 
AbstractNodeTupleOutputFormatTests<Quad, QuadWritable> {
-
-    @Override
-    protected Iterator<QuadWritable> generateTuples(int num) {
-        List<QuadWritable> qs = new ArrayList<QuadWritable>();
-        for (int i = 0; i < num; i++) {
-            Quad q = new 
Quad(NodeFactory.createURI("http://example.org/graphs/"; + i),
-                    NodeFactory.createURI("http://example.org/subjects/"; + i),
-                    NodeFactory.createURI("http://example.org/predicate";), 
NodeFactory.createLiteral(Integer.toString(i),
-                            XSDDatatype.XSDinteger));
-            qs.add(new QuadWritable(q));
-        }
-        return qs.iterator();
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java
deleted file mode 100644
index 90eb531..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/AbstractTripleOutputFormatTests.java
+++ /dev/null
@@ -1,47 +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.jena.hadoop.rdf.io.output;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
-import com.hp.hpl.jena.graph.NodeFactory;
-import com.hp.hpl.jena.graph.Triple;
-
-/**
- * Abstract tests for triple output formats
- * 
- *
- */
-public abstract class AbstractTripleOutputFormatTests extends 
AbstractNodeTupleOutputFormatTests<Triple, TripleWritable> {
-
-    @Override
-    protected Iterator<TripleWritable> generateTuples(int num) {
-        List<TripleWritable> ts = new ArrayList<TripleWritable>();
-        for (int i = 0; i < num; i++) {
-            Triple t = new 
Triple(NodeFactory.createURI("http://example.org/subjects/"; + i), 
NodeFactory.createURI("http://example.org/predicate";), 
NodeFactory.createLiteral(Integer.toString(i), XSDDatatype.XSDinteger));
-            ts.add(new TripleWritable(t));
-        }
-        return ts.iterator();
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/BatchedTriGOutputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/BatchedTriGOutputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/BatchedTriGOutputTest.java
deleted file mode 100644
index 924cac1..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/BatchedTriGOutputTest.java
+++ /dev/null
@@ -1,92 +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.jena.hadoop.rdf.io.output;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.output.BatchedTriGOutputFormat;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-
-/**
- * Tests for TriG output
- * 
- * 
- * 
- */
-@RunWith(Parameterized.class)
-public class BatchedTriGOutputTest extends AbstractQuadOutputFormatTests {
-
-    static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
-    static long $bs2 = 1000;
-    static long $bs3 = 100;
-    static long $bs4 = 1;
-
-    /**
-     * @return Test parameters
-     */
-    @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { $bs3 }, { 
$bs4 } });
-    }
-
-    private final long batchSize;
-
-    /**
-     * Creates new tests
-     * 
-     * @param batchSize
-     *            Batch size
-     */
-    public BatchedTriGOutputTest(long batchSize) {
-        this.batchSize = batchSize;
-    }
-
-    @Override
-    protected String getFileExtension() {
-        return ".trig";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.TRIG;
-    }
-
-    @Override
-    protected Configuration prepareConfiguration() {
-        Configuration config = super.prepareConfiguration();
-        config.setLong(RdfIOConstants.OUTPUT_BATCH_SIZE, this.batchSize);
-        return config;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
-        return new BatchedTriGOutputFormat<NullWritable>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/BatchedTurtleOutputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/BatchedTurtleOutputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/BatchedTurtleOutputTest.java
deleted file mode 100644
index f0b8490..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/BatchedTurtleOutputTest.java
+++ /dev/null
@@ -1,91 +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.jena.hadoop.rdf.io.output;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-
-/**
- * Tests for Turtle output
- * 
- * 
- * 
- */
-@RunWith(Parameterized.class)
-public class BatchedTurtleOutputTest extends AbstractTripleOutputFormatTests {
-
-    static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
-    static long $bs2 = 1000;
-    static long $bs3 = 100;
-    static long $bs4 = 1;
-
-    /**
-     * @return Test parameters
-     */
-    @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { $bs3 }, { 
$bs4 } });
-    }
-
-    private final long batchSize;
-
-    /**
-     * Creates new tests
-     * 
-     * @param batchSize
-     *            Batch size
-     */
-    public BatchedTurtleOutputTest(long batchSize) {
-        this.batchSize = batchSize;
-    }
-
-    @Override
-    protected String getFileExtension() {
-        return ".ttl";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.TURTLE;
-    }
-    
-    @Override
-    protected Configuration prepareConfiguration() {
-        Configuration config = super.prepareConfiguration();
-        config.setLong(RdfIOConstants.OUTPUT_BATCH_SIZE, this.batchSize);
-        return config;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-        return new BatchedTurtleOutputFormat<NullWritable>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/NQuadsOutputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/NQuadsOutputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/NQuadsOutputTest.java
deleted file mode 100644
index b228715..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/NQuadsOutputTest.java
+++ /dev/null
@@ -1,51 +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.jena.hadoop.rdf.io.output;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.NQuadsOutputFormat;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-
-
-/**
- * Tests for NQuads output format
- * 
- * 
- * 
- */
-public class NQuadsOutputTest extends AbstractQuadOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".nq";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.NQUADS;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
-        return new NQuadsOutputFormat<NullWritable>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/NTriplesOutputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/NTriplesOutputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/NTriplesOutputTest.java
deleted file mode 100644
index df1ee97..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/NTriplesOutputTest.java
+++ /dev/null
@@ -1,51 +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.jena.hadoop.rdf.io.output;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.NTriplesOutputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-
-
-/**
- * Tests for NTriples output format
- * 
- * 
- * 
- */
-public class NTriplesOutputTest extends AbstractTripleOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".nt";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.NTRIPLES;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-        return new NTriplesOutputFormat<NullWritable>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/RdfJsonOutputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/RdfJsonOutputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/RdfJsonOutputTest.java
deleted file mode 100644
index 50947f2..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/RdfJsonOutputTest.java
+++ /dev/null
@@ -1,51 +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.jena.hadoop.rdf.io.output;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.RdfJsonOutputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-
-
-/**
- * Tests for RDF/JSON output
- * 
- * 
- * 
- */
-public class RdfJsonOutputTest extends AbstractTripleOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".rj";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.RDFJSON;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-        return new RdfJsonOutputFormat<NullWritable>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/RdfXmlOutputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/RdfXmlOutputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/RdfXmlOutputTest.java
deleted file mode 100644
index 128380c..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/RdfXmlOutputTest.java
+++ /dev/null
@@ -1,51 +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.jena.hadoop.rdf.io.output;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.output.RdfXmlOutputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-
-
-/**
- * Tests for RDF/XML output
- * 
- * 
- * 
- */
-public class RdfXmlOutputTest extends AbstractTripleOutputFormatTests {
-
-    @Override
-    protected String getFileExtension() {
-        return ".rdf";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.RDFXML;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-        return new RdfXmlOutputFormat<NullWritable>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/StreamedTriGOutputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/StreamedTriGOutputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/StreamedTriGOutputTest.java
deleted file mode 100644
index 8a4bd1e..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/StreamedTriGOutputTest.java
+++ /dev/null
@@ -1,91 +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.jena.hadoop.rdf.io.output;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.Lang;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-
-/**
- * Tests for Turtle output
- * 
- * 
- * 
- */
-@RunWith(Parameterized.class)
-public class StreamedTriGOutputTest extends AbstractQuadOutputFormatTests {
-
-    static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
-    static long $bs2 = 1000;
-    static long $bs3 = 100;
-    static long $bs4 = 1;
-
-    /**
-     * @return Test parameters
-     */
-    @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { $bs3 }, { 
$bs4 } });
-    }
-
-    private final long batchSize;
-
-    /**
-     * Creates new tests
-     * 
-     * @param batchSize
-     *            Batch size
-     */
-    public StreamedTriGOutputTest(long batchSize) {
-        this.batchSize = batchSize;
-    }
-
-    @Override
-    protected String getFileExtension() {
-        return ".trig";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.TRIG;
-    }
-    
-    @Override
-    protected Configuration prepareConfiguration() {
-        Configuration config = super.prepareConfiguration();
-        config.setLong(RdfIOConstants.OUTPUT_BATCH_SIZE, this.batchSize);
-        return config;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
-        return new TriGOutputFormat<NullWritable>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/StreamedTurtleOutputTest.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/StreamedTurtleOutputTest.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/StreamedTurtleOutputTest.java
deleted file mode 100644
index 54d8991..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/StreamedTurtleOutputTest.java
+++ /dev/null
@@ -1,92 +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.jena.hadoop.rdf.io.output;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.output.TurtleOutputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.Lang;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-
-/**
- * Tests for Turtle output
- * 
- * 
- * 
- */
-@RunWith(Parameterized.class)
-public class StreamedTurtleOutputTest extends AbstractTripleOutputFormatTests {
-
-    static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
-    static long $bs2 = 1000;
-    static long $bs3 = 100;
-    static long $bs4 = 1;
-
-    /**
-     * @return Test parameters
-     */
-    @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { $bs3 }, { 
$bs4 } });
-    }
-
-    private final long batchSize;
-
-    /**
-     * Creates new tests
-     * 
-     * @param batchSize
-     *            Batch size
-     */
-    public StreamedTurtleOutputTest(long batchSize) {
-        this.batchSize = batchSize;
-    }
-
-    @Override
-    protected String getFileExtension() {
-        return ".ttl";
-    }
-
-    @Override
-    protected Lang getRdfLanguage() {
-        return Lang.TURTLE;
-    }
-    
-    @Override
-    protected Configuration prepareConfiguration() {
-        Configuration config = super.prepareConfiguration();
-        config.setLong(RdfIOConstants.OUTPUT_BATCH_SIZE, this.batchSize);
-        return config;
-    }
-
-    @Override
-    protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-        return new TurtleOutputFormat<NullWritable>();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/TriGBlankNodeOutputTests.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/TriGBlankNodeOutputTests.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/TriGBlankNodeOutputTests.java
deleted file mode 100644
index 388d96a..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/TriGBlankNodeOutputTests.java
+++ /dev/null
@@ -1,120 +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.jena.hadoop.rdf.io.output;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.types.QuadWritable;
-import org.apache.jena.riot.RDFDataMgr;
-import org.junit.Assert;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
-import com.hp.hpl.jena.graph.Node;
-import com.hp.hpl.jena.graph.NodeFactory;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ResIterator;
-import com.hp.hpl.jena.rdf.model.Resource;
-import com.hp.hpl.jena.sparql.core.Quad;
-
-/**
- * Tests for TriG output with blank nodes
- * 
- * 
- * 
- */
-@RunWith(Parameterized.class)
-public class TriGBlankNodeOutputTests extends StreamedTriGOutputTest {
-
-       static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
-       static long $bs2 = 1000;
-       static long $bs3 = 100;
-       static long $bs4 = 1;
-
-       /**
-        * @return Test parameters
-        */
-       @Parameters
-       public static Collection<Object[]> data() {
-               return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { 
$bs3 },
-                               { $bs4 } });
-       }
-
-       /**
-        * Creates new tests
-        * 
-        * @param batchSize
-        *            Batch size
-        */
-       public TriGBlankNodeOutputTests(long batchSize) {
-               super(batchSize);
-       }
-
-       @Override
-       protected Iterator<QuadWritable> generateTuples(int num) {
-               List<QuadWritable> qs = new ArrayList<QuadWritable>();
-               Node subject = NodeFactory.createAnon();
-               for (int i = 0; i < num; i++) {
-                       Quad t = new Quad(
-                                       
NodeFactory.createURI("http://example.org/graphs/"; + i),
-                                       subject,
-                                       
NodeFactory.createURI("http://example.org/predicate";),
-                                       
NodeFactory.createLiteral(Integer.toString(i),
-                                                       
XSDDatatype.XSDinteger));
-                       qs.add(new QuadWritable(t));
-               }
-               return qs.iterator();
-       }
-
-       @Override
-       protected void checkTuples(File f, long expected) {
-               super.checkTuples(f, expected);
-
-               Model m = RDFDataMgr.loadModel("file://" + f.getAbsolutePath(),
-                               this.getRdfLanguage());
-               ResIterator iter = m.listSubjects();
-               Set<Node> subjects = new HashSet<Node>();
-               while (iter.hasNext()) {
-                       Resource res = iter.next();
-                       Assert.assertTrue(res.isAnon());
-                       subjects.add(res.asNode());
-               }
-               // Should only be one subject unless the data was empty in 
which case
-               // there will be zero subjects
-               Assert.assertEquals(expected == 0 ? 0 : 1, subjects.size());
-       }
-
-       @Override
-       protected OutputFormat<NullWritable, QuadWritable> getOutputFormat() {
-               return new TriGOutputFormat<NullWritable>();
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/TurtleBlankNodeOutputTests.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/TurtleBlankNodeOutputTests.java
 
b/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/TurtleBlankNodeOutputTests.java
deleted file mode 100644
index 0d75add..0000000
--- 
a/hadoop-rdf-io/src/test/java/org/apache/jena/hadoop/rdf/io/output/TurtleBlankNodeOutputTests.java
+++ /dev/null
@@ -1,119 +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.jena.hadoop.rdf.io.output;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.OutputFormat;
-import org.apache.jena.hadoop.rdf.io.RdfIOConstants;
-import org.apache.jena.hadoop.rdf.io.output.TurtleOutputFormat;
-import org.apache.jena.hadoop.rdf.types.TripleWritable;
-import org.apache.jena.riot.RDFDataMgr;
-import org.junit.Assert;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
-import com.hp.hpl.jena.graph.Node;
-import com.hp.hpl.jena.graph.NodeFactory;
-import com.hp.hpl.jena.graph.Triple;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ResIterator;
-import com.hp.hpl.jena.rdf.model.Resource;
-
-/**
- * Tests for Turtle output with blank nodes
- * 
- * 
- * 
- */
-@RunWith(Parameterized.class)
-public class TurtleBlankNodeOutputTests extends StreamedTurtleOutputTest {
-
-       static long $bs1 = RdfIOConstants.DEFAULT_OUTPUT_BATCH_SIZE;
-       static long $bs2 = 1000;
-       static long $bs3 = 100;
-       static long $bs4 = 1;
-
-       /**
-        * @return Test parameters
-        */
-       @Parameters
-       public static Collection<Object[]> data() {
-               return Arrays.asList(new Object[][] { { $bs1 }, { $bs2 }, { 
$bs3 },
-                               { $bs4 } });
-       }
-
-       /**
-        * Creates new tests
-        * 
-        * @param batchSize
-        *            Batch size
-        */
-       public TurtleBlankNodeOutputTests(long batchSize) {
-               super(batchSize);
-       }
-
-       @Override
-       protected Iterator<TripleWritable> generateTuples(int num) {
-               List<TripleWritable> ts = new ArrayList<TripleWritable>();
-               Node subject = NodeFactory.createAnon();
-               for (int i = 0; i < num; i++) {
-                       Triple t = new Triple(subject,
-                                       
NodeFactory.createURI("http://example.org/predicate";),
-                                       
NodeFactory.createLiteral(Integer.toString(i),
-                                                       
XSDDatatype.XSDinteger));
-                       ts.add(new TripleWritable(t));
-               }
-               return ts.iterator();
-       }
-
-       @Override
-       protected void checkTuples(File f, long expected) {
-               super.checkTuples(f, expected);
-
-               Model m = RDFDataMgr.loadModel("file://" + f.getAbsolutePath(),
-                               this.getRdfLanguage());
-               ResIterator iter = m.listSubjects();
-               Set<Node> subjects = new HashSet<Node>();
-               while (iter.hasNext()) {
-                       Resource res = iter.next();
-                       Assert.assertTrue(res.isAnon());
-                       subjects.add(res.asNode());
-               }
-               // Should only be one subject unless the data was empty in 
which case
-               // there will be zero subjects
-               Assert.assertEquals(expected == 0 ? 0 : 1, subjects.size());
-       }
-
-       @Override
-       protected OutputFormat<NullWritable, TripleWritable> getOutputFormat() {
-               return new TurtleOutputFormat<NullWritable>();
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-mapreduce/pom.xml
----------------------------------------------------------------------
diff --git a/hadoop-rdf-mapreduce/pom.xml b/hadoop-rdf-mapreduce/pom.xml
deleted file mode 100644
index b907850..0000000
--- a/hadoop-rdf-mapreduce/pom.xml
+++ /dev/null
@@ -1,87 +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.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <groupId>org.apache.jena</groupId>
-               <artifactId>jena-hadoop-rdf</artifactId>
-               <version>0.9.0-SNAPSHOT</version>
-       </parent>
-       <artifactId>jena-hadoop-rdf-mapreduce</artifactId>
-       <name>Apache Jena - RDF Tools for Hadoop - Map/Reduce</name>
-       <description>Contains some basic Map/Reduce implementations for working 
with RDF on Hadoop</description>
-
-       <dependencies>
-               <!-- Internal Project Dependencies -->
-               <dependency>
-                       <groupId>org.apache.jena</groupId>
-                       <artifactId>jena-hadoop-rdf-common</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
-
-               <!-- Hadoop Dependencies -->
-               <!-- Note these will be provided on the Hadoop cluster hence 
the provided 
-                       scope -->
-               <dependency>
-                       <groupId>org.apache.hadoop</groupId>
-                       <artifactId>hadoop-common</artifactId>
-                       <scope>provided</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.hadoop</groupId>
-                       <artifactId>hadoop-mapreduce-client-common</artifactId>
-                       <scope>provided</scope>
-               </dependency>
-
-               <!-- Jena dependencies -->
-               <dependency>
-                       <groupId>org.apache.jena</groupId>
-                       <artifactId>jena-arq</artifactId>
-               </dependency>
-
-               <!-- Test Dependencies -->
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.mrunit</groupId>
-                       <artifactId>mrunit</artifactId>
-                       <scope>test</scope>
-                       <classifier>hadoop2</classifier>
-               </dependency>
-       </dependencies>
-
-       <build>
-               <plugins>
-                       <!-- JAR plugin to ensure tests jar is built -->
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>test-jar</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java
 
b/hadoop-rdf-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java
deleted file mode 100644
index 306a697..0000000
--- 
a/hadoop-rdf-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyMapper.java
+++ /dev/null
@@ -1,54 +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.jena.hadoop.rdf.mapreduce;
-
-import java.io.IOException;
-
-import org.apache.hadoop.mapreduce.Mapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A mapper which discards the value replacing it with the key
- * 
- *
- * @param <TKey> Key type
- * @param <TValue> Value type
- */
-public class KeyMapper<TKey, TValue> extends Mapper<TKey, TValue, TKey, TKey> {
-    private static final Logger LOG = LoggerFactory.getLogger(KeyMapper.class);
-
-    private boolean tracing = false;
-    
-    @Override
-    protected void setup(Context context) throws IOException, 
InterruptedException {
-        super.setup(context);
-        this.tracing = LOG.isTraceEnabled();
-    }
-
-    @Override
-    protected void map(TKey key, TValue value, Context context) throws 
IOException,
-            InterruptedException {
-        if (this.tracing) {
-            LOG.trace("Key = {}", key);
-        }
-        context.write(key, key);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/05c389be/hadoop-rdf-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java
----------------------------------------------------------------------
diff --git 
a/hadoop-rdf-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java
 
b/hadoop-rdf-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java
deleted file mode 100644
index a6e9a6a..0000000
--- 
a/hadoop-rdf-mapreduce/src/main/java/org/apache/jena/hadoop/rdf/mapreduce/KeyPlusNullMapper.java
+++ /dev/null
@@ -1,55 +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.jena.hadoop.rdf.mapreduce;
-
-import java.io.IOException;
-
-import org.apache.hadoop.io.NullWritable;
-import org.apache.hadoop.mapreduce.Mapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A mapper which discards the value replacing it with a null
- * 
- *
- * @param <TKey> Key type
- * @param <TValue> Value type
- */
-public class KeyPlusNullMapper<TKey, TValue> extends Mapper<TKey, TValue, 
TKey, NullWritable> {
-    private static final Logger LOG = 
LoggerFactory.getLogger(KeyPlusNullMapper.class);
-
-    private boolean tracing = false;
-    
-    @Override
-    protected void setup(Context context) throws IOException, 
InterruptedException {
-        super.setup(context);
-        this.tracing = LOG.isTraceEnabled();
-    }
-
-    @Override
-    protected void map(TKey key, TValue value, Context context) throws 
IOException,
-            InterruptedException {
-        if (this.tracing) {
-            LOG.trace("Key = {}", key);
-        }
-        context.write(key, NullWritable.get());
-    }
-
-}

Reply via email to