package io.robe.common.utils;
import io.robe.common.service.stream.BufferedStreamingOutput;
import org.junit.Assert;
import org.junit.Test;
import javax.ws.rs.core.StreamingOutput;
import java.io.*;
/**
* Created by hasanmumin on 26/09/16.
*/
public class BufferedStreamingOutputTest {
@Test
public void write() throws IOException {
String testSentence = "robe";
ByteArrayInputStream inputStream = new ByteArrayInputStream(testSentence.getBytes("UTF-8"));
File file = Files.writeToTemp(inputStream);
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
StreamingOutput stream = new BufferedStreamingOutput(bufferedInputStream, 5);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
stream.write(outputStream);
Assert.assertTrue(outputStream.size() == 4);
bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
stream = new BufferedStreamingOutput(bufferedInputStream, 3);
outputStream = new ByteArrayOutputStream();
stream.write(outputStream);
Assert.assertTrue(outputStream.size() == 4);
}
}