Java 类org.apache.hadoop.fs.shell.find.Result 实例源码

项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArguments() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArgumentsDepthFirst() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArgumentsOptionFollowArg() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setFollowArgLink(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArgumentsOptionFollow() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setFollowLink(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1); // triggers infinite loop message
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5ca, 2); // following item5d symlink
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item5ca.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verify(err).println(
      "Infinite loop ignored: " + item5b.toString() + " -> "
          + item5.toString());
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArgumentsMinDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setMinDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArgumentsMaxDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setMaxDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArgumentsDepthFirstMinDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.getOptions().setMinDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArgumentsDepthFirstMaxDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.getOptions().setMaxDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Test
public void processArgumentsNoDescend() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  when(expr.apply(eq(item1a), anyInt())).thenReturn(Result.STOP);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop-oss    文件:TestFind.java   
@Override
public Result apply(PathData item, int depth) throws IOException {
  FileStatus fileStatus = getFileStatus(item, depth);
  checker.check(fileStatus);
  return expr.apply(item, depth);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArguments() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirst() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsOptionFollowArg() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setFollowArgLink(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsOptionFollow() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setFollowLink(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1); // triggers infinite loop message
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5ca, 2); // following item5d symlink
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item5ca.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verify(err).println(
      "Infinite loop ignored: " + item5b.toString() + " -> "
          + item5.toString());
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsMinDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setMinDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsMaxDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setMaxDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirstMinDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.getOptions().setMinDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirstMaxDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.getOptions().setMaxDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsNoDescend() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  when(expr.apply(eq(item1a), anyInt())).thenReturn(Result.STOP);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:hadoop    文件:TestFind.java   
@Override
public Result apply(PathData item, int depth) throws IOException {
  FileStatus fileStatus = getFileStatus(item, depth);
  checker.check(fileStatus);
  return expr.apply(item, depth);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArguments() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirst() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsOptionFollowArg() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setFollowArgLink(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsOptionFollow() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setFollowLink(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1); // triggers infinite loop message
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5ca, 2); // following item5d symlink
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item5ca.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verify(err).println(
      "Infinite loop ignored: " + item5b.toString() + " -> "
          + item5.toString());
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsMinDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setMinDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsMaxDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setMaxDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirstMinDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.getOptions().setMinDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirstMaxDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.getOptions().setMaxDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsNoDescend() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  when(expr.apply(eq(item1a), anyInt())).thenReturn(Result.STOP);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:aliyun-oss-hadoop-fs    文件:TestFind.java   
@Override
public Result apply(PathData item, int depth) throws IOException {
  FileStatus fileStatus = getFileStatus(item, depth);
  checker.check(fileStatus);
  return expr.apply(item, depth);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArguments() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirst() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsOptionFollowArg() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setFollowArgLink(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsOptionFollow() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setFollowLink(true);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1); // triggers infinite loop message
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5ca, 2); // following item5d symlink
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck, times(2)).check(item5ca.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verify(err).println(
      "Infinite loop ignored: " + item5b.toString() + " -> "
          + item5.toString());
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsMinDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setMinDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsMaxDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setMaxDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirstMinDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.getOptions().setMinDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1aa, 2);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1aa.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsDepthFirstMaxDepth() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.getOptions().setDepthFirst(true);
  find.getOptions().setMaxDepth(1);
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Test(timeout = 1000)
public void processArgumentsNoDescend() throws IOException {
  LinkedList<PathData> items = createDirectories();

  Find find = new Find();
  find.setConf(conf);
  PrintStream out = mock(PrintStream.class);
  find.getOptions().setOut(out);
  PrintStream err = mock(PrintStream.class);
  find.getOptions().setErr(err);
  Expression expr = mock(Expression.class);
  when(expr.apply((PathData) any(), anyInt())).thenReturn(Result.PASS);
  when(expr.apply(eq(item1a), anyInt())).thenReturn(Result.STOP);
  FileStatusChecker fsCheck = mock(FileStatusChecker.class);
  Expression test = new TestExpression(expr, fsCheck);
  find.setRootExpression(test);
  find.processArguments(items);

  InOrder inOrder = inOrder(expr);
  inOrder.verify(expr).setOptions(find.getOptions());
  inOrder.verify(expr).prepare();
  inOrder.verify(expr).apply(item1, 0);
  inOrder.verify(expr).apply(item1a, 1);
  inOrder.verify(expr).apply(item1b, 1);
  inOrder.verify(expr).apply(item2, 0);
  inOrder.verify(expr).apply(item3, 0);
  inOrder.verify(expr).apply(item4, 0);
  inOrder.verify(expr).apply(item5, 0);
  inOrder.verify(expr).apply(item5a, 1);
  inOrder.verify(expr).apply(item5b, 1);
  inOrder.verify(expr).apply(item5c, 1);
  inOrder.verify(expr).apply(item5ca, 2);
  inOrder.verify(expr).apply(item5d, 1);
  inOrder.verify(expr).apply(item5e, 1);
  inOrder.verify(expr).finish();
  verifyNoMoreInteractions(expr);

  InOrder inOrderFsCheck = inOrder(fsCheck);
  inOrderFsCheck.verify(fsCheck).check(item1.stat);
  inOrderFsCheck.verify(fsCheck).check(item1a.stat);
  inOrderFsCheck.verify(fsCheck).check(item1b.stat);
  inOrderFsCheck.verify(fsCheck).check(item2.stat);
  inOrderFsCheck.verify(fsCheck).check(item3.stat);
  inOrderFsCheck.verify(fsCheck).check(item4.stat);
  inOrderFsCheck.verify(fsCheck).check(item5.stat);
  inOrderFsCheck.verify(fsCheck).check(item5a.stat);
  inOrderFsCheck.verify(fsCheck).check(item5b.stat);
  inOrderFsCheck.verify(fsCheck).check(item5c.stat);
  inOrderFsCheck.verify(fsCheck).check(item5ca.stat);
  inOrderFsCheck.verify(fsCheck).check(item5d.stat);
  inOrderFsCheck.verify(fsCheck).check(item5e.stat);
  verifyNoMoreInteractions(fsCheck);

  verifyNoMoreInteractions(out);
  verifyNoMoreInteractions(err);
}
项目:big-c    文件:TestFind.java   
@Override
public Result apply(PathData item, int depth) throws IOException {
  FileStatus fileStatus = getFileStatus(item, depth);
  checker.check(fileStatus);
  return expr.apply(item, depth);
}