示例#1
0
        public void a_new_registry_without_a_ctor_strategy_should_not_overwrite_previous()
        {
            var registryA = new StringARegistry();

            registryA.UseModestCtor();

            var registryB = new StringARegistry();

            var construktion = new Construktion();

            construktion.AddRegistry(registryA);
            construktion.AddRegistry(registryB);

            //act
            var result = construktion.Construct <MultiCtor>();

            result.UsedModestCtor.ShouldBe(true);
        }
示例#2
0
        public void should_use_the_last_registered_ctor_strategy()
        {
            var registryA = new StringARegistry();

            registryA.UseModestCtor();

            var registryB = new StringARegistry();

            registryB.UseGreedyCtor();

            var construktion = new Construktion();

            construktion.AddRegistry(registryA);
            construktion.AddRegistry(registryB);

            //act
            var result = construktion.Construct <MultiCtor>();

            result.UsedGreedyCtor.ShouldBe(true);
        }