Exemple #1
0
        public void When_creating_an_instance_of_a_struct_with_default_constructor()
        {
            var instanceBuilder = AccessorBuilder.BuildInstanceCreator <ValueTypeDefaultCtor>();
            var instance        = instanceBuilder();

            instance.ShouldBeOfType <ValueTypeDefaultCtor>();
            instance.ShouldBeAssignableTo <ValueTypeDefaultCtor>();
            instance.Name.ShouldBe("Foo");
        }
        public void When_creating_an_instance_of_object_with_one_parameter_internal_constructor()
        {
            var publicCtor = typeof(Three).GetConstructors(BindingFlags.NonPublic | BindingFlags.Instance);

            publicCtor.Length.ShouldBe(1);

            var instanceBuilder = AccessorBuilder.BuildInstanceCreator <Three>(publicCtor[0]);
            var instance        = instanceBuilder(new object[] { "Two" });

            instance.ShouldNotBeNull();
            instance.Name.ShouldBe("Two");
        }
        public void When_creating_an_instance_of_object_with_multiple_parameters_public_constructor()
        {
            var publicCtor = typeof(One).GetConstructors(BindingFlags.Public | BindingFlags.Instance);

            publicCtor.Length.ShouldBe(2);

            var instanceBuilder = AccessorBuilder.BuildInstanceCreator <One>(publicCtor[1]);
            var instance        = instanceBuilder(new object[] { "One", 1 });

            instance.ShouldNotBeNull();
            instance.Name.ShouldBe("One");
            instance.Age.ShouldBe(1);
        }
        public void When_creating_an_instance_of_a_child_object_with_two_parameters_constructor()
        {
            var publicCtor = typeof(Four).GetConstructors(BindingFlags.NonPublic | BindingFlags.Instance);

            publicCtor.Length.ShouldBe(1);

            var instanceBuilder = AccessorBuilder.BuildInstanceCreator <Four>(publicCtor[0]);
            var instance        = instanceBuilder(new object[] { "Child", "Base" });

            instance.ShouldNotBeNull();
            instance.ShouldBeOfType <Four>();
            instance.ShouldBeAssignableTo <Three>();
            instance.NameChild.ShouldBe("Child");
            instance.Name.ShouldBe("Base");
        }
Exemple #5
0
        public void When_creating_an_instance_of_a_struct_with_constructor()
        {
            var publicCtor = typeof(ValueTypeWithCtor).GetConstructors(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);

            publicCtor.Length.ShouldBe(1);

            var instanceBuilder = AccessorBuilder.BuildInstanceCreator <ValueTypeWithCtor>(publicCtor[0]);
            var instance        = instanceBuilder(new object[] { "Child", 10 });

            instance.ShouldBeOfType <ValueTypeWithCtor>();
            instance.ShouldBeAssignableTo <ValueTypeWithCtor>();
            instance.Name.ShouldBe("Child");
            instance.Age.ShouldBe(10);
            instance.GetJob().ShouldBe("SomeJob");
        }
        public void When_creating_an_instance_of_object_with_default_constructor()
        {
            var publicCtor = typeof(Zero).GetConstructors(BindingFlags.Public | BindingFlags.Instance);

            publicCtor.Length.ShouldBe(1);

            var instanceBuilderOne = AccessorBuilder.BuildInstanceCreator <Zero>(publicCtor[0]);
            var instanceOne        = instanceBuilderOne(new object[] { "Zero" });

            instanceOne.ShouldNotBeNull();
            instanceOne.Name.ShouldBe("Zero");

            var instanceBuilderTwo = AccessorBuilder.BuildInstanceCreator <Zero>();
            var instanceTwo        = instanceBuilderTwo();

            instanceTwo.ShouldNotBeNull();
            instanceTwo.Name.ShouldBe("Zero");
        }