def test02(self):
        """Test with multiple generations (Group case)"""

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

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

        # remove /agroup
        self.h5file.remove_node('/agroup2')

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

        # remove the group
        self.h5file.remove_node('/agroup2')

        # Create a group
        self.h5file.create_group(self.h5file.root, 'agroup2', "Group title 3")

        # remove the group
        self.h5file.remove_node('/agroup2')

        # Create a group
        self.h5file.create_group(self.h5file.root, 'agroup2', "Group title 4")

        # Create a child group
        self.h5file.create_group(self.h5file.root.agroup2, 'agroup5',
                                 "Group title 5")

        # Undo the actions
        self.h5file.undo()

        # Check that /agroup is in the state before enabling do/undo
        self.assertEqual(self.h5file.root.agroup2._v_title, "Group title 2")
        self.assertTrue('/agroup2' in self.h5file)

        # Redo the actions
        self.h5file.redo()
        self.assertEqual(self.h5file.root.agroup2._v_title, "Group title 4")
        self.assertEqual(self.h5file.root.agroup2.agroup5._v_title,
                         "Group title 5")
dataset/ETHPy150Open PyTables/PyTables/tables/tests/test_do_undo.py/ComplexTestCase.test02/original