Hypothesis integration
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza leyendo el archivo referenciado returns/contrib/hypothesis/laws.py y compáralo con las comprobaciones existentes de typeclass y mypy en este proyecto. Define la estrategia propuesta de check_typeclass y sus opciones allow_instances, allow_protocols y allow_unknown; después, verifica que los casos compatibles produzcan tipos de retorno válidos y que los casos no compatibles produzcan NotImplementedError.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- Python
- Estrellas
- 730
- Forks
- 30
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dry-python/classes
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
dry-python/classes#496 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
dry-python/classes#494 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
dry-python/classes#492 · 2 comentarios ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
dry-python/classes#481 · 5 comentarios · 4 reacciones ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
dry-python/classes#386 ·
Todos los issues de dry-python/classes
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
canonical/paas-charm#368 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
tech debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
addition to tracking list Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
StevenBlack/hosts#3256 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
qualcomm/qai-appbuilder#275 ·