public void FridgeSerializationTest() { //Getting user applicaitondata folder. string LocalAppDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); string programFolder = System.IO.Path.Combine(LocalAppDataPath, "Munchy"); //Data File Locations string userFile = System.IO.Path.Combine(programFolder, "USER.json"); string userFridgeFile = System.IO.Path.Combine(programFolder, "USER_FRIDGE.json"); string foodDefFile = System.IO.Path.Combine(programFolder, "FoodData.json"); string recipeDatabase = System.IO.Path.Combine(programFolder, "Recipes.json"); string recipeSaveFile = System.IO.Path.Combine(programFolder, "RecipeSavesFile.json"); string statSavePath = System.IO.Path.Combine(programFolder, "StatSavePath.json"); string m_ShoppingListFile = System.IO.Path.Combine(programFolder, "ShoppingList.json"); ProgramManager currentManager = new ProgramManager(userFile, userFridgeFile, recipeDatabase, foodDefFile, recipeSaveFile, statSavePath, m_ShoppingListFile); FoodDef milk = new FoodDef(); milk.USName = "milk"; milk.BGName = "мляко"; milk.USUOM = "Grams"; milk.BGUOM = "Грамове"; milk.SuggestedAmounts = new List <float> { 10, 20, 30, 40 }; milk.Protein = 10; milk.Sodium = 10; milk.Calories = 122; milk.Fat = 10; milk.Sugars = 10; milk.Carbs = 10; currentManager.UsersFridge.ClearFridge(); Assert.IsTrue(currentManager.UsersFridge.USUsersFoods.Count == 0); Assert.IsTrue(currentManager.UsersFridge.BGUserFoods.Count == 0); currentManager.UsersFridge.AddToFridge(milk); Assert.IsTrue(currentManager.UsersFridge.USUsersFoods.Count == 1); Assert.IsTrue(currentManager.UsersFridge.USUsersFoods.Count == 1); Dictionary <string, FoodDef> UserFoods = currentManager.UsersFridge.UsersFridge(); Assert.IsTrue(UserFoods.Count == currentManager.UsersFridge.USUsersFoods.Count); Assert.IsTrue(UserFoods[milk.USName.ToLower()].USName == currentManager.UsersFridge.USUsersFoods[milk.USName.ToLower()].USName); Assert.IsTrue(UserFoods[milk.USName.ToLower()].BGName == currentManager.UsersFridge.USUsersFoods[milk.USName.ToLower()].BGName); Assert.IsTrue(UserFoods[milk.USName.ToLower()].USUOM == currentManager.UsersFridge.USUsersFoods[milk.USName.ToLower()].USUOM); Assert.IsTrue(UserFoods[milk.USName.ToLower()].BGUOM == currentManager.UsersFridge.USUsersFoods[milk.USName.ToLower()].BGUOM); Assert.IsTrue(UserFoods[milk.USName.ToLower()].Protein == currentManager.UsersFridge.USUsersFoods[milk.USName.ToLower()].Protein); Assert.IsTrue(UserFoods[milk.USName.ToLower()].SuggestedAmounts[0] == currentManager.UsersFridge.USUsersFoods[milk.USName.ToLower()].SuggestedAmounts[0]); }
//Adds names of clicked name of food item in the suggested food items to add list.d private void Lb_SuggestedFoodsSelectionChanged(object sender, SelectionChangedEventArgs e) { if (Lb_SuggestFoodsToAdd.SelectedItem != null) { string foodItemToAdd = Lb_SuggestFoodsToAdd.SelectedItem.ToString().ToLower(); FoodDef foodToAdd = FoodList[foodItemToAdd]; US_IngredientInput.Text = Lb_SuggestFoodsToAdd.SelectedItem.ToString().ToLower(); BG_IngredientInput.Text = foodToAdd.BGName.ToLower(); } }
//Handles saving the newly created FooDef private void Btn_SaveFoodItem_Click(object sender, RoutedEventArgs e) { FoodDef NewFoodItem = new FoodDef(); if (!string.IsNullOrWhiteSpace(US_FoodName.Text)) { NewFoodItem.USName = US_FoodName.Text.ToLower(); } if (!string.IsNullOrWhiteSpace(BG_FoodName.Text)) { NewFoodItem.BGName = BG_FoodName.Text.ToLower(); } if (float.TryParse(tb_CalorieInput.Text, out float parsedValue)) { NewFoodItem.Calories = float.Parse(tb_CalorieInput.Text); } if (float.TryParse(tb_ProteinInput.Text, out float parsedValue1)) { NewFoodItem.Protein = float.Parse(tb_ProteinInput.Text); } if (float.TryParse(tb_FatInput.Text, out float parsedValue2)) { NewFoodItem.Fat = float.Parse(tb_FatInput.Text); } if (float.TryParse(tb_CarbInput.Text, out float parsedValue3)) { NewFoodItem.Carbs = float.Parse(tb_CarbInput.Text); } if (float.TryParse(tb_SugarInput.Text, out float parsedValue4)) { NewFoodItem.Sugars = float.Parse(tb_SugarInput.Text); } if (float.TryParse(tb_SodiumInput.Text, out float parsedValue5)) { NewFoodItem.Sodium = float.Parse(tb_SodiumInput.Text); } if (float.TryParse(Tb_DesityInput.Text, out float parsedValue6)) { NewFoodItem.FoodDensity = float.Parse(Tb_DesityInput.Text); } if (!string.IsNullOrWhiteSpace(US_UOMInput.Text)) { NewFoodItem.USUOM = US_UOMInput.Text; } if (!string.IsNullOrWhiteSpace(BG_UOMInput.Text)) { NewFoodItem.BGUOM = BG_UOMInput.Text; } if (SuggestedAmounts != null && SuggestedAmounts.Count > 0) { NewFoodItem.SuggestedAmounts = SuggestedAmounts; } if (NewFoodItem.USName != null) { FoodList.Add(NewFoodItem.USName.ToLower(), NewFoodItem); } SaveFoodList(); FoodList = GetFoodList(); BG_UOMInput.Clear(); US_UOMInput.Clear(); tb_CalorieInput.Clear(); tb_CarbInput.Clear(); tb_FatInput.Clear(); tb_ProteinInput.Clear(); tb_SodiumInput.Clear(); tb_SugarInput.Clear(); US_FoodName.Clear(); Lb_SuggestedAmounts.Items.Clear(); SuggestedAmounts = new List <float>(); BG_FoodName.Clear(); Lb_SuggestedAmounts.Items.Clear(); }