public void PopulateUsesBuildStrategyToPopulateInstanceTest()
{
var value = Guid.NewGuid();
var expected = new SlimModel();
var build = Substitute.For<IBuildStrategy>();
var generator = Substitute.For<IValueGenerator>();
var generators = new List<IValueGenerator> {generator}.AsReadOnly();
build.ValueGenerators.Returns(generators);
generator.IsSupported(typeof(Guid), "Value", Arg.Any<LinkedList<object>>()).Returns(true);
generator.Generate(typeof(Guid), "Value", Arg.Any<LinkedList<object>>()).Returns(value);
try
{
Model.BuildStrategy = build;
var actual = Model.Populate(expected);
actual.Should().Be(expected);
}
finally
{
Model.BuildStrategy = Model.DefaultBuildStrategy;
}
}