/usr/lib/python2.7/dist-packages/csb/test/cases/bio/io/mrc/__init__.py is in python-csb 1.2.3+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | import csb.test as test
from csb.io import MemoryStream
from csb.bio.io.mrc import DensityMapReader, DensityMapWriter, DensityMapFormatError, HeaderInfo, ByteOrder
@test.unit
class TestDensityMapReader(test.Case):
def setUp(self):
super(TestDensityMapReader, self).setUp()
self.file = self.config.getTestFile('1C3W_10.mrc')
self.reader = DensityMapReader(self.file)
self.rawheader = None
with open(self.file, 'rb') as stream:
self.rawheader = self.reader._rawheader(stream)
def testReadRawHeader(self):
self.assertEqual(len(self.rawheader), DensityMapReader.HEADER_SIZE)
def testReadHeader(self):
density = self.reader.read_header()
self.assertEqual(density.data, None)
self.assertEqual(density.header, self.rawheader)
self.assertEqual(density.origin, [-36.0, -36.0, -36.0])
self.assertEqual(density.shape, (72, 72, 72))
self.assertEqual(density.spacing, (1.0, 1.0, 1.0))
def testRead(self):
density = self.reader.read()
self.assertNotEqual(density.data, None)
self.assertEqual(density.header, self.rawheader)
self.assertEqual(density.origin, [-36.0, -36.0, -36.0])
self.assertEqual(density.shape, (72, 72, 72))
self.assertEqual(density.spacing, (1.0, 1.0, 1.0))
@test.unit
class TestDensityMapWriter(test.Case):
def setUp(self):
super(TestDensityMapWriter, self).setUp()
self.file = self.config.getTestFile('1C3W_10.mrc')
self.writer = DensityMapWriter()
self.reader = DensityMapReader(self.file)
self.density = self.reader.read()
def testWriteDensity(self):
with self.config.getTempStream(mode='b') as temp:
with open(self.file, 'rb') as source:
self.writer.write(temp, self.density)
temp.flush()
if temp.content() != source.read():
self.fail('binary strings differ')
def testReconstructHeader(self):
raw = self.density.header
self.density.header = None
new = self.writer.reconstruct_header(self.density)
original = self.reader._inspect(raw, ByteOrder.NATIVE)
generated = self.reader._inspect(new, ByteOrder.NATIVE)
for o, g in zip(original, generated):
self.assertAlmostEqual(o, g, places=4)
if __name__ == '__main__':
test.Console()
|