'When the parent\'s and child\'s group specifications do not intersect,
access is denied to the child regardless of the user\'s groups.'

@ddt.data(*PARENT_CHILD_PAIRS)
@ddt.unpack
@resolve_attrs
def test_has_access_single_partition_disjoint_groups(self, block_specified, block_accessed):

    if (block_specified == block_accessed):
        return
    self.set_group_access(block_specified, {self.animal_partition.id: [self.dog_group.id]})
    self.set_group_access(block_accessed, {self.animal_partition.id: [self.cat_group.id]})
    self.check_access(self.red_cat, block_accessed, False)
    self.check_access(self.blue_dog, block_accessed, False)
    self.check_access(self.white_mouse, block_accessed, False)
    self.check_access(self.gray_worm, block_accessed, False)
    self.ensure_staff_access(block_accessed)
