Быстро создавайте и сравнивайте образцы объектов.
Философия Chide заключается в том, чтобы предоставить вам простой реестр параметров, необходимых для создания объектов для ваших тестов. Также поддерживается упрощение объектов вплоть до сопоставления их атрибутов для упрощения сравнения и рендеринга, а также синтаксический анализ и рендеринг форматов для вставки или утверждения нескольких объектов, которые естественным образом являются табличными.
Скажем, у нас есть два класса, каждый из которых требует двух параметров для создания экземпляра:
from dataclasses import dataclass
@ dataclass
class ClassOne :
x : int
y : int
@ dataclass
class ClassTwo :
a : int
b : ClassOne
Мы можем настроить реестр образцов значений следующим образом:
from chide import Collection
samples = Collection ({
ClassOne : { 'x' : 1 , 'y' : 2 },
ClassTwo : { 'a' : 1 , 'b' : ClassOne },
})
Теперь мы можем быстро создавать образцы объектов:
>>> samples.make(ClassOne)
ClassOne(x=1, y=2)
Мы можем предоставить наши собственные переопределения, если хотим:
>>> samples.make(ClassOne, y = 3 )
ClassOne(x=1, y=3)
Мы также можем создавать вложенные деревья объектов:
>>> samples.make(ClassTwo)
ClassTwo(a=1, b=ClassOne(x=1, y=2))