Hypothesis integration
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par lire le fichier référencé returns/contrib/hypothesis/laws.py et comparez-le aux vérifications typeclass et mypy existantes dans ce projet. Définissez la stratégie check_typeclass proposée ainsi que ses options allow_instances, allow_protocols et allow_unknown, puis vérifiez que les cas pris en charge produisent des types de retour valides et que les cas non pris en charge produisent NotImplementedError.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Right now we don't test classes with hypothesis 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.py
What 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) -> strmust producestrfor allinstance,protocol, and supported types and it must produceNotImplementedErrorfor types that are not supported- Looks like
check_typeclassmust haveallow_instances,allow_protocols,allow_unknownkwboolarguments 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?
- Langage dominant
- Python
- Étoiles
- 730
- Forks
- 30
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de dry-python/classes
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
dry-python/classes#496 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
dry-python/classes#494 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 52/100
dry-python/classes#492 · 2 commentaires ·
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
dry-python/classes#481 · 5 commentaires · 4 réactions ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
dry-python/classes#386 ·
Toutes les issues de dry-python/classes
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
anthropics/skills#1811 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
speaches-ai/speaches#678 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
datalayer/mcp-compose#42 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
conda-forge/spacy-feedstock#177 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
UKGovernmentBEIS/inspect_evals#2523 ·