### Question:
WorkbenchTreeProvider implements PermissionTreeProvider { @Override public void loadChildren(PermissionNode parent, LoadOptions options, LoadCallback callback) { if (parent.propertyEquals(NODE_TYPE, NODE_ROOT)) { callback.afterLoad(createPermissions()); } } WorkbenchTreeProvider(); @Inject  WorkbenchTreeProvider(PermissionManager permissionManager); int getRootNodePosition(); void setRootNodePosition(int rootNodePosition); @Override PermissionNode buildRootNode(); @Override void loadChildren(PermissionNode parent,
                             LoadOptions options,
                             LoadCallback callback); static final String NODE_TYPE; static final String NODE_ROOT; }### Answer:
@Test public void testWorkbenchPermissionsNames() { WorkbenchTreeProvider workbenchTreeProvider = new WorkbenchTreeProvider(permissionManager); Callback callback = new Callback(); workbenchTreeProvider.loadChildren(permissionNode, new DefaultLoadOptions(), callback); List<PermissionNode> permissionNodeList = callback.getList(); Assert.assertEquals(FEATURES_NAMES.length, permissionNodeList.size()); for (int i = 0; i < permissionNodeList.size(); i++) { Assert.assertEquals(permissionNodeList.get(i).getPermissionList().get(0).getName(), FEATURES_NAMES[i]); } }