def test04_6times3marksro(self):
        """Checking with six operations, three marks and do/undo in random
        order."""

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

        # open the do/undo
        self.h5file.enable_undo()

        # Create a new array
        self.h5file.create_array('/', 'otherarray1', [3, 4], "Another array 1")
        self.h5file.create_array('/', 'otherarray2', [4, 5], "Another array 2")

        # Put a mark
        self.h5file.mark()
        self._do_reopen()
        self.h5file.create_array('/', 'otherarray3', [5, 6], "Another array 3")
        self.h5file.create_array('/', 'otherarray4', [6, 7], "Another array 4")

        # Unwind the previous mark
        self.h5file.undo()
        self.assertTrue("/otherarray1" in self.h5file)
        self.assertTrue("/otherarray2" in self.h5file)
        self.assertTrue("/otherarray3" not in self.h5file)
        self.assertTrue("/otherarray4" not in self.h5file)

        # Put a mark in the middle of stack
        if common.verbose:
            print("All nodes:", self.h5file.walk_nodes())
        self.h5file.mark()
        self._do_reopen()
        self.h5file.create_array('/', 'otherarray5', [7, 8], "Another array 5")
        self.h5file.create_array('/', 'otherarray6', [8, 9], "Another array 6")
        self.assertTrue("/otherarray1" in self.h5file)
        self.assertTrue("/otherarray2" in self.h5file)
        self.assertTrue("/otherarray3" not in self.h5file)
        self.assertTrue("/otherarray4" not in self.h5file)
        self.assertTrue("/otherarray5" in self.h5file)
        self.assertTrue("/otherarray6" in self.h5file)

        # Unwind previous mark
        self.h5file.undo()
        self.assertTrue("/otherarray1" in self.h5file)
        self.assertTrue("/otherarray2" in self.h5file)
        self.assertTrue("/otherarray3" not in self.h5file)
        self.assertTrue("/otherarray4" not in self.h5file)
        self.assertTrue("/otherarray5" not in self.h5file)
        self.assertTrue("/otherarray6" not in self.h5file)

        # Redo until the last mark
        self.h5file.redo()
        self.assertTrue("/otherarray1" in self.h5file)
        self.assertTrue("/otherarray2" in self.h5file)
        self.assertTrue(self.h5file not in "/otherarray3")
        self.assertTrue("/otherarray4" not in self.h5file)
        self.assertTrue("/otherarray5" in self.h5file)
        self.assertTrue("/otherarray6" in self.h5file)

        # Redo until the next mark (non-existent, so no action)
        self._do_reopen()
        self.h5file.redo()
        self.assertTrue("/otherarray1" in self.h5file)
        self.assertTrue("/otherarray2" in self.h5file)
        self.assertTrue("/otherarray3" not in self.h5file)
        self.assertTrue("/otherarray4" not in self.h5file)
        self.assertTrue("/otherarray5" in self.h5file)
        self.assertTrue("/otherarray6" in self.h5file)
        self.assertEqual(self.h5file.root.otherarray1.read(), [3, 4])
        self.assertEqual(self.h5file.root.otherarray2.read(), [4, 5])
        self.assertEqual(self.h5file.root.otherarray5.read(), [7, 8])
        self.assertEqual(self.h5file.root.otherarray6.read(), [8, 9])
        self.assertEqual(self.h5file.root.otherarray1.title, "Another array 1")
        self.assertEqual(self.h5file.root.otherarray2.title, "Another array 2")
        self.assertEqual(self.h5file.root.otherarray5.title, "Another array 5")
        self.assertEqual(self.h5file.root.otherarray6.title, "Another array 6")
dataset/ETHPy150Open PyTables/PyTables/tables/tests/test_do_undo.py/BasicTestCase.test04_6times3marksro/swapped operands of `not in`