public void Create_ConcreteObjectsForInterfaces_CreatesObject()
        {
            TestClass                 first    = new TestClass(42, "Answer", DateTime.MinValue);
            MultipleConstructors      second   = new MultipleConstructors(44, "Other");
            NestedClassWithInterfaces expected = new NestedClassWithInterfaces(first, second);
            var values = new
            {
                ChildOne = first,
                ChildTwo = second
            };

            var actual = initializer.Create <NestedClassWithInterfaces>(values);

            actual.Should().BeEquivalentTo(expected);
        }
        public void Create_WithoutParameters_ReturnswithDefaultValues()
        {
            var expected = new TestClass(0, null, new DateTime());

            var actual = initializer.Create <TestClass>();

            actual.Should().BeEquivalentTo(expected);
        }
        public void Create_WithConcreteObjects_CreatesObject()
        {
            InheritingClass     inheriting     = new InheritingClass(42, "Name", DateTime.MinValue);
            InheritingClassBase inheritingBase = new InheritingClassBase(DateTime.MinValue);
            InheritingClassUser expected       = new InheritingClassUser(inheriting, inheritingBase);
            var values = new
            {
                inheriting,
                inheritingBase
            };

            var actual = initializer.Create <InheritingClassUser>(values);

            actual.Should().BeEquivalentTo(expected);
        }
Exemple #4
0
        public void UseConstructor_WhenCalled_SelectsConstructorToUse()
        {
            var parameters = new
            {
                Foo = 47,
                Bar = "Correct",
                Baz = new DateTime(1991, 1, 1)
            };
            var expected = new MultipleConstructors(parameters.Foo, parameters.Bar, parameters.Baz);

            //TODO still wondering what happens if only default is available
            initializer.UseConstructor <MultipleConstructors>(c => c.OrderByDescending(x => x.GetParameters().Count()).First());
            var actual = initializer.Create <MultipleConstructors>(parameters);

            actual.Should().BeEquivalentTo(expected);
        }
Exemple #5
0
        public void CreatePlayer(Vector3 position)
        {
            Initializer       initialize = new Initializer();
            CharactersBuilder builder    = gameObject.AddComponent <PlayerCharactersBuilder>();
            Characters        cha        = initialize.Create(builder, charactersPrefab, position);

            player = cha;
        }
Exemple #6
0
        public void CreateBots(Vector3 position)
        {
            Initializer       initialize = new Initializer();
            CharactersBuilder builder    = gameObject.AddComponent <AICharactersBuilder>();
            Characters        bot        = initialize.Create(builder, charactersPrefab, position);

            targets.Add(bot);
        }
        public void Create_AllArgumets_ChoosesCorrectConstructor()
        {
            var parameters = new
            {
                Foo = 44,
                Bar = "Other",
                Baz = new DateTime(1999, 1, 1)
            };
            var expected = new MultipleConstructors(44, "Other", new DateTime(1999, 1, 1));

            var actual = initializer.Create <MultipleConstructors>(parameters);

            actual.Should().BeEquivalentTo(expected);
        }