Crie e compare rapidamente objetos de amostra.
A filosofia do Chide é fornecer um registro simples de parâmetros necessários para instanciar objetos para seus testes. Também há suporte para simplificar objetos até mapeamentos de seus atributos para facilitar comparação e renderização, juntamente com análise e renderização de formatos para inserção ou afirmação sobre vários objetos que são naturalmente tabulares.
Digamos que temos duas classes em que cada uma requer dois parâmetros para serem instanciadas:
from dataclasses import dataclass
@ dataclass
class ClassOne :
x : int
y : int
@ dataclass
class ClassTwo :
a : int
b : ClassOne
Podemos configurar um registro de valores de amostra da seguinte forma:
from chide import Collection
samples = Collection ({
ClassOne : { 'x' : 1 , 'y' : 2 },
ClassTwo : { 'a' : 1 , 'b' : ClassOne },
})
Agora podemos criar rapidamente objetos de amostra:
>>> samples.make(ClassOne)
ClassOne(x=1, y=2)
Podemos fornecer nossas próprias substituições se quisermos:
>>> samples.make(ClassOne, y = 3 )
ClassOne(x=1, y=3)
Também podemos criar árvores aninhadas de objetos:
>>> samples.make(ClassTwo)
ClassTwo(a=1, b=ClassOne(x=1, y=2))