| 321 | ) |
| 322 | |
| 323 | def test_subclass(self): |
| 324 | Data = self.classes.Data |
| 325 | sess = fixture_session() |
| 326 | |
| 327 | class MyBundle(Bundle): |
| 328 | def create_row_processor(self, query, procs, labels): |
| 329 | def proc(row): |
| 330 | return list(zip(labels, (proc(row) for proc in procs))) |
| 331 | |
| 332 | return proc |
| 333 | |
| 334 | b1 = MyBundle("b1", Data.d1, Data.d2) |
| 335 | |
| 336 | eq_( |
| 337 | sess.query(b1).filter(b1.c.d1.between("d3d1", "d5d1")).all(), |
| 338 | [ |
| 339 | ([("d1", "d3d1"), ("d2", "d3d2")],), |
| 340 | ([("d1", "d4d1"), ("d2", "d4d2")],), |
| 341 | ([("d1", "d5d1"), ("d2", "d5d2")],), |
| 342 | ], |
| 343 | ) |
| 344 | |
| 345 | def test_multi_bundle(self): |
| 346 | Data = self.classes.Data |