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); }
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); }
public void CreatePlayer(Vector3 position) { Initializer initialize = new Initializer(); CharactersBuilder builder = gameObject.AddComponent <PlayerCharactersBuilder>(); Characters cha = initialize.Create(builder, charactersPrefab, position); player = cha; }
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); }