Пример #1
0
        public override House makeHouse(string typeOfHouse)
        {
            House         myHouse   = null;
            IHouseBuilder myBuilder = null;

            if (typeOfHouse.Equals("Resident"))
            {
                myBuilder = new ResidentBuilder();
                myHouse   = new Resident(myBuilder);
                myHouse.setName("Resident House");
            }
            else if (typeOfHouse.Equals("Office"))
            {
                myBuilder = new OfficeBuilder();
                myHouse   = new Office(myBuilder);
                myHouse.setName("Office");
            }
            else if (typeOfHouse.Equals("Shop"))
            {
                myBuilder = new ShopBuilder();
                myHouse   = new Shop(myBuilder);
                myHouse.setName("Shop");
            }
            return(myHouse);
        }
Пример #2
0
        private static Shop CreateShop(XElement root, Uri baseUri)
        {
            var shopBuilder = new ShopBuilder(baseUri);

            new ItemsAssembler(root).AssembleItems().ToList().ForEach(item => shopBuilder.AddItem(item));
            new LinksAssembler(root).AssembleLinks().ToList().ForEach(link => shopBuilder.AddLink(link));
            new FormsAssembler(root, baseUri).AssembleForms().ToList().ForEach(form => shopBuilder.AddForm(form));

            return shopBuilder.Build();
        }
        public void WhenBuildingShop_WithLocationAndInventory_NameAndInventoryAreSet(
            string locationName,
            params string[] inventory
            )
        {
            var shop = new ShopBuilder()
                       .ForLocation(locationName)
                       .WithInventory(inventory)
                       .Build();

            shop.Name.Should().Be($"{locationName} Item Shop");
            shop.Inventory.Select(x => x.Name).Should().BeEquivalentTo(inventory);
        }