public void GetDishModelTest_ShouldReturnDishModelBackOfficeWithBaseLineNutritionFacts()
        {
            RestaurantModelBackOffice restBO = new RestaurantModelBackOffice();
            Dish dish = new Dish()
            {
                Name = "TempDish",
                Description = "description",
                Id = 1,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            dish.NutritionFacts.TotalCarbohydrate = 20;
            dish.BaseLineNutritionFacts.TotalCarbohydrate = 33;
            var dishModel = (DishModelBackOffice)restBO.GetDishModel(dish, "111", false, "he");

            Assert.IsNotNull(dishModel.BaseLineNutritionFacts);
            Assert.IsTrue(dishModel.BaseLineNutritionFacts.TotalCarbohydrate == 33);
        }
        public void GetDishModelTest_ShouldReturnDishModelBackOfficeIfCalledFromRestaurantModelBackOffice()
        {
            RestaurantModelBackOffice restBO = new RestaurantModelBackOffice();
            Dish dish = new Dish()
            {
                Name = "TempDish",
                Description = "description",
                Id = 1,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            dish.NutritionFacts.TotalCarbohydrate = 20;
            dish.BaseLineNutritionFacts.TotalCarbohydrate = 33;
            DishModel dishModel = restBO.GetDishModel(dish, "111", false, "he");

            var type = dishModel.GetType();
            Assert.IsTrue(type == typeof(DishModelBackOffice));
        }
        public void GetDishModelTest_ShouldReturnListOfDishModelBackOfficeIfCalledWithRestaurantModelBackOfficeParameter()
        {
            RestaurantModelBackOffice restBO = new RestaurantModelBackOffice();
            Dish dish1 = new Dish()
            {
                Name = "TempDish1",
                Description = "description",
                Id = 1,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            Dish dish2 = new Dish()
            {
                Name = "TempDish2",
                Description = "description",
                Id = 2,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            var dishList = new List<Dish>();
            dishList.Add(dish1);
            dishList.Add(dish2);

            List<DishModel> dishListModel = dishList.ToDishModel("111", 1, "he", restBO);

            foreach (DishModel dishModel in dishListModel)
            {
                Assert.IsTrue(dishModel.GetType() == typeof(DishModelBackOffice));
            }
        }
        public void GetDishModelTest_ShouldReturnRestaurantModelWithDishModelBackOfficeIfCalledWithRestaurantModelBackOfficeParameter()
        {
            Dish dish1 = new Dish()
            {
                Name = "TempDish1",
                Description = "description",
                Id = 1,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            Dish dish2 = new Dish()
            {
                Name = "TempDish2",
                Description = "description",
                Id = 2,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            Dish dish3 = new Dish()
            {
                Name = "TempDish3",
                Description = "description",
                Id = 3,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };
            Dish dish4 = new Dish()
            {
                Name = "TempDish4",
                Description = "description",
                Id = 4,
                NutritionFacts = new NutritionFacts(),
                BaseLineNutritionFacts = new NutritionFacts()
            };

            var dishList1 = new List<Dish>();
            dishList1.Add(dish1);
            dishList1.Add(dish2);
            var dishList2 = new List<Dish>();
            dishList2.Add(dish3);
            dishList2.Add(dish4);

            MenuPart menuPart1 = new MenuPart()
            {
                Name = "TestMenuPart",
                Id = 1,
                OrderBy = 1,
                Dishes = dishList1
            };
            MenuPart menuPart2 = new MenuPart()
            {
                Name = "TestMenuPart",
                Id = 2,
                OrderBy = 2,
                Dishes = dishList1
            };
            List<MenuPart> menuPartsList = new List<MenuPart>();
            menuPartsList.Add(menuPart1);
            menuPartsList.Add(menuPart2);
            Menu menu = new Menu();
            menu.MenuParts.Add(menuPart1);
            menu.MenuParts.Add(menuPart2);
            RestaurantBasicData restBasic = new RestaurantBasicData()
            {
                Name = "TestRest",
                Id = new ObjectId(),
                Menu = menu
            };

            RestaurantModelBackOffice restBO = new RestaurantModelBackOffice();
            var restModel = restBasic.ToRestaurantModel(true, "he", restBO);
            foreach (var menuPart in restModel.Menu.MenuParts)
            {
                foreach (DishModel dishModel in menuPart.Dishes)
                {
                    Assert.IsTrue(dishModel.GetType() == typeof(DishModelBackOffice));
                }
            }
        }