public void ReturnsConstructorValuesTest()
{
var buildLog = Substitute.For<IBuildLog>();
var constructorResolver = Substitute.For<IConstructorResolver>();
var creationRules = new List<CreationRule>
{
new CreationRule(typeof(string), "Test", int.MaxValue, "Stuff")
};
var typeCreators = new List<ITypeCreator>
{
new DefaultTypeCreator()
};
var valueGenerators = new List<IValueGenerator>
{
new AddressValueGenerator()
};
var ignoreRules = new List<IgnoreRule>
{
new IgnoreRule(typeof(Person), "FirstName")
};
var executeOrderRules = new List<ExecuteOrderRule>
{
new ExecuteOrderRule(typeof(Person), "LastName", int.MinValue)
};
var postBuildActions = new List<IPostBuildAction>
{
Substitute.For<IPostBuildAction>()
};
var target = new BuildStrategy(
constructorResolver,
creationRules,
typeCreators,
valueGenerators,
ignoreRules,
executeOrderRules,
postBuildActions);
target.ConstructorResolver.Should().Be(constructorResolver);
target.CreationRules.ShouldBeEquivalentTo(creationRules);
target.TypeCreators.ShouldBeEquivalentTo(typeCreators);
target.ValueGenerators.ShouldBeEquivalentTo(valueGenerators);
target.IgnoreRules.ShouldBeEquivalentTo(ignoreRules);
target.ExecuteOrderRules.ShouldBeEquivalentTo(executeOrderRules);
target.PostBuildActions.ShouldBeEquivalentTo(postBuildActions);
}