public void testCopyTo_appendable() throws IOException { StringBuilder builder = new StringBuilder(); assertEquals(STRING.length(), source.copyTo(builder)); assertTrue(source.wasStreamOpened() && source.wasStreamClosed()); assertEquals(STRING, builder.toString()); }
public void testConcat_infiniteIterable() throws IOException { CharSource source = CharSource.wrap("abcd"); Iterable<CharSource> cycle = Iterables.cycle(ImmutableList.of(source)); CharSource concatenated = CharSource.concat(cycle); String expected = "abcdabcd"; // read the first 8 chars manually, since there's no equivalent to ByteSource.slice // TODO(cgdecker): Add CharSource.slice? StringBuilder builder = new StringBuilder(); Reader reader = concatenated.openStream(); // no need to worry about closing for (int i = 0; i < 8; i++) { builder.append((char) reader.read()); } assertEquals(expected, builder.toString()); }
public void testOpenBufferedStream() throws IOException { BufferedReader reader = source.openBufferedStream(); assertTrue(source.wasStreamOpened()); assertFalse(source.wasStreamClosed()); StringWriter writer = new StringWriter(); char[] buf = new char[64]; int read; while ((read = reader.read(buf)) != -1) { writer.write(buf, 0, read); } reader.close(); writer.close(); assertTrue(source.wasStreamClosed()); assertEquals(STRING, writer.toString()); }
public void testForEachLine() throws IOException { source = new TestCharSource(LINES); ImmutableList.Builder<String> builder = ImmutableList.builder(); source.forEachLine(builder::add); assertEquals(SPLIT_LINES, builder.build()); assertTrue(source.wasStreamOpened()); assertTrue(source.wasStreamClosed()); }
public void testReadLines_toList() throws IOException { TestCharSource lines = new TestCharSource(LINES); assertEquals(ImmutableList.of("foo", "bar", "baz", "something"), lines.readLines()); assertTrue(lines.wasStreamOpened() && lines.wasStreamClosed()); }
public void testReadLines_withProcessor() throws IOException { TestCharSource lines = new TestCharSource(LINES); List<String> list = lines.readLines( new LineProcessor<List<String>>() { List<String> list = Lists.newArrayList(); @Override public boolean processLine(String line) throws IOException { list.add(line); return true; } @Override public List<String> getResult() { return list; } }); assertEquals(ImmutableList.of("foo", "bar", "baz", "something"), list); assertTrue(lines.wasStreamOpened() && lines.wasStreamClosed()); }
public void testReadLines_withProcessor_stopsOnFalse() throws IOException { TestCharSource lines = new TestCharSource(LINES); List<String> list = lines.readLines( new LineProcessor<List<String>>() { List<String> list = Lists.newArrayList(); @Override public boolean processLine(String line) throws IOException { list.add(line); return false; } @Override public List<String> getResult() { return list; } }); assertEquals(ImmutableList.of("foo"), list); assertTrue(lines.wasStreamOpened() && lines.wasStreamClosed()); }
public void testConcat() throws IOException { CharSource c1 = CharSource.wrap("abc"); CharSource c2 = CharSource.wrap(""); CharSource c3 = CharSource.wrap("de"); String expected = "abcde"; assertEquals(expected, CharSource.concat(ImmutableList.of(c1, c2, c3)).read()); assertEquals(expected, CharSource.concat(c1, c2, c3).read()); assertEquals(expected, CharSource.concat(ImmutableList.of(c1, c2, c3).iterator()).read()); assertFalse(CharSource.concat(c1, c2, c3).isEmpty()); CharSource emptyConcat = CharSource.concat(CharSource.empty(), CharSource.empty()); assertTrue(emptyConcat.isEmpty()); }
public void testRead_toString() throws IOException { assertEquals(STRING, source.read()); assertTrue(source.wasStreamOpened() && source.wasStreamClosed()); }
public void testReadFirstLine() throws IOException { TestCharSource lines = new TestCharSource(LINES); assertEquals("foo", lines.readFirstLine()); assertTrue(lines.wasStreamOpened() && lines.wasStreamClosed()); }
public void testCopyTo_charSink() throws IOException { TestCharSink sink = new TestCharSink(); assertFalse(sink.wasStreamOpened() || sink.wasStreamClosed()); assertEquals(STRING.length(), source.copyTo(sink)); assertTrue(source.wasStreamOpened() && source.wasStreamClosed()); assertTrue(sink.wasStreamOpened() && sink.wasStreamClosed()); assertEquals(STRING, sink.getString()); }
assertEquals((in == BROKEN_OPEN_SOURCE) ? 0 : 1, getAndResetRecords(logHandler)); assertEquals(1, getAndResetRecords(logHandler)); assertEquals(0, suppressed); assertEquals((in == BROKEN_OPEN_SOURCE) ? 0 : 1, suppressed); assertEquals(0, suppressed); assertEquals(1, suppressed);
public void testLines() throws IOException { source = new TestCharSource(LINES); ImmutableList<String> lines; try (Stream<String> linesStream = source.lines()) { assertTrue(source.wasStreamOpened()); assertFalse(source.wasStreamClosed()); lines = linesStream.collect(toImmutableList()); } assertTrue(source.wasStreamClosed()); assertEquals(SPLIT_LINES, lines); }
public void testCopyTo_appendable() throws IOException { StringBuilder builder = new StringBuilder(); assertEquals(STRING.length(), source.copyTo(builder)); assertTrue(source.wasStreamOpened() && source.wasStreamClosed()); assertEquals(STRING, builder.toString()); }
public void testReadLines_toList() throws IOException { TestCharSource lines = new TestCharSource(LINES); assertEquals(ImmutableList.of("foo", "bar", "baz", "something"), lines.readLines()); assertTrue(lines.wasStreamOpened() && lines.wasStreamClosed()); }
public void testForEachLine() throws IOException { source = new TestCharSource(LINES); ImmutableList.Builder<String> builder = ImmutableList.builder(); source.forEachLine(builder::add); assertEquals(SPLIT_LINES, builder.build()); assertTrue(source.wasStreamOpened()); assertTrue(source.wasStreamClosed()); }
public void testRead_toString() throws IOException { assertEquals(STRING, source.read()); assertTrue(source.wasStreamOpened() && source.wasStreamClosed()); }
public void testCopyTo_charSink() throws IOException { TestCharSink sink = new TestCharSink(); assertFalse(sink.wasStreamOpened() || sink.wasStreamClosed()); assertEquals(STRING.length(), source.copyTo(sink)); assertTrue(source.wasStreamOpened() && source.wasStreamClosed()); assertTrue(sink.wasStreamOpened() && sink.wasStreamClosed()); assertEquals(STRING, sink.getString()); }
public void testReadFirstLine() throws IOException { TestCharSource lines = new TestCharSource(LINES); assertEquals("foo", lines.readFirstLine()); assertTrue(lines.wasStreamOpened() && lines.wasStreamClosed()); }
public void testLines() throws IOException { source = new TestCharSource(LINES); ImmutableList<String> lines; try (Stream<String> linesStream = source.lines()) { assertTrue(source.wasStreamOpened()); assertFalse(source.wasStreamClosed()); lines = linesStream.collect(toImmutableList()); } assertTrue(source.wasStreamClosed()); assertEquals(SPLIT_LINES, lines); }