MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_list

Method test_list

test/orm/test_attributes.py:529–583  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 7

eq_Function · 0.90
_commit_allMethod · 0.80
_register_attributeFunction · 0.70
UserClass · 0.70
AddressClass · 0.70
appendMethod · 0.45
assert_Method · 0.45

Tested by

no test coverage detected