public void setExpectations(Expectations expectations) { try { expectations.allowing(mock).getCanonicalFile(); expectations.will(expectations.returnValue(mock)); } catch (IOException th) { // ignore } expectations.allowing(mock).isFile(); expectations.will(expectations.returnValue(isFile)); expectations.allowing(mock).getName(); expectations.will(expectations.returnValue(name)); expectations.allowing(mock).exists(); expectations.will(expectations.returnValue(true)); ArrayList<File> mockChildren = new ArrayList<File>(children.size()); for (MockFile child : children) { mockChildren.add(child.getMock()); child.setExpectations(expectations); } expectations.allowing(mock).listFiles(); expectations.will( expectations.returnValue(mockChildren.toArray(new File[mockChildren.size()]))); }
@Test public void walkDepthFirst() throws IOException { walker = new DefaultDirectoryWalker(visitor).depthFirst(); final MockFile root = new MockFile(context, "root", false); final MockFile rootFile1 = root.addFile("rootFile1"); final MockFile dir1 = root.addDir("dir1"); final MockFile dirFile1 = dir1.addFile("dirFile1"); final MockFile dirFile2 = dir1.addFile("dirFile2"); final MockFile rootFile2 = root.addFile("rootFile2"); root.setExpectations(); final Sequence visiting = context.sequence("visiting"); context.checking( new Expectations() { { one(visitor).visitFile(with(file(rootFile1))); inSequence(visiting); one(visitor).visitFile(with(file(rootFile2))); inSequence(visiting); one(visitor).visitFile(with(file(dirFile1))); inSequence(visiting); one(visitor).visitFile(with(file(dirFile2))); inSequence(visiting); one(visitor).visitDir(with(file(dir1))); inSequence(visiting); } }); walker.start(root.getMock()); }
@Test public void rootDirEmpty() throws IOException { final MockFile root = new MockFile(context, "root", false); walker = new DefaultDirectoryWalker(visitor); root.setExpectations(); walker.start(root.getMock()); }
@Test public void walkSingleFile() throws IOException { walker = new DefaultDirectoryWalker(visitor); final MockFile root = new MockFile(context, "root", false); final MockFile fileToCopy = root.addFile("file.txt"); fileToCopy.setExpectations(); context.checking( new Expectations() { { one(visitor).visitFile(with(file(fileToCopy))); } }); walker.start(fileToCopy.getMock()); }