예제 #1
0
        public static FactoryPattern.PiggyGonzales CreateAPiggyGonzales(PiggyGonzalesType type)
        {
            FactoryPattern.PiggyGonzales piggyGonzales = null;
            switch (type)
            {
            case PiggyGonzalesType.Small:
                piggyGonzales = new SmallPiggyGonzales {
                    Name = "Small PiggyGonzales"
                };
                break;

            case PiggyGonzalesType.Medium:
                piggyGonzales = new MediumPiggyGonzales {
                    Name = "Medium PiggyGonzales"
                };
                break;

            case PiggyGonzalesType.Large:
                piggyGonzales = new LargePiggyGonzales {
                    Name = "Large PiggyGonzales"
                };
                break;
            }

            return(piggyGonzales);
        }
        public void CreateAPiggyGonzales_ReturnsACorrectTypeOfPiggyGonzales(PiggyGonzalesType type, PiggyGonzales.FactoryPattern.PiggyGonzales expected)
        {
            var actual = PiggyGonzalesFactory.CreateAPiggyGonzales(type);

            Assert.Same(expected.Name, actual.Name);
        }