def test01(self):
        """Test with multiple generations (Leaf case)"""

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

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

        # remove /anarray
        self.h5file.remove_node('/anarray')

        # Create an array in the same place
        self.h5file.create_array(self.h5file.root, 'anarray',
                                 [2], "Array title 2")
        # remove the array again
        self.h5file.remove_node('/anarray')

        # Create an array
        self.h5file.create_array(self.h5file.root, 'anarray',
                                 [3], "Array title 3")
        # remove the array again
        self.h5file.remove_node('/anarray')

        # Create an array
        self.h5file.create_array(self.h5file.root, 'anarray',
                                 [4], "Array title 4")
        # Undo the actions
        self.h5file.undo()

        # Check that /anarray is in the correct state before redoing
        self.assertEqual(self.h5file.root.anarray.title, "Array title")
        self.assertEqual(self.h5file.root.anarray[:], [1])

        # Redo the actions
        self.h5file.redo()
        self.assertEqual(self.h5file.root.anarray.title, "Array title 4")
        self.assertEqual(self.h5file.root.anarray[:], [4])
dataset/ETHPy150Open PyTables/PyTables/tables/tests/test_do_undo.py/ComplexTestCase.test01/swapped operands of `%`