Example #1
0
 def test_readAndWriteBinaryFileHeader(self):
     """
     Reading and writing should not change the binary file header.
     """
     for file, attribs in self.files.items():
         endian = attribs['endian']
         file = os.path.join(self.path, file)
         # Read the file.
         with open(file, 'rb') as f:
             f.seek(3200)
             org_header = f.read(400)
         header = SEGYBinaryFileHeader(header=org_header, endian=endian)
         # The header writes to a file like object.
         new_header = io.BytesIO()
         header.write(new_header)
         new_header.seek(0, 0)
         new_header = new_header.read()
         # Assert the correct length.
         self.assertEqual(len(new_header), 400)
         # Assert the actual header.
         self.assertEqual(org_header, new_header)