(self, j1, j2)
| 2383 | argnames=class="st">"j2", |
| 2384 | ) |
| 2385 | def test_joins(self, j1, j2): |
| 2386 | _a_table, _b_table, _c_table = self.tables(class="st">"a", class="st">"b", class="st">"c") |
| 2387 | j1 = testing.resolve_lambda(j1, **locals()) |
| 2388 | j2 = testing.resolve_lambda(j2, **locals()) |
| 2389 | |
| 2390 | class A: |
| 2391 | def __init__(self, **kwargs): |
| 2392 | for key, value in list(kwargs.items()): |
| 2393 | setattr(self, key, value) |
| 2394 | |
| 2395 | class B(A): |
| 2396 | pass |
| 2397 | |
| 2398 | class C(B): |
| 2399 | pass |
| 2400 | |
| 2401 | self.mapper_registry.map_imperatively(A, _a_table) |
| 2402 | self.mapper_registry.map_imperatively( |
| 2403 | B, _b_table, inherits=A, inherit_condition=j1 |
| 2404 | ) |
| 2405 | self.mapper_registry.map_imperatively( |
| 2406 | C, _c_table, inherits=B, inherit_condition=j2 |
| 2407 | ) |
| 2408 | |
| 2409 | session = fixture_session() |
| 2410 | |
| 2411 | a = A(data1=class="st">"a1") |
| 2412 | session.add(a) |
| 2413 | |
| 2414 | b = B(data1=class="st">"b1", data2=class="st">"b2") |
| 2415 | session.add(b) |
| 2416 | |
| 2417 | c = C(data1=class="st">"c1", data2=class="st">"c2", data3=class="st">"c3") |
| 2418 | session.add(c) |
| 2419 | |
| 2420 | session.flush() |
| 2421 | session.expunge_all() |
| 2422 | |
| 2423 | assert len(session.query(A).all()) == 3 |
| 2424 | assert len(session.query(B).all()) == 2 |
| 2425 | assert len(session.query(C).all()) == 1 |
| 2426 | |
| 2427 | |
| 2428 | class OverrideColKeyTest(fixtures.MappedTest): |
nothing calls this directly
no test coverage detected