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

Method test06b

tables/tests/test_tables.py:5084–5124  ·  view source on GitHub ↗

Checking modifying one table row (recarray version)

(self)

Source from the content-addressed store, hash-verified

5082 self.assertEqual(table.nrows, 4)
5083
5084 def test06b(self):
5085 """Checking modifying one table row (recarray version)"""
5086
5087 if common.verbose:
5088 print("\n", "-=" * 30)
5089 print("Running %s.test06b..." % self.__class__.__name__)
5090
5091 # Create a new table:
5092 table = self.h5file.create_table(self.h5file.root, "recarray", Rec)
5093
5094 # append new rows
5095 r = np.rec.array(
5096 [(456, b"dbe", 1.2), (2, b"ded", 1.3)], formats="i4,S3,f8"
5097 )
5098 table.append(r)
5099 table.append([(457, b"db1", 1.2), (5, b"de1", 1.3)])
5100 # Modify just one existing rows
5101 table.modify_rows(
5102 start=2, rows=np.rec.array([(456, "db2", 1.2)], formats="i4,S3,f8")
5103 )
5104 # Create the modified recarray
5105 r1 = np.rec.array(
5106 [
5107 (456, b"dbe", 1.2),
5108 (2, b"ded", 1.3),
5109 (456, b"db2", 1.2),
5110 (5, b"de1", 1.3),
5111 ],
5112 formats="i4,S3,f8",
5113 names="col1,col2,col3",
5114 )
5115 # Read the modified table
5116 if self.reopen:
5117 self._reopen()
5118 table = self.h5file.root.recarray
5119 r2 = table.read()
5120 if common.verbose:
5121 print("Original table-->", repr(r2))
5122 print("Should look like-->", repr(r1))
5123 self.assertEqual(r1.tobytes(), r2.tobytes())
5124 self.assertEqual(table.nrows, 4)
5125
5126 def test07a(self):
5127 """Checking modifying several rows at once (list version)"""

Callers

nothing calls this directly

Calls 5

modify_rowsMethod · 0.80
create_tableMethod · 0.45
appendMethod · 0.45
_reopenMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected