У меня есть следующие вложенные классы, которые приходят из файлов XSD, сгенерированных с помощью xsd.exe.
public class MyClass
{
public AnotherClass[] PropertyOne;
public DateTime PropertyTwo;
public bool PropertyTwoSpecified
}
public class AnotherClass
{
public DateTime AnotherPropertyOne
public bool AnotherPropertyOneSpecified
public int AnotherPropertyTwo
public bool AnotherPropertyTwoSpecified
}
Теперь я хотел бы использовать AutoFixture для генерации экземпляров с синтетическими данными.
var fixture = new Fixture();
fixture.Customize(new AutoFakeItEasyCustomization());
var myClassFake = fixture.Create<MyClass>();
Я знаю, что могу использовать .with
для установки отдельных свойств, но как я могу установить свойства на основе определенного шаблона?Особенно, когда эти свойства вложены в массивы?
В основном я должен убедиться, что все свойства, заканчивающиеся на *Specified
, установлены на true
.Включая один раз вложенный в PropertyOne
Должен ли я использовать мой метод, основанный на одном отражении, например, метод расширения (например, myClassFake.EnableAllProperties()
), или есть ли способ AutoFixture для достижения моей цели?
Редактировать
Я знаю, что могу использовать fixture.Register<bool>(() => true);
, чтобы установить все мои bool на true.Это решает мою очень специфическую проблему, но все еще кажется неуклюжим и неприменимым.Все еще ищу точный способ решить эту проблему.