MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _test_dict_dataclasses

Method _test_dict_dataclasses

test/orm/test_collection.py:1470–1499  ·  view source on GitHub ↗
(self, typecallable)

Source from the content-addressed store, hash-verified

1468 )
1469
1470 def _test_dict_dataclasses(self, typecallable):
1471 creator = self.SimpleComparableEntity
1472
1473 @dataclasses.dataclass
1474 class Foo:
1475 attr: MutableMapping[Any, Any] = dataclasses.field(
1476 default_factory=dict
1477 )
1478
1479 canary = Canary()
1480 instrumentation.register_class(Foo)
1481 d = _register_attribute(
1482 Foo,
1483 "attr",
1484 uselist=True,
1485 typecallable=typecallable,
1486 useobject=True,
1487 )
1488 canary.listen(d)
1489
1490 obj = Foo()
1491 direct = obj.attr
1492
1493 e1 = creator(a=1, b=2)
1494 collections.collection_adapter(direct).append_with_event(e1)
1495
1496 like_me = typecallable()
1497 like_me.set(e1)
1498
1499 eq_(dataclasses.asdict(obj), {"attr": like_me})
1500
1501 def test_dict_subclass(self):
1502 class MyDict(dict):

Callers 5

test_dict_subclassMethod · 0.95
test_dict_subclass2Method · 0.95
test_dict_subclass3Method · 0.95
test_dict_duckMethod · 0.95
test_dict_emulatesMethod · 0.95

Calls 8

listenMethod · 0.95
eq_Function · 0.90
CanaryClass · 0.85
creatorFunction · 0.85
append_with_eventMethod · 0.80
_register_attributeFunction · 0.70
FooClass · 0.70
setMethod · 0.45

Tested by

no test coverage detected