MCPcopy
hub / github.com/python-attrs/attrs / test_works_as_adapter

Method test_works_as_adapter

tests/test_converters.py:63–93  ·  view source on GitHub ↗

Converter instances work as adapters and pass the correct arguments to the wrapped converter callable.

(self)

Source from the content-addressed store, hash-verified

61 assert expect == c._fmt_converter_call("le_name", "le_value")
62
63 def test_works_as_adapter(self):
64 """
65 Converter instances work as adapters and pass the correct arguments to
66 the wrapped converter callable.
67 """
68 taken = None
69 instance = object()
70 field = object()
71
72 def save_args(*args):
73 nonlocal taken
74 taken = args
75 return args[0]
76
77 Converter(save_args)(42, instance, field)
78
79 assert (42,) == taken
80
81 Converter(save_args, takes_self=True)(42, instance, field)
82
83 assert (42, instance) == taken
84
85 Converter(save_args, takes_field=True)(42, instance, field)
86
87 assert (42, field) == taken
88
89 Converter(save_args, takes_self=True, takes_field=True)(
90 42, instance, field
91 )
92
93 assert (42, instance, field) == taken
94
95 def test_annotations_if_last_in_pipe(self):
96 """

Callers

nothing calls this directly

Calls 1

ConverterClass · 0.90

Tested by

no test coverage detected