You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
check_typeclass(typeclass_instance) will check that for all existing types and protocols some valid return type is produced. For example, @typeclass def some(instance) -> str must produce str for all instance, protocol, and supported types and it must produce NotImplementedError for types that are not supported
Looks like check_typeclass must have allow_instances, allow_protocols, allow_unknown kw bool arguments to configure what types we actually need in a resulting strategy
It would be a nice companion to our mypy check.
@Zac-HD do you like it? Maybe you have any other ideas?
The text was updated successfully, but these errors were encountered:
My only real suggestion is a terminology note: "hypothesis plugin" usually refers to code that Hypothesis invokes via a setuptools entry point; so maybe call this kind of thing a "hypothesis extension" or "hypothesis integration" or "automatic testing tool"?
Right now we don't test
classes
withhypothesis
at all.But, I have a great idea (at least it seems to me like so) of adding a hypothesis plugin, similar to one we have in
returns
: https://github.com/dry-python/returns/blob/master/returns/contrib/hypothesis/laws.pyWhat should it do?
check_typeclass(typeclass_instance)
will check that for all existing types and protocols some valid return type is produced. For example,@typeclass def some(instance) -> str
must producestr
for allinstance
,protocol
, and supported types and it must produceNotImplementedError
for types that are not supportedcheck_typeclass
must haveallow_instances
,allow_protocols
,allow_unknown
kwbool
arguments to configure what types we actually need in a resulting strategyIt would be a nice companion to our
mypy
check.@Zac-HD do you like it? Maybe you have any other ideas?
The text was updated successfully, but these errors were encountered: