MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_set_operations

Method test_set_operations

test/ext/test_associationproxy.py:633–738  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

631 collection_class = set
632
633 def test_set_operations(self):
634 Parent, Child = self.classes.Parent, self.classes.Child
635
636 self.session = fixture_session()
637
638 p1 = Parent("P1")
639
640 self.assert_(not p1._children)
641 self.assert_(not p1.children)
642
643 ch1 = Child("regular")
644 p1._children.add(ch1)
645
646 self.assert_(ch1 in p1._children)
647 self.assert_(len(p1._children) == 1)
648
649 self.assert_(p1.children)
650 self.assert_(len(p1.children) == 1)
651 self.assert_(ch1 not in p1.children)
652 self.assert_("regular" in p1.children)
653
654 p1.children.add("proxied")
655
656 self.assert_("proxied" in p1.children)
657 self.assert_("proxied" not in p1._children)
658 self.assert_(len(p1.children) == 2)
659 self.assert_(len(p1._children) == 2)
660
661 self.assert_({o.name for o in p1._children} == {"regular", "proxied"})
662
663 ch2 = None
664 for o in p1._children:
665 if o.name == "proxied":
666 ch2 = o
667 break
668
669 p1._children.remove(ch2)
670
671 self.assert_(len(p1._children) == 1)
672 self.assert_(len(p1.children) == 1)
673 self.assert_(p1._children == {ch1})
674
675 p1.children.remove("regular")
676
677 self.assert_(len(p1._children) == 0)
678 self.assert_(len(p1.children) == 0)
679
680 p1.children = ["a", "b", "c"]
681 self.assert_(len(p1._children) == 3)
682 self.assert_(len(p1.children) == 3)
683
684 del ch1
685 p1 = self.roundtrip(p1)
686
687 self.assert_(len(p1._children) == 3)
688 self.assert_(len(p1.children) == 3)
689
690 self.assert_("a" in p1.children)

Callers

nothing calls this directly

Calls 10

fixture_sessionFunction · 0.90
assert_raisesFunction · 0.90
ParentClass · 0.70
ChildClass · 0.70
assert_Method · 0.45
addMethod · 0.45
removeMethod · 0.45
roundtripMethod · 0.45
discardMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected