ModelBuilder.UnitTests.ModelTests.CreateTUsesBuildStrategyToCreateInstanceTest C# (CSharp) Method

CreateTUsesBuildStrategyToCreateInstanceTest() private method

private CreateTUsesBuildStrategyToCreateInstanceTest ( ) : void
return void
        public void CreateTUsesBuildStrategyToCreateInstanceTest()
        {
            var value = Guid.NewGuid();

            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), null, Arg.Any<LinkedList<object>>()).Returns(true);
            generator.Generate(typeof(Guid), null, Arg.Any<LinkedList<object>>()).Returns(value);

            try
            {
                Model.BuildStrategy = build;

                var actual = Model.Create<Guid>();

                actual.Should().Be(value);
            }
            finally
            {
                Model.BuildStrategy = Model.DefaultBuildStrategy;
            }
        }