(self)
| 608 | assert_raises(TypeError, set, [p1.children]) |
| 609 | |
| 610 | def test_bulk_replace(self): |
| 611 | Parent = self.classes.Parent |
| 612 | |
| 613 | p1 = Parent("foo") |
| 614 | p1.children = {"a": "v a", "b": "v b", "c": "v c"} |
| 615 | assocs = set(p1._children.values()) |
| 616 | keep_assocs = {a for a in assocs if a.foo in ("a", "c")} |
| 617 | eq_(len(keep_assocs), 2) |
| 618 | remove_assocs = {a for a in assocs if a.foo == "b"} |
| 619 | |
| 620 | p1.children = {"a": "v a", "d": "v d", "c": "v c"} |
| 621 | eq_( |
| 622 | {a for a in p1._children.values() if a.foo in ("a", "c")}, |
| 623 | keep_assocs, |
| 624 | ) |
| 625 | assert not remove_assocs.intersection(p1._children.values()) |
| 626 | |
| 627 | eq_(p1.children, {"a": "v a", "d": "v d", "c": "v c"}) |
| 628 | |
| 629 | |
| 630 | class SetTest(_CollectionOperations): |
nothing calls this directly
no test coverage detected