package org.ovirt.engine.core.compat;
import java.io.StringReader;
import junit.framework.TestCase;
import org.ovirt.engine.core.compat.backendcompat.StreamReaderCompat;
public class StreamReaderCompatTest extends TestCase {
public void testReadLine() {
String foo = "This is a test.\nA real test.";
StringReader reader = new StringReader(foo);
StreamReaderCompat compat = new StreamReaderCompat(reader);
assertEquals("first line", "This is a test.", compat.ReadLine());
assertEquals("second line", "A real test.", compat.ReadLine());
}
public void testReadToEnd1() {
String foo = "This is a test.\nA real test.";
StringReader reader = new StringReader(foo);
StreamReaderCompat compat = new StreamReaderCompat(reader);
assertEquals("first line", "This is a test.", compat.ReadLine());
assertEquals("second line", "A real test.", compat.ReadToEnd());
}
public void testReadToEnd2() {
String foo = "This is a test.\nA real test.";
StringReader reader = new StringReader(foo);
StreamReaderCompat compat = new StreamReaderCompat(reader);
assertEquals("the whole thing", foo, compat.ReadToEnd());
}
public void testDisposeAndExceptions() {
boolean exception = false;
try {
String foo = "This is a test.\nA real test.";
StringReader reader = new StringReader(foo);
StreamReaderCompat compat = new StreamReaderCompat(reader);
compat.ReadLine();
compat.Dispose();
compat.ReadLine();
} catch (CompatException e) {
exception = true;
}
assertTrue("Dispose should make subsequent reads fail", exception);
}
}