def test03b(self):
        """Test with multiple generations (Group case, recursive remove,
        case 2)"""

        if common.verbose:
            print('\n', '-=' * 30)
            print("Running %s.test03b..." % self.__class__.__name__)

        # Enable undo/redo.
        self.h5file.enable_undo()

        # Create a new group with a child
        self.h5file.create_group(self.h5file.root, 'agroup3', "Group title 3")
        self.h5file.create_group(self.h5file.root.agroup3, 'agroup4',
                                 "Group title 4")

        # remove /agroup3
        self.h5file.remove_node('/agroup3', recursive=1)

        # Create a group in the same place
        self.h5file.create_group(self.h5file.root, 'agroup3', "Group title 4")

        # Undo the actions
        self.h5file.undo()

        # Check that /agroup is in the state before enabling do/undo
        self.assertTrue('/agroup3' not in self.h5file)

        # Redo the actions
        self.h5file.redo()
        self.assertEqual(self.h5file.root.agroup3._v_title, "Group title 4")
        self.assertTrue('/agroup3' in self.h5file)
        self.assertTrue('/agroup/agroup4' not in self.h5file)
dataset/ETHPy150Open PyTables/PyTables/tables/tests/test_do_undo.py/ComplexTestCase.test03b/original