def test_paths_in_buffer(self): """Test paths when stored in an in-memory RMF""" b = RMF.BufferHandle() rmf = RMF.create_rmf_buffer(b) key = self.get_filename_key(rmf) node, prov = self.make_test_node(rmf) # In-memory RMF is considered to be in the current directory prov.set_filename('bar/foo.pdb') if sys.platform == 'win32': # On Windows, filenames are not altered self.assertEqual(node.get_value(key), 'bar/foo.pdb') self.assertEqual(prov.get_filename(), 'bar/foo.pdb') else: # On Mac/Linux, internally, a relative path should be stored self.assertEqual(node.get_value(key), 'bar/foo.pdb') # API should return an absolute path self.assertEqual(prov.get_filename(), os.path.join(os.getcwd(), 'bar', 'foo.pdb'))
def test_chain(self): """Test the Chain decorator""" b = RMF.BufferHandle() rmf = RMF.create_rmf_buffer(b) rmf.add_frame('zero', RMF.FRAME) rt = rmf.get_root_node() cf = RMF.ChainFactory(rmf) c0 = rt.add_child("c0", RMF.REPRESENTATION) c1 = rt.add_child("c1", RMF.REPRESENTATION) c = cf.get(c0) # Check defaults self.assertEqual(c.get_chain_type(), 'UnknownChainType') self.assertEqual(c.get_sequence(), '') # Check setters c.set_chain_type('LPolypeptide') c.set_sequence('CGY') c.set_chain_id('X') # Check both const and non-const getters self.check_rmf(cf, c0, c1) self.check_rmf(RMF.ChainConstFactory(rmf), c0, c1)
## \example buffers.py # Showing how to read and write from buffers import RMF buf = RMF.BufferHandle() fw = RMF.create_rmf_buffer(buf) # do stuff del fw fr = RMF.open_rmf_buffer_read_only(buf) # do more stuff