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

Method test07b

tables/tests/test_tables.py:5166–5207  ·  view source on GitHub ↗

Checking modifying several rows at once (recarray version)

(self)

Source from the content-addressed store, hash-verified

5164 self.assertEqual(table.nrows, 4)
5165
5166 def test07b(self):
5167 """Checking modifying several rows at once (recarray version)"""
5168
5169 if common.verbose:
5170 print("\n", "-=" * 30)
5171 print("Running %s.test07b..." % self.__class__.__name__)
5172
5173 # Create a new table:
5174 table = self.h5file.create_table(self.h5file.root, "recarray", Rec)
5175
5176 # append new rows
5177 r = np.rec.array(
5178 [(456, b"dbe", 1.2), (2, b"ded", 1.3)], formats="i4,S3,f8"
5179 )
5180 table.append(r)
5181 table.append([(457, b"db1", 1.2), (5, b"de1", 1.3)])
5182 # Modify two existing rows
5183 rows = np.rec.array(
5184 [(457, b"db1", 1.2), (5, b"de1", 1.3)], formats="i4,S3,f8"
5185 )
5186 table.modify_rows(start=1, rows=rows)
5187 # Create the modified recarray
5188 r1 = np.rec.array(
5189 [
5190 (456, b"dbe", 1.2),
5191 (457, b"db1", 1.2),
5192 (5, b"de1", 1.3),
5193 (5, b"de1", 1.3),
5194 ],
5195 formats="i4,S3,f8",
5196 names="col1,col2,col3",
5197 )
5198 # Read the modified table
5199 if self.reopen:
5200 self._reopen()
5201 table = self.h5file.root.recarray
5202 r2 = table.read()
5203 if common.verbose:
5204 print("Original table-->", repr(r2))
5205 print("Should look like-->", repr(r1))
5206 self.assertEqual(r1.tobytes(), r2.tobytes())
5207 self.assertEqual(table.nrows, 4)
5208
5209 def test07c(self):
5210 """Checking modifying several rows with a mismatching value"""

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