Exemple #1
0
    public Meeting(int number)
    {
        var humanFactory = new HumanFactory();

        Visitors = Enumerable.Range(1, number)
                   .Select(x => humanFactory.Create <T>())
                   .ToArray();
    }
Exemple #2
0
        public void T2_create_human_by_factory()
        {
            HumanFactory humanFactory = new HumanFactory();
            ICharacter   iCharacter   = humanFactory.Create("Jedusor", "Tom");

            iCharacter.Walk().Should().Be("Je marche !");
            iCharacter.GetLastName().Should().Be("Jedusor");
            iCharacter.GetFirstName().Should().Be("Tom");
        }
Exemple #3
0
        //首先有一个抽象的工厂,然后具体的工厂继承抽象工厂,实现
        //每一个工厂只用来生产一种产物
        //虽然上层还是new了对象 但是屏蔽了底层的业务类
        public static void Show()
        {
            IFactory human = new HumanFactory();

            human.Create();

            IFactory car = new CarFactory();

            car.Create();
        }
Exemple #4
0
        public void Create_ValidName_NewHuman()
        {
            // Arrange
            var personOneName = this.Faker.Name.FullName();
            var personTwoName = this.Faker.Name.FullName();

            // Act
            var personOne = HumanFactory.Create(personOneName);
            var personTwo = HumanFactory.Create(personTwoName);

            // Assert
            personOne.Should().NotBeNull();
            personOne.Id.Should().BeGreaterThan(0);
            personOne.Name.Should().NotBeNullOrWhiteSpace().And.Be(personOneName);

            personTwo.Should().NotBeNull();
            personTwo.Id.Should().BeGreaterThan(1);
            personTwo.Name.Should().NotBeNullOrWhiteSpace().And.Be(personTwoName);
        }