MultiReaderTest.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:guava-mock 作者:
public void testOnlyOneOpen() throws Exception {
  String testString = "abcdefgh";
  final CharSource source = newCharSource(testString);
  final int[] counter = new int[1];
  CharSource reader = new CharSource() {
    @Override
    public Reader openStream() throws IOException {
      if (counter[0]++ != 0) {
        throw new IllegalStateException("More than one source open");
      }
      return new FilterReader(source.openStream()) {
        @Override public void close() throws IOException {
          super.close();
          counter[0]--;
        }
      };
    }
  };
  Reader joinedReader = CharSource.concat(reader, reader, reader).openStream();
  String result = CharStreams.toString(joinedReader);
  assertEquals(testString.length() * 3, result.length());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号