Test removing a closed node.
(self)
| 1811 | self.assertRaises(NameError, self.h5file.get_node, "array") |
| 1812 | |
| 1813 | def test20_removeNode(self): |
| 1814 | """Test removing a closed node.""" |
| 1815 | |
| 1816 | # This test is a little redundant once we know that ``File.get_node()`` |
| 1817 | # will reload a closed node, but anyway... |
| 1818 | |
| 1819 | group = self.h5file.create_group("/", "group") |
| 1820 | array = self.h5file.create_array("/group", "array", [1]) |
| 1821 | |
| 1822 | # The closed *object* can not be used. |
| 1823 | group._f_close() |
| 1824 | self.assertRaises(tb.ClosedNodeError, group._f_remove) |
| 1825 | self.assertRaises(tb.ClosedNodeError, self.h5file.remove_node, group) |
| 1826 | |
| 1827 | # Still, the *node* is reloaded when necessary. |
| 1828 | try: |
| 1829 | self.h5file.remove_node("/group", recursive=True) |
| 1830 | except tb.ClosedNodeError: |
| 1831 | self.fail("closed node has not been reloaded") |
| 1832 | |
| 1833 | # Objects of descendent removed nodes |
| 1834 | # should have been automatically closed when removed. |
| 1835 | self.assertRaises(tb.ClosedNodeError, array._f_remove) |
| 1836 | |
| 1837 | self.assertNotIn("/group/array", self.h5file) # just in case |
| 1838 | self.assertNotIn("/group", self.h5file) # just in case |
| 1839 | |
| 1840 | def test21_attrsOfNode(self): |
| 1841 | """Test manipulating the attributes of a closed node.""" |
nothing calls this directly
no test coverage detected