package org.xbib.elasticsearch.index.analysis.combo;
import org.junit.Test;
import java.io.Reader;
import java.io.StringReader;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
public class StringReaderClonerTests {
@Test
public void test() throws Exception {
String content = "test\n";
StringReader reader = new StringReader(content);
StringReaderCloner cloner = new StringReaderCloner();
cloner.init(reader);
Reader clone1 = cloner.giveAClone();
// The original Reader can be returned with this implementation.
// Check it actually is.
assertThat("returns original reader", clone1, is((Reader)reader));
assertThat("same content", ReaderContent.readWhole(clone1), equalTo(content));
assertThat("empty after reading", clone1.read(), equalTo(-1));
Reader clone2 = cloner.giveAClone();
assertThat("do not return the previous clone", clone2, not(is(clone1)));
assertThat("same content", ReaderContent.readWhole(clone2), equalTo(content));
assertThat("empty after reading", clone2.read(), equalTo(-1));
}
}