/* Copyright 2013 Fabian Steeg. Licensed under the Eclipse Public License 1.0 */
package org.lobid.lodmill.hadoop;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import org.json.JSONException;
import org.junit.Test;
import org.lobid.lodmill.JsonLdConverter;
import org.lobid.lodmill.JsonLdConverter.Format;
import org.skyscreamer.jsonassert.JSONAssert;
import org.skyscreamer.jsonassert.JSONCompareMode;
/**
* Test conversion to JSON-LD using the {@link JsonLdConverter} class.
*
* @author Fabian Steeg (fsteeg)
*/
public final class UnitTestJsonLdConverterWithBlankNodes {
@SuppressWarnings({ "javadoc", "static-method" })
@Test
public void testConversion() throws FileNotFoundException, JSONException {
final JsonLdConverter converter = new JsonLdConverter(Format.N_TRIPLE);
final String rdfInput =
load("src/test/resources/lobid-org-with-blank-nodes.nt");
final String correctJson =
load("src/test/resources/lobid-org-with-blank-nodes.json");
final String generatedJson = /* skip invalid first line (for other tests) */
converter.toJsonLd(rdfInput.substring(rdfInput.indexOf("\n") + 1));
System.out.println(generatedJson);
JSONAssert.assertEquals(removeBlankNodes(correctJson),
removeBlankNodes(generatedJson), JSONCompareMode.LENIENT);
}
private static String removeBlankNodes(String string) {
return string.replaceAll("_:t\\d", "");
}
private static String load(final String fileName)
throws FileNotFoundException {
try (Scanner scanner = new Scanner(new File(fileName))) {
final StringBuilder builder = new StringBuilder();
while (scanner.hasNextLine())
builder.append(scanner.nextLine()).append("\n");
return builder.toString().trim();
}
}
}