Iterator it = items.values().iterator(); while (it.hasNext()) { Item item = (Item) it.next(); item.touched = false; }   if (basePath != null && basePath.length() > 0) { basePath = basePath + "/"; } else { basePath = ""; }  for (int i = 0; i < tested.length; i++) { String name = basePath + tested[i].getPath(); Item item = (Item) items.get(name); Assert.assertNotNull("not found in working copy", item); if (item.myContent != null) { Assert.assertEquals("state says file, working copy not", tested[i].getNodeKind(), item.nodeKind == SVNNodeKind.NONE ? SVNNodeKind.FILE : item.nodeKind); } else { Assert.assertEquals("state says dir, working copy not", tested[i].getNodeKind(), item.nodeKind == SVNNodeKind.NONE ? SVNNodeKind.DIR : item.nodeKind); } item.touched = true; }    it = items.values().iterator(); while (it.hasNext()) { Item item = (Item) it.next(); if(!item.touched) { if(item.myPath.startsWith(basePath) && !item.myPath.equals(basePath)) { Assert.assertFalse("not found in dir entries", recursive); boolean found = false; for(int i = 0; i < tested.length; i++) { if(tested[i].getNodeKind() == SVNNodeKind.DIR) { if(item.myPath. startsWith(basePath+tested[i].getPath())) { found = true; break; } } } Assert.assertTrue("not found in dir entries", found); } } }
Assert.assertEquals("not a single dir entry", 1, tested.length); Item item = (Item)items.get(singleFilePath); Assert.assertNotNull("not found in working copy", item); Assert.assertNotNull("not a file", item.myContent); Assert.assertEquals("state says file, working copy not", tested[0].getNodeKind(), item.nodeKind == SVNNodeKind.NONE ? SVNNodeKind.FILE : item.nodeKind);
    public void check(ISVNDirEntry[] tested, String basePath, boolean recursive)            throws Exception    {        // clear the touched flag of all items        Iterator it = items.values().iterator();        while (it.hasNext())        {            Item item = (Item) it.next();            item.touched = false;        }        // normalize directory path        if (basePath != null && basePath.length() > 0)        {            basePath = basePath + "/";        }        else        {            basePath = "";        }        // check all returned DirEntry's        for (int i = 0; i < tested.length; i++)        {            String name = basePath + tested[i].getPath();            Item item = (Item) items.get(name);            Assert.assertNotNull("not found in working copy", item);            if (item.myContent != null)            {                Assert.assertEquals("state says file, working copy not",                        tested[i].getNodeKind(),                        item.nodeKind == SVNNodeKind.NONE ? SVNNodeKind.FILE : item.nodeKind);            }            else            {                Assert.assertEquals("state says dir, working copy not",                        tested[i].getNodeKind(),                        item.nodeKind == SVNNodeKind.NONE ? SVNNodeKind.DIR : item.nodeKind);            }            item.touched = true;        }        // all items should have been in items, should had their touched flag        // set        it = items.values().iterator();        while (it.hasNext())        {            Item item = (Item) it.next();            if(!item.touched)            {                if(item.myPath.startsWith(basePath) &&                        !item.myPath.equals(basePath))                {                    Assert.assertFalse("not found in dir entries", recursive);                    boolean found = false;                    for(int i = 0; i < tested.length; i++)                    {                        if(tested[i].getNodeKind() == SVNNodeKind.DIR)                        {                            if(item.myPath.                                    startsWith(basePath+tested[i].getPath()))                            {                                found = true;                                break;                            }                        }                    }                    Assert.assertTrue("not found in dir entries", found);                }            }        }    }