AbstractTreePermission implements TreePermission { @Override public @NotNull TreePermission getChildPermission(@NotNull String childName, @NotNull NodeState childState) { return getPermissionProvider().getTreePermission(childName, childState, this); } AbstractTreePermission(@NotNull Tree tree, @NotNull TreeType type); @Override @NotNull TreePermission getChildPermission(@NotNull String childName, @NotNull NodeState childState); @Override boolean canRead(); @Override boolean canRead(@NotNull PropertyState property); @Override boolean canReadAll(); @Override boolean canReadProperties(); @Override boolean isGranted(long permissions); @Override boolean isGranted(long permissions, @NotNull PropertyState property);  }
@Test public void testGetChildPermission() { NodeState childState = mock(NodeState.class); AbstractTreePermission atp = createAbstractTreePermission(tree, TreeType.HIDDEN, pp); atp.getChildPermission("childName", childState); verify(pp, times(1)).getTreePermission("childName", childState, atp); }