(self)
| 527 | eq_(m2.b, 12) |
| 528 | |
| 529 | def test_list(self): |
| 530 | class User: |
| 531 | pass |
| 532 | |
| 533 | class Address: |
| 534 | pass |
| 535 | |
| 536 | instrumentation.register_class(User) |
| 537 | instrumentation.register_class(Address) |
| 538 | _register_attribute(User, "user_id", uselist=False, useobject=False) |
| 539 | _register_attribute(User, "user_name", uselist=False, useobject=False) |
| 540 | _register_attribute(User, "addresses", uselist=True, useobject=True) |
| 541 | _register_attribute( |
| 542 | Address, "address_id", uselist=False, useobject=False |
| 543 | ) |
| 544 | _register_attribute( |
| 545 | Address, "email_address", uselist=False, useobject=False |
| 546 | ) |
| 547 | |
| 548 | u = User() |
| 549 | u.user_id = 7 |
| 550 | u.user_name = "john" |
| 551 | u.addresses = [] |
| 552 | a = Address() |
| 553 | a.address_id = 10 |
| 554 | a.email_address = "lala@123.com" |
| 555 | u.addresses.append(a) |
| 556 | |
| 557 | self.assert_( |
| 558 | u.user_id == 7 |
| 559 | and u.user_name == "john" |
| 560 | and u.addresses[0].email_address == "lala@123.com" |
| 561 | ) |
| 562 | ( |
| 563 | u, |
| 564 | attributes.instance_state(a)._commit_all( |
| 565 | attributes.instance_dict(a) |
| 566 | ), |
| 567 | ) |
| 568 | self.assert_( |
| 569 | u.user_id == 7 |
| 570 | and u.user_name == "john" |
| 571 | and u.addresses[0].email_address == "lala@123.com" |
| 572 | ) |
| 573 | |
| 574 | u.user_name = "heythere" |
| 575 | a = Address() |
| 576 | a.address_id = 11 |
| 577 | a.email_address = "foo@bar.com" |
| 578 | u.addresses.append(a) |
| 579 | |
| 580 | eq_(u.user_id, 7) |
| 581 | eq_(u.user_name, "heythere") |
| 582 | eq_(u.addresses[0].email_address, "lala@123.com") |
| 583 | eq_(u.addresses[1].email_address, "foo@bar.com") |
| 584 | |
| 585 | def test_lazytrackparent(self): |
| 586 | """test that the "hasparent" flag works properly |
nothing calls this directly
no test coverage detected