示例#1
0
        public void PanelHouseIsNotModified()
        {
            string constState = "Панельный дом построен";
            House  house      = new PanelHouse();
            string result;

            result = house.State;

            Assert.AreEqual(constState, result);
        }
示例#2
0
        public void PanelHouseBuildAreEqual()
        {
            int    stages      = 16;
            double longitude   = 0.1;
            double latitude    = 0.1;
            string constResult = string.Format("Построен панельный дом {0} этажей; координаты - {1} широты, {2} долготы.", stages, longitude, latitude);
            House  house       = new PanelHouse();
            string result;

            result = house.Build(longitude, latitude);

            Assert.AreEqual(constResult, result);
        }
示例#3
0
            public IHouse GetHouse(HouseType type)
            {
                if (_houses.ContainsKey(type))
                {
                    return(_houses[type]);
                }

                switch (type)
                {
                case HouseType.Panel: _houses[type] = new PanelHouse(); break;

                case HouseType.Brick: _houses[type] = new BrickHouse(); break;
                }

                return(_houses[type]);
            }
示例#4
0
        public IHouseFlyweight GetHouseByType(string type)
        {
            IHouseFlyweight house = _houses.GetValueOrDefault(type);

            if (house == null)
            {
                switch (type)
                {
                case "Brick":
                    Console.WriteLine("Add brick house...");
                    house = new BrickHouse();
                    break;

                case "Panel":
                    Console.WriteLine("Add panel house...");
                    house = new PanelHouse();
                    break;
                }

                _houses.Add(type, house);
            }

            return(house);
        }