package eu.dnetlib.iis.common.java.io;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringWriter;
import java.util.List;
import org.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Test;
import eu.dnetlib.iis.common.avro.Document;
/**
* @author Mateusz Kobos
*/
public class JsonStreamWriterTest {
@Test
public void basicTest() throws IOException{
ByteArrayOutputStream out = new ByteArrayOutputStream();
JsonStreamWriter<Document> writer =
new JsonStreamWriter<Document>(Document.SCHEMA$, out);
List<Document> documents = DataStoreExamples.getDocument();
for(Document d: documents){
writer.write(d);
}
writer.close();
String actual = out.toString();
Reader in = new InputStreamReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("eu/dnetlib/iis/common/java/io/document.json"), "UTF-8");
String expected = toString(in);
Assert.assertEquals(expected, actual);
}
private static String toString(Reader in) throws IOException{
StringWriter writer = new StringWriter();
IOUtils.copy(in, writer);
return writer.toString().replace("\r", "");
}
}