public void CreateWithThrowsExceptionWhenNoGeneratorOrCreatorMatchFoundForConstructorParameterTest()
{
var generators = new List<IValueGenerator>();
var creators = new List<ITypeCreator>();
var constructorResolver = new DefaultConstructorResolver();
var valueGenerator = Substitute.For<IValueGenerator>();
var typeCreator = Substitute.For<ITypeCreator>();
var buildStrategy = Substitute.For<IBuildStrategy>();
generators.Add(valueGenerator);
creators.Add(typeCreator);
typeCreator.CanCreate(typeof(KeyValuePair<string, Person>), null, Arg.Any<LinkedList<object>>())
.Returns(true);
typeCreator.AutoDetectConstructor.Returns(true);
typeCreator.AutoPopulate.Returns(true);
valueGenerator.IsSupported(Arg.Any<Type>(), Arg.Any<string>(), Arg.Any<LinkedList<object>>()).Returns(false);
buildStrategy.TypeCreators.Returns(creators.AsReadOnly());
buildStrategy.ValueGenerators.Returns(generators.AsReadOnly());
buildStrategy.ConstructorResolver.Returns(constructorResolver);
var target = new DefaultExecuteStrategy();
target.Initialize(buildStrategy, buildStrategy.GetBuildLog());
Action action = () => target.CreateWith(typeof(KeyValuePair<string, Person>));
action.ShouldThrow<BuildException>();
}