Esempio n. 1
0
        public void CategorysMarginCoefficient_Test()
        {
            // arrange
            double bun_margin_coefficient_expected   = 1.1;
            double bread_margin_coefficient_expected = 1.2;
            double loaf_margin_coefficient_expected  = 1.3;
            double bagel_margin_coefficient_expected = 1.4;
            double pita_margin_coefficient_expected  = 1.5;

            double delta = 0.1;

            // act
            Products bread = new Bread();
            Products bagel = new Bagel();
            Products bun   = new Bun();
            Products pita  = new Pita();
            Products loaf  = new Loaf();

            // assert
            Assert.AreEqual(bun_margin_coefficient_expected, bun.MarginCoefficient, delta);
            Assert.AreEqual(bread_margin_coefficient_expected, bread.MarginCoefficient, delta);
            Assert.AreEqual(loaf_margin_coefficient_expected, loaf.MarginCoefficient, delta);
            Assert.AreEqual(bagel_margin_coefficient_expected, bagel.MarginCoefficient, delta);
            Assert.AreEqual(pita_margin_coefficient_expected, pita.MarginCoefficient, delta);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            BurgerMaster burgerMaster = new BurgerMaster();

            var stopwatch = new System.Diagnostics.Stopwatch();

            stopwatch.Start();

            Task <Patty> pattyTask   = burgerMaster.CookPattyAsync();
            var          friesTask   = burgerMaster.FryFriesAsync();
            var          produceTask = burgerMaster.ChopProduceAsync();
            var          bunTask     = burgerMaster.ToastBunAsync();

            // Cook patty
            Patty patty = pattyTask.Result;

            // Fry some fries
            Fries fries = friesTask.Result;

            // Chop some veggies
            Produce produce = produceTask.Result;

            // Toasted bun
            Bun bun = bunTask.Result;

            // Assemble burger
            Burger burger = burgerMaster.AssembleBurger();

            stopwatch.Stop();
            Console.WriteLine(stopwatch.ElapsedMilliseconds);
            Console.ReadKey();
        }
Esempio n. 3
0
        public async Task <Bun> CreateBun(Bun bun)
        {
            await _bunDbContext.Buns.AddAsync(bun);

            await _bunDbContext.SaveChangesAsync();

            return(bun);
        }
Esempio n. 4
0
        BasicBurger()
        {
            basicBurger = new List<IngredientList>();
            Patty patty = new Patty();
            Bun bun = new Bun();

            basicBurger.Add(bun);
            basicBurger.Add(patty);
        }
Esempio n. 5
0
        public ActionResult MakeABurger(MakeABurgerPostViewModel makeABurgerPostViewModel)
        {
            User currentUserDb = userRepository.GetAll(x => x.Id == LoginUserSession.Current.UserId).FirstOrDefault();

            if (!ModelState.IsValid)
            {
                TempData["ErrorMessage"] = ModelState.Where(x => x.Value.Errors.Count > 0).FirstOrDefault().Value.Errors.FirstOrDefault().ErrorMessage;
                return(Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString()));
            }
            if (currentUserDb == null)
            {
                return(RedirectToAction("Login", "Home"));
            }
            if (makeABurgerPostViewModel.ChosenBunId <= 0)
            {
                TempData["ErrorMessage"] = "Please select a bun type";
                return(Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString()));
            }
            if (makeABurgerPostViewModel.ChosenIngredientsIds.Count == 0)
            {
                TempData["ErrorMessage"] = "Please select at least 1 ingredient for the burger";
                return(Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString()));
            }
            if (currentUserDb.Burgers.Any(x => x.Name == makeABurgerPostViewModel.BurgerName))
            {
                TempData["ErrorMessage"] = "You have already created a burger with this name!";
                return(Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString()));
            }

            List <Ingredient> chosenIngredients = new List <Ingredient>();

            makeABurgerPostViewModel.ChosenIngredientsIds.ForEach(x => chosenIngredients.Add(ingredientRepository.GetAll(c => c.Id == x).FirstOrDefault()));
            Bun chosenBun = bunRepository.GetAll(x => x.Id == makeABurgerPostViewModel.ChosenBunId).FirstOrDefault();

            currentUserDb.Burgers.Add(new Burger
            {
                Name        = makeABurgerPostViewModel.BurgerName,
                Ingredients = chosenIngredients,
                Bun         = chosenBun
            });

            bool isSaved = dbContext.SaveChanges() > 0;

            if (isSaved)
            {
                TempData["SuccessMessage"] = "Burger created successfully";
            }
            else
            {
                TempData["ErrorMessage"] = "Ooops something went wrong";
            }
            return(Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString()));
        }
Esempio n. 6
0
    public static IBunFactory GetFactory(Bun bun)
    {
        switch (bun)
        {
        case Bun.Coin:
            return(new CoinFactory());

        case Bun.Bomb:
            return(new BombFactory());

        case Bun.Flask:
            return(new FlaskFactory());

        default:
            return(new UknownBunFactory());
        }
    }
