public OperatorMap FindOperatorMapsByRestName(RestaurantBasicData rest) { var namesWordsArray = rest.Name == null ? new string[] { } : Regex.Split(rest.Name, @"\W+"); //var namesWordsArray = rest.Name == null ? new string[] { } : Regex.Split(rest.Name, @"(\w+'\w+)|(\W)"); List<string> restNameWords = new List<string>(namesWordsArray); var descWordsArray = rest.Description == null ? new string[] { } : Regex.Split(rest.Description, @"\W+"); //var descWordsArray = rest.Description == null ? new string[] { } : Regex.Split(rest.Description, @"(\w+'\w+)|(\W)"); List<string> restDescriptionWords = new List<string>(descWordsArray); var allWords = restNameWords.Union(restDescriptionWords); List<OperatorMap> returnedOperators = new List<OperatorMap>(); foreach (string word in allWords) { if (word.Length > 3) { var foundOperator = OperatorMapSearch(word); if (foundOperator != null) { returnedOperators.Add(foundOperator); } } } if (returnedOperators.Count == 0) return null; if (returnedOperators.Count > 1) log.WarnFormat("[FindOperatorMapsByRestName] Warning: Count of found operatorMaps is > 1."); return returnedOperators[0]; }
public void CuisineMapSearchTest_IfRestCuisineContainsSimbols_ShouldTryToSplitCuisineToListAndFindAllCuisines() { RestaurantBasicData rest1 = new RestaurantBasicData() { Cuisine = "Falafel/Hummus" }; RestaurantBasicData rest2 = new RestaurantBasicData() { Cuisine = "ice_cream;pizza;yogurt" }; RestaurantBasicData rest3 = new RestaurantBasicData() { Cuisine = "fish, meat", Cuisines = new List<string>() { "meat" } }; //Act var result1 = cuisineServices.CuisineMapSearch(rest1); var result2 = cuisineServices.CuisineMapSearch(rest2); var result3 = cuisineServices.CuisineMapSearch(rest3); //Assert Assert.IsNotNull(result1); Assert.IsNotNull(result2); Assert.IsNotNull(result3); Assert.IsTrue(result1.Count == 2); Assert.IsTrue(result2.Count == 2); Assert.IsTrue(result3.Count == 2); }
public void GetCuisines_ShoulfUpdateCuisinesListInRestaurant() { ClassifyResult result1 = new ClassifyResult() { Result = "falafel", Propability = 0.86 }; ClassifyResult result2 = new ClassifyResult() { Result = "shawarma", Propability = 0.74 }; List<ClassifyResult> restultsList = new List<ClassifyResult>(){ result1, result2 }; RestaurantBasicData rest = new RestaurantBasicData() { Name = "Test restaurant" }; GetCuisinesByClassifierResults getCuisines = new GetCuisinesByClassifierResults(rest, restultsList); var resultRest = getCuisines.GetCuisines(); Assert.IsNotNull(resultRest.Cuisines); Assert.IsNotNull(rest.Cuisines); Assert.IsTrue(resultRest.Cuisines.Count == 2); Assert.IsTrue(rest.Cuisines.Count == 2); }
/// <summary> /// Check each OperatorMap name if containes in part of Restaurant Name or Description /// </summary> /// <param name="rest"></param> /// <returns></returns> public List<OperatorMap> FindOperatorMapByPartOfName(RestaurantBasicData rest) { string restName = rest.Name != null ? rest.Name : ""; string restDescription = rest.Description != null ? rest.Description : ""; if (restName != "") { List<OperatorMap> returnList = new List<OperatorMap>(); List<OperatorMap> allOperatorMaps = GetAllOperatorMaps(); if (allOperatorMaps != null) { foreach (var OperatorMap in allOperatorMaps) { foreach (var OperatorName in OperatorMap.NamesList) { if (restName.IndexOf(OperatorName, StringComparison.OrdinalIgnoreCase) >= 0 || restDescription.IndexOf(OperatorName, StringComparison.OrdinalIgnoreCase) >= 0) { if (!returnList.Any(c => c.Name == OperatorMap.Name)) returnList.Add(OperatorMap); } } } } return returnList; } return null; }
public static string BuildSearchQueryString(RestaurantBasicData rest) { string query = ""; if (!string.IsNullOrEmpty(rest.Name)) query += rest.Name; if (rest.Adress != null && !string.IsNullOrEmpty(rest.Adress.City)) query += " " + rest.Adress.City; query += " סיווג"; string returnStr = query.Replace(".", string.Empty); return returnStr; }
/// <summary> /// Build query with BuildSearchQueryString function and execute google Custom Search /// </summary> /// <param name="rest"></param> /// <param name="withRestaurantUpdate"> bool parameter for save results in Restaurants DB</param> /// <returns></returns> public List<WebSearchResult> GoogleSearchRestaurantDescription(RestaurantBasicData rest, bool withRestaurantUpdate = false) { string query = BuildSearchQueryString(rest); var searchResults = searchUtilities.SearchQuery(query); if (searchResults != null && withRestaurantUpdate) { AddSearchToRestaurant(rest, searchResults); } return searchResults; }
public bool CheckForCorrectChainMenu(RestaurantBasicData rest) { if (rest != null) { if (rest.Menu != null && rest.Menu.MenuParts.Count > 2) { return true; } } return false; }
private void AddSearchToRestaurant(RestaurantBasicData rest, List<WebSearchResult> searchResults) { if (searchResults != null) { rest.SearchResults = new List<WebSearchResult>(); rest.SearchResults = searchResults; m_serviceLayer.UpdateRestaurant(rest); } else { log.WarnFormat("[AddSearchToRestaurant] SearchResults is null, rest.Name={0}, rest.Description={1}, rest.Description={2}.", rest.Name, rest.Description, rest.Id.ToString()); } }
public RestaurantInfoClassificator(RestaurantBasicData rest, string classifierName) { if (rest == null) throw new ArgumentException("Can't create RestaurantInfoClassificator: Source cannot be null."); if (string.IsNullOrEmpty(rest.Name)) throw new ArgumentException("Can't create RestaurantInfoClassificator: Restaurant Name cannot be null or empty."); if (string.IsNullOrEmpty(classifierName)) throw new ArgumentException("Can't create RestaurantInfoClassificator: classifierName cannot be null or empty."); log.DebugFormat("[RestaurantInfoClassificator] Constructor: rest.Name={0}, rest.Id={1}, classifierName={2}.", rest.Name, rest.Id.ToString(), classifierName); restaurant = rest; classifyQuery = new RestaurantQueryPattern(restaurant); this.classifier = classifierName; }
public void CuisineMapSearchTest_IfRestHasListOfCuisines_ShouldReturnListOfCuisine_WithoutDuplicates() { var rest1 = new RestaurantBasicData() { Cuisine = "italian", Cuisines = new List<string>() { "italian", "pizza", "drinks", "drinks" } }; //Act var result1 = cuisineServices.CuisineMapSearch(rest1); //Assert Assert.IsNotNull(result1); Assert.IsTrue(result1.Count == 3); }
/// <summary> /// Build query with BuildSearchQueryString function and execute google Custom Search /// </summary> /// <param name="rest"></param> /// <param name="withRestaurantUpdate"> bool parameter for save results in Restaurants DB</param> /// <returns></returns> public List<WebSearchResult> GoogleSearchRestaurantDescription(RestaurantBasicData rest) { try { string query = BuildSearchQuery.BuildSearchQueryString(rest); var searchResults = utilities.SearchQuery(query); string searchResultsCount = searchResults != null ? searchResults.Count.ToString() : "0"; log.DebugFormat("[GoogleSearchRestaurantDescription] rest.Name={0}, rest.Id={1}, query={2}, searchResults.Count={3}.", rest.Name, rest.Id.ToString(), query, searchResultsCount); return searchResults; } catch (Exception e) { log.ErrorFormat("[GoogleSearchRestaurantDescription] Exception={0}.", e.Message); return null; } }
//public List<ClassifyResult> bestResults { get; private set; } //private WebSearchResult bestSearchResult{ get; set; } public SearchEngineResultClassificator(RestaurantBasicData rest, string classifierName) { if (rest == null) throw new ArgumentException("Can't create SearchEngineResultClassificator: Source cannot be null."); if (string.IsNullOrEmpty(rest.Name)) throw new ArgumentException("Can't create SearchEngineResultClassificator: Restaurant Name cannot be null or empty."); if (string.IsNullOrEmpty(classifierName)) throw new ArgumentException("Can't create SearchEngineResultClassificator: classifierName cannot be null or empty."); log.DebugFormat("[SearchEngineResultClassificator] Constructor: rest.Name={0}, rest.Id={1}, classifierName={2}.", rest.Name, rest.Id.ToString(), classifierName); restaurant = rest; classifyQuery = new RestaurantQueryPattern(rest); searchQuery = BuildSearchQuery.BuildSearchQueryString(rest); classifier = classifierName; classificationResults = new List<WebSearchClassifyResult>(); }
public void ClassifyTest_ShouldReturnNotEmptyResults() { RestaurantBasicData rest = new RestaurantBasicData() { Name = "פלאפל ג'ינה", Adress = new Address() { City = "תל אביב" } }; string classifierName = "CuisinesSupervised1"; SearchEngineResultClassificator searchClassifier = new SearchEngineResultClassificator(rest, classifierName); //act var results = searchClassifier.Classify(); //Assert Assert.IsNotNull(results); }
public void ClassifyTest_ShoulfExecuteClassificationAndReceiveResults_ResultsShoudBeNotNull() { RestaurantBasicData rest = new RestaurantBasicData() { Name = "Test restaurant", Description = "falafel", Id = new MongoDB.Bson.ObjectId() }; string classifierName = "CuisinesSupervised1"; //act RestaurantInfoClassificator restInfoClass = new RestaurantInfoClassificator(rest, classifierName); List<ClassifyResult> results = restInfoClass.Classify(); //Assert Assert.IsNotNull(results); //Assert.IsFalse(results.Any(r => r.Propability <= 0.5)); }
public static void Update(RestaurantBasicData restaurant) { log.DebugFormat("[UpdateRestaurant(RestaurantBasicData)] RestaurantBasicData={0}.", restaurant.ToString()); restaurant.UpdatedAt = DateTime.UtcNow; if (restaurant.Image == null) { RestaurantBasicData previousRest = GetRestaurantBasic.GetById(restaurant.Id.ToString()); if (previousRest.Image != null) { restaurant.Image = previousRest.Image; } } using (Restaurants restaurantsDb = new Restaurants()) { MongoEntityRepositoryBase<RestaurantBasicData> basicData = new MongoEntityRepositoryBase<RestaurantBasicData>(restaurantsDb.DB); basicData.Update(restaurant); } }
public TestRestaurants() { RestaurantBasicData rest1 = new RestaurantBasicData() { Name = "עצל רוני", Description = "פלאפל", Adress = new Address(){ City = "נתניה" } }; RestaurantBasicData rest2 = new RestaurantBasicData() { Name = "BBB", Description = "בורגרים", Adress = new Address() { City = "נתניה" } }; RestaurantBasicData rest3 = new RestaurantBasicData() { Name = "חסן", Description = "שווארמה", Adress = new Address() { City = "נתניה" } }; RestaurantBasicData rest4 = new RestaurantBasicData() { Name = "רובינשטיין", Adress = new Address() { City = "נתניה" } }; RestaurantBasicData rest5 = new RestaurantBasicData() { Name = "דבוש", Adress = new Address() { City = "תל אביב" } }; restaurantsList = new List<RestaurantBasicData>(){ rest1, rest2, rest3, rest4, rest5 }; }
public void TestSaveImage_RestaurantImageDataShouldBeSavedInFile() { //Arrange var newFileName = @"C:\Users\Vadik\Dropbox\Work\Downloaded_AlGauchoIcon.jpg"; ImageData imageData = new ImageData(); //Dish dishWithImages = new Dish(); RestaurantBasicData restaurantWithImage = new RestaurantBasicData(); MongoGridFSFileInfo uploadedFile; using (var fs = new FileStream(fileName, FileMode.Open)) { uploadedFile = restaurantWithImage.UploadImageToRestaurant(m_Testdb.GridFS, fs, fileName, fileContentType); } //act //save image to file var file = m_Testdb.GridFS.FindOne(Query.EQ("_id", restaurantWithImage.Image.Id)); using (var stream = file.OpenRead()) { var bytes = new byte[stream.Length]; stream.Read(bytes, 0, (int)stream.Length); using (var newFs = new FileStream(newFileName, FileMode.Create)) { newFs.Write(bytes, 0, bytes.Length); } } //open source and saved files var source = new FileStream(fileName, FileMode.Open); var savedFile = new FileStream(newFileName, FileMode.Open); //assert Assert.AreEqual(source.Length, savedFile.Length); }
public RestaurantQueryPattern(RestaurantBasicData restData) { if (restData.Name != null) this.Name = restData.Name; if (restData.Description != null) this.Description = restData.Description; }
public void AddDefaultMenuToRestaurant(RestaurantBasicData rest) { try { if (rest != null) { string cuisinesList = rest.Cuisines != null ? String.Join(", ", rest.Cuisines.ToArray()) : "Empty"; var TempMenus = GetDefaultMenusList(rest); if (TempMenus != null && TempMenus.Count > 0) { ServiceLayerImpl serviceLayer = new ServiceLayerImpl(); rest.Menu = CombineMenus(TempMenus); log.InfoFormat("[AddDefaultMenuToRestaurant] Found default Menu for rest.Name={0}, rest.Id={1}, Cuisines List={2}.", rest.Name, rest.Id.ToString(), cuisinesList); rest.UpdateDishesLocation(); serviceLayer.UpdateRestaurant(rest); } else { log.InfoFormat("[AddDefaultMenuToRestaurant] Not found default Menu for rest.Name={0}, rest.Id={1}, Cuisines List={2}.", rest.Name, rest.Id.ToString(), cuisinesList); } } else { log.WarnFormat("[AddDefaultMenuToRestaurant] input restayrant is null."); } } catch (Exception e) { log.ErrorFormat("[AddDefaultMenuToRest] Exception={0}.", e.Message); } }
public List<Menu> GetDefaultMenusList(RestaurantBasicData rest) { List<Menu> menusList = new List<Menu>(); if (rest.Cuisines != null && rest.Cuisines.Count > 0) { List<string> cuisinesList = new List<string>(); if (rest.Source != null && rest.Source.IndexOf("BackOffice", StringComparison.OrdinalIgnoreCase) >= 0) cuisinesList = rest.Cuisines; else { cuisinesList = CheckCuisineSafety(rest.Cuisines); } Menu tempMenu = GetDefaultMenuFromCuisinesList(cuisinesList); if (tempMenu != null && tempMenu.MenuParts != null && tempMenu.MenuParts.Count > 0) menusList.Add(tempMenu); } if(menusList.Count > 0) return menusList; return null; }
public void TestSaveRestaurant() { //arrange MongoEntityRepositoryBase<RestaurantBasicData> mongoRepository = new MongoEntityRepositoryBase<RestaurantBasicData>(m_Testdb); RestaurantBasicData someTestyRestaurnat = new RestaurantBasicData() { Description = "משהו בעברית וארווווווווווווך", //Id = Guid.NewGuid().ToString(), ItemLocation = new Location() { Latitude = 1.001, Longitude = 2.001 }, MappedState = new SuspiciousState() { Index = 100 }, Name = "מסעדת רן ודניאל", }; //Act try { mongoRepository.Add(someTestyRestaurnat); } catch (Exception ex) { Assert.Fail("oops, can't save", ex); } //Assert //If we got here everything is ok. }
public void TestMenuClone_shouldCloneFullMenuFromOtheRestaurantAndInsteadOldMenu_OldMenuDeletted() { //arrange RestaurantBasicData restaurant1 = new RestaurantBasicData() { //arrange Id = ObjectId.Parse("50ae8b2a3720e80d085376db"), ItemLocation = new Location() { Latitude = 32.279296, Longitude = 34.860367 }, Menu = new Menu() }; RestaurantBasicData restaurant2 = new RestaurantBasicData() { //arrange Id = ObjectId.Parse("507d8f943720e807c045c442"), ItemLocation = new Location() { Latitude = 32, Longitude = 31 }, Menu = new Menu() }; Dish dish1 = new Dish() { Id = 1, Description = "סלט ירקות עם חתיכות חזה עוף", DishState = DishStateEnum.Active, Name = "סלט קיסר", NutritionFacts = new NutritionFacts(), ItemLocation = new Location() { Latitude = 30, Longitude = 27 }, ImageUrl = "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRqKcIkvCQDkCNQkXq0TWtiqRSF5ryYK7NYB79ZBVebpjKBVPcA", IsItPublic = true, MappedState = new SuspiciousState() { Index = 7.77 }, RecipeId = 10, State = new SuspiciousState() { Index = 7.77 }, OverrideIngredients = new List<Ingredient>() }; Dish dish2 = new Dish() { Id = 3, Description = "שניצל מוגש עם צ'יפס", DishState = DishStateEnum.Active, Name = "שניצל", NutritionFacts = new NutritionFacts(), ItemLocation = new Location() { Latitude = 31, Longitude = 29 }, ImageUrl = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQX5WBzP336hF8Q0FQpk5TdX8m7GI7ymVqJMtyrzSA3afEkqfU8CA", IsItPublic = true, MappedState = new SuspiciousState() { Index = 8.88 }, RecipeId = 28, State = new SuspiciousState() { Index = 8.88 }, OverrideIngredients = new List<Ingredient>() }; Dish dish3 = new Dish() { Id = 15, Description = "המבורגר 220גר עם צ'יפס בצד", DishState = DishStateEnum.Active, Name = "המבורגר", NutritionFacts = new NutritionFacts(), ItemLocation = new Location() { Latitude = 32, Longitude = 30 }, ImageUrl = "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTmEsDLKjW9dj_Vl8SMdESJkTBGncjY5QDt0sqK77txEUwSi2RzUA", IsItPublic = true, MappedState = new SuspiciousState() { Index = 50 }, RecipeId = 169, State = new SuspiciousState() { Index = 50 }, OverrideIngredients = new List<Ingredient>() }; Dish dish4 = new Dish() { Id = 4, Description = "חזה עך עם תוספת", DishState = DishStateEnum.Active, Name = "חזה עוף", NutritionFacts = new NutritionFacts(), ItemLocation = new Location() { Latitude = 32.89654, Longitude = 31.321 }, IsItPublic = true, MappedState = new SuspiciousState() { Index = 45.5 }, RecipeId = 169, State = new SuspiciousState() { Index = 45.5 }, OverrideIngredients = new List<Ingredient>() }; MenuPart menuPart1 = new MenuPart() { Name = "עיקריות" }; MenuPart menuPart2 = new MenuPart() { Name = "עיקריות" }; menuPart1.Dishes.Add(dish1); menuPart1.Dishes.Add(dish2); menuPart1.Dishes.Add(dish3); menuPart2.Dishes.Add(dish4); restaurant1.Menu.MenuParts.Add(menuPart1); restaurant2.Menu.MenuParts.Add(menuPart2); //act restaurant2.MenuClone(restaurant1); //assert Assert.IsNull(restaurant2.Menu.MenuParts[0].Dishes.FirstOrDefault(d => d.Name=="חזה עוף")); foreach (var dish in restaurant1.Menu.MenuParts[0].Dishes) { Assert.IsNotNull(restaurant2.Menu.MenuParts[0].Dishes.FirstOrDefault(d => d.Name == dish.Name)); } foreach (var dish in restaurant2.Menu.MenuParts[0].Dishes) { Assert.AreEqual(dish.ItemLocation, restaurant2.ItemLocation); } }
public void MenuClone(RestaurantBasicData restCopyFrom) { this.Menu = restCopyFrom.Menu; this.UpdateDishesLocation(); }
private List<BaseSearchableEnabledItem> GetMockedSearchableItems() { Random rand = new Random(); List<BaseSearchableEnabledItem> returnValue = new List<BaseSearchableEnabledItem>(); for (int i = 0; i < 9; i++) { RestaurantBasicData searchableItem = new RestaurantBasicData() { Description = "תיאור ממצא ואינפורמטיבי " + i, Name = "מסעדה מס " + i, MappedState = new SuspiciousState(), ItemLocation = new Location() { Latitude = 32.089119 + (rand.NextDouble() - 0.5) / 100, Longitude = 34.873928 + (rand.NextDouble() - 0.5) / 200 }, // Deep-Systems office., Image = new ImageData(), }; returnValue.Add(searchableItem); } return returnValue; }
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)); } } }
public RestaurantTrainPattern(RestaurantBasicData restData) { if (restData.Name != null) this.Name = restData.Name; if (restData.Description != null) this.Description = restData.Description; if (restData.Cuisines != null) this.Cuisines = restData.Cuisines; }
public void TestGetRestourantData_should_retun_same() { //arrange MongoEntityRepositoryBase<RestaurantBasicData> mongoRepository = new MongoEntityRepositoryBase<RestaurantBasicData>(m_Testdb); RestaurantBasicData someTestyRestaurnat = new RestaurantBasicData() { Description = "משהו בעברית וארווווווווווווך", //Id = Guid.NewGuid().ToString(), ItemLocation = new Location() { Latitude = 1.001, Longitude = 2.001 }, MappedState = new SuspiciousState() { Index = 100 }, Name = "מסעדת רן ודניאל", }; //Act mongoRepository.Add(someTestyRestaurnat); var fetchedOne = mongoRepository.GetSingle(someTestyRestaurnat.Id); //Assert Assert.IsNotNull(fetchedOne); Assert.AreEqual(someTestyRestaurnat.Id, fetchedOne.Id); }
public void TestUpdateDishesLocation_shouldChangeLocationOfAllDishesToRestaurantLocation() { RestaurantBasicData restaurant = new RestaurantBasicData() { //arrange Id = ObjectId.Parse("50ae8b2a3720e80d085376db"), ItemLocation = new Location() { Latitude = 32.279296, Longitude = 34.860367 }, Menu = new Menu() }; Dish dish1 = new Dish() { Id = 1, Description = "סלט ירקות עם חתיכות חזה עוף", DishState = DishStateEnum.Active, Name = "סלט קיסר", NutritionFacts = new NutritionFacts(), ItemLocation = new Location() { Latitude = 30, Longitude = 27 }, ImageUrl = "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRqKcIkvCQDkCNQkXq0TWtiqRSF5ryYK7NYB79ZBVebpjKBVPcA", IsItPublic = true, MappedState = new SuspiciousState() { Index = 7.77 }, RecipeId = 10, State = new SuspiciousState() { Index = 7.77 }, OverrideIngredients = new List<Ingredient>() }; Dish dish2 = new Dish() { Id = 3, Description = "שניצל מוגש עם צ'יפס", DishState = DishStateEnum.Active, Name = "שניצל", NutritionFacts = new NutritionFacts(), ItemLocation = new Location() { Latitude = 31, Longitude = 29 }, ImageUrl = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQX5WBzP336hF8Q0FQpk5TdX8m7GI7ymVqJMtyrzSA3afEkqfU8CA", IsItPublic = true, MappedState = new SuspiciousState() { Index = 8.88 }, RecipeId = 28, State = new SuspiciousState() { Index = 8.88 }, OverrideIngredients = new List<Ingredient>() }; Dish dish3 = new Dish() { Id = 15, Description = "המבורגר 220גר עם צ'יפס בצד", DishState = DishStateEnum.Active, Name = "המבורגר", NutritionFacts = new NutritionFacts(), ItemLocation = new Location() { Latitude = 32, Longitude = 30 }, ImageUrl = "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTmEsDLKjW9dj_Vl8SMdESJkTBGncjY5QDt0sqK77txEUwSi2RzUA", IsItPublic = true, MappedState = new SuspiciousState() { Index = 50 }, RecipeId = 169, State = new SuspiciousState() { Index = 50 }, OverrideIngredients = new List<Ingredient>() }; Dish dish4 = new Dish() { Id = 4, Description = "חזה עך עם תוספת", DishState = DishStateEnum.Active, Name = "חזה עוף", NutritionFacts = new NutritionFacts(), ItemLocation = new Location() { Latitude = 32.89654, Longitude = 31.321 }, IsItPublic = true, MappedState = new SuspiciousState() { Index = 45.5 }, RecipeId = 169, State = new SuspiciousState() { Index = 45.5 }, OverrideIngredients = new List<Ingredient>() }; MenuPart menuPart1 = new MenuPart(){Name = "עיקריות"}; menuPart1.Dishes.Add(dish1); menuPart1.Dishes.Add(dish2); menuPart1.Dishes.Add(dish3); MenuPart menuPart2 = new MenuPart(){Name = "מנה ראשונה"}; menuPart2.Dishes.Add(dish1); menuPart2.Dishes.Add(dish2); menuPart2.Dishes.Add(dish3); restaurant.Menu.MenuParts.Add(menuPart1); restaurant.Menu.MenuParts.Add(menuPart2); //act restaurant.UpdateDishesLocation(); //assert int dishCount = 0; foreach (var part in restaurant.Menu.MenuParts) { foreach (var dish in part.Dishes) { dishCount++; Assert.AreEqual(restaurant.ItemLocation, dish.ItemLocation); } } //Chech if all dishes saved Assert.AreEqual(dishCount, 6); }
private void AddRestourantToRepositary() { //arrange MongoEntityRepositoryBase<RestaurantBasicData> mongoRepository = new MongoEntityRepositoryBase<RestaurantBasicData>(m_Testdb); RestaurantBasicData someTestyRestaurnat = new RestaurantBasicData() { Description = "משהו בעברית וארווווווווווווך", //Id = Guid.NewGuid().ToString(), ItemLocation = new Location() { Latitude = 10.001, Longitude = 20.001 }, MappedState = new SuspiciousState() { Index = 100 }, Name = "מסעדת רן ודניאל", }; mongoRepository.Add(someTestyRestaurnat); }
//====================================================================================================== public DefaultMenuRestaurant ToDefaultMenuRestaurant(RestaurantBasicData rest) { if (rest != null) { log.InfoFormat("[ToDefaultMenuRestaurant] rest.Name={0}, rest.Id={1}.", rest.Name, rest.Id.ToString()); DefaultMenuRestaurant defaultMenuRest = new DefaultMenuRestaurant() { Id = new ObjectId(), Name = rest.Name, Description = rest.Description }; if (rest.Cuisine != null) defaultMenuRest.Cuisine = rest.Cuisine; if (rest.Cuisines != null && rest.Cuisines.Count > 0) defaultMenuRest.Cuisines = rest.Cuisines; if (rest.Operator != null && rest.Operator != "") defaultMenuRest.Operator = rest.Operator; if (rest.LocalizedName != null) defaultMenuRest.LocalizedName = rest.LocalizedName; if (rest.LocalizedDescription != null) defaultMenuRest.LocalizedDescription = rest.LocalizedDescription; if (rest.Menu != null && rest.Menu.MenuParts != null) defaultMenuRest.Menu = rest.Menu; if (rest.LogoUrl != null) defaultMenuRest.LogoUrl = rest.LogoUrl; if (rest.Image != null) defaultMenuRest.Image = rest.Image; if (rest.CreatedAt != null) defaultMenuRest.CreatedAt = rest.CreatedAt; if (rest.UpdatedAt != null) defaultMenuRest.UpdatedAt = rest.UpdatedAt; return defaultMenuRest; } else { log.ErrorFormat("[ToDefaultMenuRestaurant] rest=null."); return null; } }