crosszip é um utilitário Python que facilita a aplicação de uma função a todas as combinações possíveis de elementos de vários iteráveis. Ele combina o poder do produto cartesiano e a programação funcional em uma única ferramenta intuitiva.
Além disso, @pytest.mark.crosszip_parametrize é um marcador pytest que simplifica os testes de execução com todas as combinações possíveis de valores de parâmetros.
| Gerente de pacotes | Comando de instalação |
|---|---|
| pip | pip install crosszip |
| UV | uv pip install crosszip |
Exemplo de usar crosszip :
# Label Generation for Machine Learning
from crosszip import crosszip
def create_label ( category , subcategory , version ):
return f" { category } _ { subcategory } _v { version } "
categories = [ "cat" , "dog" ]
subcategories = [ "small" , "large" ]
versions = [ "1.0" , "2.0" ]
labels = crosszip ( create_label , categories , subcategories , versions )
print ( labels ) ['cat_small_v1.0', 'cat_small_v2.0', 'cat_large_v1.0', 'cat_large_v2.0', 'dog_small_v1.0', 'dog_small_v2.0', 'dog_large_v1.0', 'dog_large_v2.0']
Exemplo de usar o marcador pytest crosszip_parametrize :
# Testing Power Function
import math
import crosszip
import pytest
@ pytest . mark . crosszip_parametrize (
"base" ,
[ 2 , 10 ],
"exponent" ,
[ - 1 , 0 , 1 ],
)
def test_power_function ( base , exponent ):
result = math . pow ( base , exponent )
assert result == base ** exponentPara mais exemplos, consulte a documentação do pacote em: https://indrajeetpatil.github.io/crosszip/
crosszip_parametrize para execução de testes com todas as combinações possíveis dos valores dos parâmetros.Este projeto está licenciado sob a licença do MIT.
A fonte do adesivo hexadecimal é Rubik , e a imagem é retirada do ícone feita por Freepik e disponível em Flaticon.com.