Esempio n. 7
0
    bool checkBunInBounds(Bun bunToCheck)
    {
        Vector2 bunPoint;

        bunPoint = bunToCheck.transform.position;

        if (shapeCollider.bounds.Contains(bunPoint))
        {
            Debug.Log("Bounds contain the point : " + bunPoint);
            return(true);
        }
        else
        {
            Debug.Log("Bounds DO NOT contain the point : " + bunPoint);
            return(false);
        }
    }
Esempio n. 8
0
        public void Run()
        {
            BurgerMaster burgerMaster = new BurgerMaster();

            Patty patty = burgerMaster.CookPatty();

            Console.WriteLine("Patty Done");
            Fries fries = burgerMaster.FryFries();

            Console.WriteLine("Fries Done");
            Bun bun = burgerMaster.ToastBun();

            Console.WriteLine("Bun Toasted");
            Produce produce = burgerMaster.ChopProduce();

            Console.WriteLine("Produce Chopped");

            burgerMaster.AssembleBurger();
            Console.WriteLine("Enjoy Burger");

            Console.ReadKey();
        }
Esempio n. 9
0
        /// <summary>
        /// Разобрать строку содержащую информацию о категории
        /// </summary>
        /// <param name="input_string">Строка с информацией о категории</param>
        /// <param name="is_ok">Ссылка на переменную, указывающую на успешный разбор строки</param>
        /// <returns>Возвращает Products</returns>
        static Products ParseCategory(string input_string, ref bool is_ok)
        {
            //Формат
            //"category : CategoryName = Bread, ProductName = Волотовской, Quantity = 10;"

            Products product     = new Bread();
            int      positions   = input_string.LastIndexOf(':');//Определяем позицию после двоеточия
            string   edit_string = input_string.Substring(positions + 1);

            //Разбиваем строку на массив строк
            string[] string_array = edit_string.Split(',', StringSplitOptions.RemoveEmptyEntries);

            //Определяем категорию к которой относится продукция
            foreach (var item in string_array)
            {
                //ищем
                if (item.IndexOf("CategoryName") == -1) //не существует, ищем дальше
                {
                    continue;
                }
                //Нашли, получаем параметры
                string[] parameter;

                parameter = item.Split(new char[] { '=' }); //Разбиваем параметр на 2 части
                if (parameter.Length < 2)                   //Проверяем длину
                {
                    is_ok = false;
                    return(product);
                }
                string type     = parameter[0];
                string category = parameter[1];

                //Проверяем, определена ли данная категория
                if (Products.CategoryIsExcist(category) == false)
                {
                    is_ok = false;
                    return(product);
                }
                else
                {
                    switch (category)
                    {
                    case Products.CATEGORY_BREAD:
                        product = new Bread();
                        break;

                    case Products.CATEGORY_LOAF:
                        product = new Loaf();
                        break;

                    case Products.CATEGORY_BAGEL:
                        product = new Bagel();
                        break;

                    case Products.CATEGORY_BUN:
                        product = new Bun();
                        break;

                    case Products.CATEGORY_PITA:
                        product = new Pita();
                        break;
                    }

                    break;//Выходим из цикла foreach
                }
            }


            //Получаем остальные параметры
            foreach (var item in string_array)
            {
                string[] parameter;

                parameter = item.Split(new char[] { '=' }); //Разбиваем параметр на 2 части
                if (parameter.Length < 2)                   //Проверяем длину
                {
                    continue;
                }
                string type      = parameter[0];
                string str_value = parameter[1];
                double value;

                switch (type)
                {
                case "ProductName":     //Наименование продукции
                    try
                    {
                        product.ProductName = str_value;
                    }
                    catch
                    {
                        product.ProductName = "";
                    }
                    break;

                case "Quantity":     //Количество
                    double.TryParse(string.Join("", str_value.Where(c => char.IsDigit(c))), out value);
                    try
                    {
                        str_value = str_value.Replace('.', ',');
                        double.TryParse(str_value, out value);
                        product.Quantity = value;
                    }
                    catch
                    {
                        product.Quantity = 0;
                    }
                    break;


                case "CategoryName":    //Наименование категории
                    try
                    {
                        product.CategoryName = str_value;
                    }
                    catch
                    {
                        product.CategoryName = "";
                    }
                    break;
                }
            }
            is_ok = true;
            return(product);
        }
Esempio n. 10
0
 public void AddBun(Bun NewBun)
 {
     herd.Add(NewBun);
 }
Esempio n. 11
0
 public BunDog(HotDog hotdog, Bun bun)
     : base(hotdog.Name + " " + bun.ToString(), hotdog)
 {
     this.bun = bun;
 }