(self)
| 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) |
nothing calls this directly
no test coverage detected