MCPcopy Create free account
hub / github.com/PyTables/PyTables / test01_SeekFile

Method test01_SeekFile

tables/nodes/tests/test_filenode.py:216–252  ·  view source on GitHub ↗

Seeking and writing file node.

(self)

Source from the content-addressed store, hash-verified

214 datafile.close()
215
216 def test01_SeekFile(self):
217 """Seeking and writing file node."""
218
219 self.fnode.write(b"0123")
220 self.fnode.seek(8)
221 self.fnode.write(b"4567")
222 self.fnode.seek(3)
223 data = self.fnode.read(6)
224 self.assertEqual(
225 data,
226 b"3\0\0\0\0" b"4",
227 "Gap caused by forward seek was not properly filled.",
228 )
229
230 self.fnode.seek(0)
231 self.fnode.write(b"test")
232
233 self.fnode.seek(0)
234 data = self.fnode.read(4)
235 self.assertNotEqual(
236 data, b"test", "Data was overwritten instead of appended."
237 )
238
239 self.fnode.seek(-4, 2)
240 data = self.fnode.read(4)
241 self.assertEqual(data, b"test", "Written data was not appended.")
242
243 self.fnode.seek(0, 2)
244 oldendoff = self.fnode.tell()
245 self.fnode.seek(-2, 2)
246 self.fnode.write(b"test")
247 newendoff = self.fnode.tell()
248 self.assertEqual(
249 newendoff,
250 oldendoff - 2 + 4,
251 "Pointer was not correctly moved on append.",
252 )
253
254 def test02_TruncateFile(self):
255 """Truncating a file node."""

Callers

nothing calls this directly

Calls 4

writeMethod · 0.80
seekMethod · 0.80
tellMethod · 0.80
readMethod · 0.45

Tested by

no test coverage detected