You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by rv...@apache.org on 2015/01/05 16:07:11 UTC
[03/52] [abbrv] jena git commit: Rebrand to Jena Elephas per
community vote
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java
new file mode 100644
index 0000000..b2b3c33
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/BZippedTriGInputTest.java
@@ -0,0 +1,37 @@
+/*
+ * 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.trig;
+
+import org.apache.hadoop.io.compress.BZip2Codec;
+
+/**
+ * Tests for BZipped TriG input
+ *
+ *
+ *
+ */
+public class BZippedTriGInputTest extends AbstractCompressedTriGInputFormatTests {
+
+ /**
+ * Creates new tests
+ */
+ public BZippedTriGInputTest() {
+ super(".trig.bz2", new BZip2Codec());
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java
new file mode 100644
index 0000000..c9579a9
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/DeflatedTriGInputTest.java
@@ -0,0 +1,37 @@
+/*
+ * 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.trig;
+
+import org.apache.hadoop.io.compress.DefaultCodec;
+
+/**
+ * Tests for Deflated TriG input
+ *
+ *
+ *
+ */
+public class DeflatedTriGInputTest extends AbstractCompressedTriGInputFormatTests {
+
+ /**
+ * Creates new tests
+ */
+ public DeflatedTriGInputTest() {
+ super(".trig.deflate", new DefaultCodec());
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java
new file mode 100644
index 0000000..c3e4106
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trig/GZippedTriGInputTest.java
@@ -0,0 +1,37 @@
+/*
+ * 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.trig;
+
+import org.apache.hadoop.io.compress.GzipCodec;
+
+/**
+ * Tests for GZipped TriG input
+ *
+ *
+ *
+ */
+public class GZippedTriGInputTest extends AbstractCompressedTriGInputFormatTests {
+
+ /**
+ * Creates new tests
+ */
+ public GZippedTriGInputTest() {
+ super(".trig.gz", new GzipCodec());
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java
new file mode 100644
index 0000000..ad98e35
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/AbstractCompressedTriXInputFormatTests.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.hadoop.rdf.io.input.compressed.trix;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.trix.TriXInputFormat;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Abstract compressed TriX input tests
+ */
+public abstract class AbstractCompressedTriXInputFormatTests extends
+ AbstractCompressedWholeFileQuadInputFormatTests {
+
+ private String ext;
+ private CompressionCodec codec;
+
+ /**
+ * Creates new tests
+ *
+ * @param ext
+ * File extension
+ * @param codec
+ * Compression codec
+ */
+ public AbstractCompressedTriXInputFormatTests(String ext, CompressionCodec codec) {
+ this.ext = ext;
+ this.codec = codec;
+ }
+
+ @Override
+ protected final String getFileExtension() {
+ return this.ext;
+ }
+
+ @Override
+ protected final CompressionCodec getCompressionCodec() {
+ return this.codec;
+ }
+
+ @Override
+ protected final Lang getRdfLanguage() {
+ return Lang.TRIX;
+ }
+
+ @Override
+ protected final InputFormat<LongWritable, QuadWritable> getInputFormat() {
+ return new TriXInputFormat();
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java
new file mode 100644
index 0000000..fc51ec8
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/BZippedTriXInputTest.java
@@ -0,0 +1,35 @@
+/*
+ * 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.trix;
+
+import org.apache.hadoop.io.compress.BZip2Codec;
+import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
+
+/**
+ * Tests for BZipped TriX input
+ */
+public class BZippedTriXInputTest extends AbstractCompressedTriGInputFormatTests {
+
+ /**
+ * Creates new tests
+ */
+ public BZippedTriXInputTest() {
+ super(".trix.bz2", new BZip2Codec());
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java
new file mode 100644
index 0000000..a1a078d
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/DeflatedTriXInputTest.java
@@ -0,0 +1,35 @@
+/*
+ * 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.trix;
+
+import org.apache.hadoop.io.compress.DefaultCodec;
+import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
+
+/**
+ * Tests for Deflated TriX input
+ */
+public class DeflatedTriXInputTest extends AbstractCompressedTriGInputFormatTests {
+
+ /**
+ * Creates new tests
+ */
+ public DeflatedTriXInputTest() {
+ super(".trix.deflate", new DefaultCodec());
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java
new file mode 100644
index 0000000..10c6980
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/trix/GZippedTriXInputTest.java
@@ -0,0 +1,35 @@
+/*
+ * 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.trix;
+
+import org.apache.hadoop.io.compress.GzipCodec;
+import org.apache.jena.hadoop.rdf.io.input.compressed.trig.AbstractCompressedTriGInputFormatTests;
+
+/**
+ * Tests for GZipped TriX input
+ */
+public class GZippedTriXInputTest extends AbstractCompressedTriGInputFormatTests {
+
+ /**
+ * Creates new tests
+ */
+ public GZippedTriXInputTest() {
+ super(".trix.gz", new GzipCodec());
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java
new file mode 100644
index 0000000..68d776a
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/AbstractCompressedTurtleInputFormatTests.java
@@ -0,0 +1,75 @@
+/*
+ * 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.LongWritable;
+import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.compressed.AbstractCompressedWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.io.input.turtle.TurtleInputFormat;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Abstract compressed Turtle input tests
+ *
+ *
+ *
+ */
+public abstract class AbstractCompressedTurtleInputFormatTests extends
+ AbstractCompressedWholeFileTripleInputFormatTests {
+
+ private String ext;
+ private CompressionCodec codec;
+
+ /**
+ * Creates new tests
+ *
+ * @param ext
+ * File extension
+ * @param codec
+ * Compression codec
+ */
+ public AbstractCompressedTurtleInputFormatTests(String ext, CompressionCodec codec) {
+ this.ext = ext;
+ this.codec = codec;
+ }
+
+ @Override
+ protected final String getFileExtension() {
+ return this.ext;
+ }
+
+ @Override
+ protected final CompressionCodec getCompressionCodec() {
+ return this.codec;
+ }
+
+ @Override
+ protected final Lang getRdfLanguage() {
+ return Lang.TURTLE;
+ }
+
+ @Override
+ protected final InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new TurtleInputFormat();
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java
new file mode 100644
index 0000000..724b847
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/BZippedTurtleInputTest.java
@@ -0,0 +1,37 @@
+/*
+ * 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.BZip2Codec;
+
+/**
+ * Tests for BZipped NTriples input
+ *
+ *
+ *
+ */
+public class BZippedTurtleInputTest extends AbstractCompressedTurtleInputFormatTests {
+
+ /**
+ * Creates new tests
+ */
+ public BZippedTurtleInputTest() {
+ super(".nt.bz2", new BZip2Codec());
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
new file mode 100644
index 0000000..eb5ee03
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/DeflatedTurtleInputTest.java
@@ -0,0 +1,37 @@
+/*
+ * 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/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
new file mode 100644
index 0000000..817805c
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/compressed/turtle/GZippedTurtleInputTest.java
@@ -0,0 +1,37 @@
+/*
+ * 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/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java
new file mode 100644
index 0000000..92aac53
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDQuadInputTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.jsonld;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for JSON-LD input
+ *
+ *
+ */
+public class JsonLDQuadInputTest extends AbstractWholeFileQuadInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.JSONLD;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".jsonld";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, QuadWritable> getInputFormat() {
+ return new JsonLDQuadInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java
new file mode 100644
index 0000000..63b6738
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/jsonld/JsonLDTripleInputTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.jsonld;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for JSON-LD input
+ *
+ *
+ */
+public class JsonLDTripleInputTest extends AbstractWholeFileTripleInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.JSONLD;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".jsonld";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new JsonLDTripleInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java
new file mode 100644
index 0000000..6d1d02a
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/BlockedNQuadsInputTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.nquads;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractBlockedQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for blocked NTriples input
+ *
+ *
+ *
+ */
+public class BlockedNQuadsInputTest extends AbstractBlockedQuadInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.NQUADS;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".nq";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, QuadWritable> getInputFormat() {
+ return new BlockedNQuadsInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java
new file mode 100644
index 0000000..3823728
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/NQuadsInputTest.java
@@ -0,0 +1,44 @@
+/*
+ * 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.nquads;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractQuadsInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+
+
+/**
+ * Tests for the NQuads input format
+ *
+ *
+ */
+public class NQuadsInputTest extends AbstractQuadsInputFormatTests {
+
+ @Override
+ protected InputFormat<LongWritable, QuadWritable> getInputFormat() {
+ return new NQuadsInputFormat();
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".nq";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java
new file mode 100644
index 0000000..50b8bcf
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/nquads/WholeFileNQuadsInputTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.nquads;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for NQuads input
+ *
+ *
+ *
+ */
+public class WholeFileNQuadsInputTest extends AbstractWholeFileQuadInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.NQUADS;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".nq";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, QuadWritable> getInputFormat() {
+ return new WholeFileNQuadsInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java
new file mode 100644
index 0000000..ab92873
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/BlockedNTriplesInputTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.ntriples;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractBlockedTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for blocked NTriples input
+ *
+ *
+ */
+public class BlockedNTriplesInputTest extends AbstractBlockedTripleInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.NTRIPLES;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".nt";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new BlockedNTriplesInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java
new file mode 100644
index 0000000..24fb731
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/NTriplesInputTest.java
@@ -0,0 +1,44 @@
+/*
+ * 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.ntriples;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractTriplesInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+
+
+/**
+ * Tests for the {@link NTriplesInputFormat}
+ *
+ *
+ *
+ */
+public class NTriplesInputTest extends AbstractTriplesInputFormatTests {
+
+ @Override
+ protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new NTriplesInputFormat();
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".nt";
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java
new file mode 100644
index 0000000..fcec570
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/ntriples/WholeFileNTriplesInputTest.java
@@ -0,0 +1,52 @@
+/*
+ * 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.ntriples;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for the {@link NTriplesInputFormat}
+ *
+ *
+ *
+ */
+public class WholeFileNTriplesInputTest extends AbstractWholeFileTripleInputFormatTests {
+
+ @Override
+ protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new WholeFileNTriplesInputFormat();
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".nt";
+ }
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.NTRIPLES;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java
new file mode 100644
index 0000000..4731832
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfjson/RdfJsonInputTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.rdfjson;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for RDF/JSON input
+ *
+ *
+ *
+ */
+public class RdfJsonInputTest extends AbstractWholeFileTripleInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.RDFJSON;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".rj";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new RdfJsonInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java
new file mode 100644
index 0000000..f8edcc4
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/rdfxml/RdfXmlInputTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.rdfxml;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for RDF/XML input
+ *
+ *
+ *
+ */
+public class RdfXmlInputTest extends AbstractWholeFileTripleInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.RDFXML;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".rdf";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new RdfXmlInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java
new file mode 100644
index 0000000..8d79295
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftQuadInputTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.thrift;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+
+
+/**
+ * Tests for JSON-LD input
+ *
+ *
+ */
+public class ThriftQuadInputTest extends AbstractWholeFileQuadInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return RDFLanguages.THRIFT;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".trdf";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, QuadWritable> getInputFormat() {
+ return new ThriftQuadInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java
new file mode 100644
index 0000000..6b5e0b7
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/thrift/ThriftTripleInputTest.java
@@ -0,0 +1,51 @@
+/*
+ * 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.thrift;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFLanguages;
+
+
+/**
+ * Tests for JSON-LD input
+ *
+ *
+ */
+public class ThriftTripleInputTest extends AbstractWholeFileTripleInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return RDFLanguages.THRIFT;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".trdf";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new ThriftTripleInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java
new file mode 100644
index 0000000..1fad0dc
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trig/TriGInputTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.trig;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for TriG input
+ *
+ *
+ */
+public class TriGInputTest extends AbstractWholeFileQuadInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.TRIG;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".trig";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, QuadWritable> getInputFormat() {
+ return new TriGInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java
new file mode 100644
index 0000000..4a3a66a
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/trix/TriXInputTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.trix;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileQuadInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.QuadWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for TriX input
+ *
+ *
+ */
+public class TriXInputTest extends AbstractWholeFileQuadInputFormatTests {
+
+ @Override
+ protected Lang getRdfLanguage() {
+ return Lang.TRIX;
+ }
+
+ @Override
+ protected String getFileExtension() {
+ return ".trix";
+ }
+
+ @Override
+ protected InputFormat<LongWritable, QuadWritable> getInputFormat() {
+ return new TriXInputFormat();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java
new file mode 100644
index 0000000..e6211ba
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/turtle/TurtleInputTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.turtle;
+
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.mapreduce.InputFormat;
+import org.apache.jena.hadoop.rdf.io.input.AbstractWholeFileTripleInputFormatTests;
+import org.apache.jena.hadoop.rdf.types.TripleWritable;
+import org.apache.jena.riot.Lang;
+
+
+/**
+ * Tests for turtle input format
+ *
+ *
+ *
+ */
+public class TurtleInputTest extends AbstractWholeFileTripleInputFormatTests {
+
+ @Override
+ protected final String getFileExtension() {
+ return ".ttl";
+ }
+
+ @Override
+ protected final Lang getRdfLanguage() {
+ return Lang.TURTLE;
+ }
+
+ @Override
+ protected InputFormat<LongWritable, TripleWritable> getInputFormat() {
+ return new TurtleInputFormat();
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
new file mode 100644
index 0000000..9532d56
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/AbstractTrackableInputStreamTests.java
@@ -0,0 +1,701 @@
+/*
+ * 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/a6c0fefc/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
----------------------------------------------------------------------
diff --git a/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
new file mode 100644
index 0000000..f8819bc
--- /dev/null
+++ b/jena-hadoop-rdf/jena-elephas-io/src/test/java/org/apache/jena/hadoop/rdf/io/input/util/BlockInputStreamTest.java
@@ -0,0 +1,240 @@
+/*
+ * 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);
+ }
+
+}