def test01b(self):
        """Checking remove_node (over Groups with children 2)"""

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

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

        # Remove a couple of groups
        self.h5file.remove_node('/agroup', recursive=1)
        self.h5file.remove_node('/agroup2')

        # Now undo the past operation
        self.h5file.undo()

        # Check that they does exist in the object tree
        self.assertTrue("/agroup" in self.h5file)
        self.assertTrue("/agroup2" in self.h5file)

        # Check that children are reachable
        self.assertTrue("/agroup/anarray1" in self.h5file)
        self.assertTrue("/agroup/anarray2" in self.h5file)
        self.assertTrue("/agroup/agroup3" in self.h5file)
        self.assertEqual(self.h5file.root.agroup._v_title, "Group title")

        # Redo the operation
        self.h5file.redo()

        # Check that groups does not exist again
        self.assertTrue("/agroup" not in self.h5file)
        self.assertTrue("/agroup2" not in self.h5file)

        # Check that children are not reachable
        self.assertTrue(self.h5file not in "/agroup/anarray1")
        self.assertTrue("/agroup/anarray2" not in self.h5file)
        self.assertTrue("/agroup/agroup3" not in self.h5file)
dataset/ETHPy150Open PyTables/PyTables/tables/tests/test_do_undo.py/RemoveNodeTestCase.test01b/swapped operands of `not in`