示例#1
0
        /// <summary>
        /// Recupere les 5 meilleurs recettes du meilleur cdr
        /// </summary>
        /// <param name="nb"></param>
        /// <returns></returns>
        private List <Recipe> GetTop5RecipesOfBestCdr(int nb = 5, bool ofWeek = false)
        {
            RecipeCreator bestCdr = GetTop5BestCDR(1, ofWeek).First(); // recupere le meilleur cdr
            DDB           ddb     = new DDB(User.DataBase, User.Username, User.Password);

            BestCDRAllTB.Text = ddb.SelectClient(new string[] { "numero" }, new string[] { $"'{bestCdr.Id}'" })[0].Name;
            List <Recipe> recipes = GetTop5Recipes(-1);                 // recupere les meilleurs recettes
            List <Recipe> top5RecipesOfBestCdr = new List <Recipe>();

            ddb.Close();

            nb = (nb == -1) ? recipes.Count() : nb;
            int cpt = 0;

            while (top5RecipesOfBestCdr.Count < nb && cpt < recipes.Count) // recupre les nb premieres
            {
                if (recipes[cpt].NumberCreator.Equals(bestCdr.Id))
                {
                    top5RecipesOfBestCdr.Add(recipes[cpt]);
                }

                cpt++;
            }

            return(top5RecipesOfBestCdr);
        }
示例#2
0
        private void ButtonRemove_Click(object sender, RoutedEventArgs e)
        {
            RecipeCreator recipeCreatorToRemove = (RecipeCreator)((Button)sender).Tag;

            ServiceRecipeCreator.Remove(recipeCreatorToRemove);
            RecipeCreators.Remove(recipeCreatorToRemove);
        }
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            ServiceRecipeCreator = new ServiceRecipeCreator();
            RecipeCreator recipeCreatorOfTheWeek = ServiceRecipeCreator.BestOfTheWeek();

            if (recipeCreatorOfTheWeek != null)
            {
                TextBlockRecipeCreatorOfTheWeek.Text         = recipeCreatorOfTheWeek.Client.FullName;
                TextBlockCountRecipesOfCreatorOfTheWeek.Text = $"{recipeCreatorOfTheWeek.RecipesSold} recipes sold last 7 days";
            }
            else
            {
                TextBlockCountRecipesOfCreatorOfTheWeek.Text = "No recipes sold last 7 days";
            }

            RecipeCreator recipeCreatorOfAllTime = ServiceRecipeCreator.BestOfAllTime();

            ServiceRecipe = new ServiceRecipe();

            if (recipeCreatorOfAllTime != null)
            {
                TextBlockRecipeCreatorOfAllTime.Text         = recipeCreatorOfAllTime.Client.FullName;
                TextBlockCountRecipesOfCreatorOfAllTime.Text = $"{recipeCreatorOfAllTime.RecipesSold} recipes sold";

                TextBlockTopOfBestCreatorTitle.Text         = "Top 5 recipes of: " + recipeCreatorOfAllTime.Client.FullName;
                ListViewTopRecipesOfBestCreator.ItemsSource = ServiceRecipe.AllOf(recipeCreatorOfAllTime, 5);
            }
            else
            {
                TextBlockCountRecipesOfCreatorOfTheWeek.Text = "No recipes sold";
            }

            ListViewTop5Recipes.ItemsSource = ServiceRecipe.Top(5);
        }
        /// <summary>
        /// Met à jour les infos du cdr notamment pour son solde cook.
        /// </summary>
        /// <param name="recipeCreator">cdr à update</param>
        /// <returns>retourne le cdr inchangé</returns>
        public RecipeCreator Update(RecipeCreator recipeCreator)
        {
            try
            {
                Database.Connection.Open();

                MySqlCommand commande = Database.Connection.CreateCommand();

                commande.CommandText = "UPDATE cdr, client " +
                                       "SET client.solde = @cooks " +
                                       "WHERE cdr.identifiant_client = client.identifiant_client " +
                                       "AND identifiant_cdr = @id";

                commande.Parameters.AddWithValue("@id", recipeCreator.Id);
                commande.Parameters.AddWithValue("@cooks", recipeCreator.Cooks);

                commande.ExecuteNonQuery();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }

            Database.Connection.Close();
            return(recipeCreator);
        }
示例#5
0
        public static void ShowRecipeCreator() //metoda wyświetlająca kreator przepisów
        {
            RecipeCreator rc = new RecipeCreator();

            rc.Initialize(recipeSource);
            rc.ShowDialog();
        }
        /// <summary>
        /// Crée le cdr dans la DB en fonction du client rentré en paramètre
        /// </summary>
        /// <param name="client">client qu'on veut faire devenir cdr</param>
        /// <returns>le cdr lié au client</returns>
        public RecipeCreator Save(Client client)
        {
            RecipeCreator recipeCreator = new RecipeCreator();

            recipeCreator.Client = client;
            return(DaoRecipeCreator.Create(recipeCreator));
        }
        /// <summary>
        /// Récupère les informations du cdr de la DB à partir de son identifiant.
        /// On veut aussi et surtout récupérer les infos du client relié à ce cdr.
        /// </summary>
        /// <param name="id">id du cdr dont on veut les données</param>
        /// <returns>retourne les infos du cdr</returns>
        public RecipeCreator Read(int id)
        {
            try
            {
                Database.Connection.Open();

                MySqlCommand commande = Database.Connection.CreateCommand();

                commande.CommandText = "SELECT * FROM cdr, client WHERE cdr.identifiant_client = client.identifiant_client AND identifiant_cdr = @Id;";
                commande.Parameters.AddWithValue("@Id", id);

                MySqlDataReader reader = commande.ExecuteReader();
                reader.Read();

                RecipeCreator recipeCreator = new RecipeCreator();
                recipeCreator.Id = id;

                recipeCreator.Client           = new Client();
                recipeCreator.Client.Id        = reader.GetInt32(reader.GetOrdinal("identifiant_client"));
                recipeCreator.Client.Mail      = reader.GetString(reader.GetOrdinal("mail"));
                recipeCreator.Client.FirstName = reader.GetString(reader.GetOrdinal("prenom"));
                recipeCreator.Client.LastName  = reader.GetString(reader.GetOrdinal("nom"));
                recipeCreator.Client.Phone     = reader.GetString(reader.GetOrdinal("telephone"));

                recipeCreator.Cooks = reader.GetInt32(reader.GetOrdinal("solde"));

                Database.Connection.Close();
                return(recipeCreator);
            }
            catch (MySqlException mySqlException)
            {
                Console.WriteLine(mySqlException.Message);
                return(null);
            }
        }
        /// <summary>
        /// Enregistre le Cdr dans la BDD.
        /// </summary>
        /// <param name="recipeCreator">cdr à créer</param>
        /// <returns>retourne le Cdr avec sa référence en plus</returns>
        public RecipeCreator Create(RecipeCreator recipeCreator)
        {
            try
            {
                Database.Connection.Open();

                MySqlCommand commande = Database.Connection.CreateCommand();

                commande.CommandText = "INSERT INTO cdr ( identifiant_client ) " +
                                       "VALUES (@clientId); " +
                                       "SELECT cdr.identifiant_cdr FROM cdr ORDER BY cdr.identifiant_cdr DESC LIMIT 1";

                commande.Parameters.AddWithValue("@clientId", recipeCreator.Client.Id);

                recipeCreator.Id = (int)commande.ExecuteScalar();

                Database.Connection.Close();

                return(recipeCreator);
            }
            catch (MySqlException mySqlException)
            {
                Console.WriteLine(mySqlException.Message);
                return(null);
            }
        }
示例#9
0
        private void FillCDROfTheWeek()
        {
            RecipeCreator bestCdrOfWeek = GetTop5BestCDR(1, true).First();
            DDB           ddb           = new DDB();

            CDRWeekTB.Text = ddb.SelectClient(new string[] { "numero" }, new string[] { $"'{bestCdrOfWeek.Id}'" }).First().Name;
            ddb.Close();
        }
示例#10
0
        public void RecipeCreatorSetDescription_ShouldSetRecipeDescription()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var description   = "Description";

            recipeCreator.SetDescription(description);

            Assert.AreEqual(description, recipeCreator.Recipe.Description);
        }
示例#11
0
        public void RecipeCreatorSetPrepTime_ShouldSetRecipePrepTime()
        {
            var   recipeCreator = new RecipeCreator(this.Context);
            short prepTime      = 10;

            recipeCreator.SetPrepTime(prepTime);

            Assert.AreEqual(prepTime, recipeCreator.Recipe.PrepTime);
        }
示例#12
0
        public void RecipeCreatorSetImage_ShouldSetRecipeImage()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var image         = "https://www.image.com";

            recipeCreator.SetImage(new Uri(image));

            Assert.AreEqual(image + "/", recipeCreator.Recipe.ImageUrl);
        }
示例#13
0
        public void RecipeCreatorSetCredit_ShouldSetRecipeCredit()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var credit        = "https://www.google.com";

            recipeCreator.SetCredit(credit);

            Assert.AreEqual(credit, recipeCreator.Recipe.Credit);
        }
示例#14
0
        public void RecipeCreatorSetServingSize_ShouldSetRecipeServingSize()
        {
            var   recipeCreator = new RecipeCreator(this.Context);
            short servingSize   = 4;

            recipeCreator.SetServingSize(servingSize);

            Assert.AreEqual(servingSize, recipeCreator.Recipe.ServingSize);
        }
示例#15
0
        public void RecipeCreatorSetTags_ShouldSetRecipeTags()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var tags          = new RecipeTags(RecipeTag.CommonIngredients);

            recipeCreator.SetTags(tags);

            CollectionAssert.AreEqual(tags, recipeCreator.Recipe.Tags);
        }
示例#16
0
        public void RecipeCreatorSetCreditUrl_ShouldSetRecipeCreditUrl()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var creditUrl     = "https://www.google.com";

            recipeCreator.SetCreditUrl(new Uri(creditUrl));

            Assert.AreEqual(creditUrl + "/", recipeCreator.Recipe.CreditUrl);
        }
示例#17
0
        public void RecipeCreatorSetCookTime_ShouldSetRecipeCookTime()
        {
            var   recipeCreator = new RecipeCreator(this.Context);
            short cookTime      = 10;

            recipeCreator.SetCookTime(cookTime);

            Assert.AreEqual(cookTime, recipeCreator.Recipe.CookTime);
        }
示例#18
0
        public void RecipeCreatorSetTitle_ShouldSetRecipeTitle()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var title         = "Title";

            recipeCreator.SetTitle(title);

            Assert.AreEqual(title, recipeCreator.Recipe.Title);
        }
示例#19
0
        public void RecipeCreatorSetDate_ShouldSetRecipeDate()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var date          = new DateTime(2000, 6, 6);

            recipeCreator.SetDateEntered(date);

            Assert.AreEqual(date, recipeCreator.Recipe.DateEntered);
        }
示例#20
0
        public void RecipeCreatorSetMethod_ShouldSetRecipeMethod()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var method        = "Method";

            recipeCreator.SetMethod(method);

            Assert.AreEqual(method, recipeCreator.Recipe.Method);
        }
示例#21
0
        public void RecipeCreatorSetRating_ShouldSetRecipeRating()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var rating        = Rating.FiveStars;

            recipeCreator.SetRating(rating);

            Assert.AreEqual(rating, recipeCreator.Recipe.UserRating);
        }
        /// <summary>
        /// Récupère tous les cdr de la DB avec toutes les recettes qu'ils ont crée
        /// </summary>
        /// <returns>retourne la liste des cdr</returns>
        public List <RecipeCreator> ReadAll()
        {
            List <RecipeCreator> recipeCreators = new List <RecipeCreator>();

            try
            {
                Database.Connection.Open();

                MySqlCommand commande = Database.Connection.CreateCommand();

                commande.CommandText = "SELECT *, client.nom as nom_client FROM cdr, client, recette " +
                                       "WHERE cdr.identifiant_client = client.identifiant_client " +
                                       "AND cdr.identifiant_cdr = recette.identifiant_cdr;";

                MySqlDataReader reader = commande.ExecuteReader();

                while (reader.Read())
                {
                    Recipe recipe = new Recipe();
                    recipe.Ref          = reader.GetInt32(reader.GetOrdinal("ref_recette"));
                    recipe.TimesOrdered = reader.GetInt32(reader.GetOrdinal("nbr_commande"));

                    int recipeCreatorId = reader.GetInt32(reader.GetOrdinal("identifiant_cdr"));

                    RecipeCreator recipeCreator = null;

                    if (recipeCreators.Any(recipeCr => recipeCr.Id == recipeCreatorId))
                    {
                        recipeCreator = recipeCreators.First(recipeCr => recipeCr.Id == recipeCreatorId);
                    }

                    if (recipeCreator == null)
                    {
                        recipeCreator    = new RecipeCreator();
                        recipeCreator.Id = reader.GetInt32(reader.GetOrdinal("identifiant_cdr"));

                        recipeCreator.Client           = new Client();
                        recipeCreator.Client.Id        = reader.GetInt32(reader.GetOrdinal("identifiant_client"));
                        recipeCreator.Client.Mail      = reader.GetString(reader.GetOrdinal("mail"));
                        recipeCreator.Client.FirstName = reader.GetString(reader.GetOrdinal("prenom"));
                        recipeCreator.Client.LastName  = reader.GetString(reader.GetOrdinal("nom_client"));
                        recipeCreator.Client.Phone     = reader.GetString(reader.GetOrdinal("telephone"));
                        recipeCreator.Recipes          = new List <Recipe>();
                        recipeCreators.Add(recipeCreator);
                    }
                    recipeCreator.Recipes.Add(recipe);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }

            Database.Connection.Close();
            return(recipeCreators);
        }
        public RecipeCreateDialogForm(ClientsService clientsService,
                                      DiseasesService diseasesService,
                                      RecipeCreator recipeCreator)
        {
            _clientsService  = clientsService;
            _diseasesService = diseasesService;
            _recipeCreator   = recipeCreator;

            InitializeComponent();
        }
示例#24
0
        public void RecipeCreatorCommit_ShouldCallContextCreateRecipeMethod()
        {
            var recipeCreator = new RecipeCreator(this.Context);

            this.Context.CRCalledTimes = 0;

            recipeCreator.Commit();

            Assert.AreEqual(1, this.Context.CRCalledTimes);
        }
        /// <summary>
        /// Récupère le Cdr le plus commandé sur les 7 derniers jours.
        /// </summary>
        /// <returns>renvoie le Cdr de la semaine</returns>
        public RecipeCreator ReadOfTheWeek()
        {
            try
            {
                Database.Connection.Open();

                MySqlCommand command = Database.Connection.CreateCommand();

                command.CommandText = "select sum(contenir.nombre) as best, cl.*, cd.* " +
                                      "from cdr as cd, client as cl, commande as c, recette, contenir " +
                                      "where cl.identifiant_client = cd.identifiant_client " +
                                      "and cd.identifiant_cdr = recette.identifiant_cdr " +
                                      "and recette.ref_recette = contenir.ref_recette " +
                                      "and contenir.ref_commande = c.ref_commande " +
                                      "and date_format(c.date,'%Y-%m-%d') >= @Date " +
                                      "group by cd.identifiant_cdr " +
                                      "order by best desc " +
                                      "limit 1";
                TimeSpan decalage    = new TimeSpan(7, 0, 0, 0);
                DateTime DayLastWeek = DateTime.Today - decalage;
                command.Parameters.AddWithValue("@Date", DayLastWeek.ToString("yyyy-MM-dd"));

                MySqlDataReader reader = command.ExecuteReader();

                if (reader.HasRows)
                {
                    reader.Read();

                    RecipeCreator recipeCreator = new RecipeCreator();
                    recipeCreator.Id          = reader.GetInt32(reader.GetOrdinal("identifiant_cdr"));
                    recipeCreator.RecipesSold = reader.GetInt32(reader.GetOrdinal("best"));

                    recipeCreator.Client           = new Client();
                    recipeCreator.Client.Id        = reader.GetInt32(reader.GetOrdinal("identifiant_client"));
                    recipeCreator.Client.Mail      = reader.GetString(reader.GetOrdinal("mail"));
                    recipeCreator.Client.FirstName = reader.GetString(reader.GetOrdinal("prenom"));
                    recipeCreator.Client.LastName  = reader.GetString(reader.GetOrdinal("nom"));
                    recipeCreator.Client.Phone     = reader.GetString(reader.GetOrdinal("telephone"));

                    recipeCreator.Cooks = reader.GetInt32(reader.GetOrdinal("solde"));

                    reader.Close();

                    Database.Connection.Close();
                    return(recipeCreator);
                }
            }
            catch (MySqlException mySqlException)
            {
                Console.WriteLine(mySqlException.Message);
            }

            Database.Connection.Close();
            return(null);
        }
示例#26
0
        /// <summary>
        /// Pay the creator of the recipe
        /// </summary>
        /// <param name="recipe"></param>
        private static void PayingCDR(Recipe recipe)
        {
            DDB ddB = new DDB(User.DataBase, User.Username, User.Password);

            RecipeCreator recipeCreator = ddB.SelectRecipeCreator(new string[] { "numero" }, new string[] { $"'{recipe.NumberCreator}'" })[0];
            Client        client        = ddB.SelectClient(new string[] { "numero" }, new string[] { $"'{recipeCreator.Id}'" })[0];

            client.Money += recipe.IsTrending ? 4 : 2;
            ddB.UpdateClient(client, new string[] { "nom" }, new string[] { $"'{client}'" });
            ddB.Close();
        }
 /// <summary>
 /// Si le cdr n'existe pas déjà dans la DB, le crée.
 /// Sinon, update ses informations.
 /// </summary>
 /// <param name="recipeCreator">cdr à créer ou modifier</param>
 /// <returns>le cdr crée ou modifié</returns>
 public RecipeCreator Save(RecipeCreator recipeCreator)
 {
     if (recipeCreator.Id == 0)
     {
         return(DaoRecipeCreator.Create(recipeCreator));
     }
     else
     {
         return(DaoRecipeCreator.Update(recipeCreator));
     }
 }
示例#28
0
        public void RecipeCreatorChainingMethods_ShouldCorrectlyDoAllMethods()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var title         = "Title";
            var desc          = "Description";
            var method        = "Method";

            recipeCreator.SetTitle(title).SetDescription(desc).SetMethod(method);

            Assert.AreEqual(title, recipeCreator.Recipe.Title);
            Assert.AreEqual(desc, recipeCreator.Recipe.Description);
            Assert.AreEqual(method, recipeCreator.Recipe.Method);
        }
示例#29
0
        public void RecipeCreatorSetIngredients_ShouldSetRecipeIngredients()
        {
            var recipeCreator  = new RecipeCreator(this.Context);
            var recipeCreator2 = new RecipeCreator(this.Context);
            var ingredients    = new IngredientUsage[] { new IngredientUsage() };
            var section        = "Section";

            recipeCreator.SetIngredients(ingredients);
            recipeCreator2.SetIngredients(section, ingredients);

            CollectionAssert.AreEqual(ingredients, recipeCreator.Recipe.Ingredients);
            CollectionAssert.AreEqual(ingredients, recipeCreator2.Recipe.Ingredients);
        }
        /// <summary>
        /// Récupère le Cdr qui cumule le plus de commandes de ses recettes depuis la création
        /// du site. c'est presque la même méthode que pour récupérer le cdr de la semaine à
        /// l'exception près que dans cette requête, on ne fait pas attention à la date des commandes.
        /// </summary>
        /// <returns>retourne le cdr d'or</returns>
        public RecipeCreator ReadOfAllTime()
        {
            try
            {
                Database.Connection.Open();

                MySqlCommand command = Database.Connection.CreateCommand();

                command.CommandText = "select sum(contenir.nombre) as best, cl.*, cd.* " +
                                      "from cdr as cd, client as cl, commande as c, recette, contenir " +
                                      "where cl.identifiant_client = cd.identifiant_client " +
                                      "and cd.identifiant_cdr = recette.identifiant_cdr " +
                                      "and recette.ref_recette = contenir.ref_recette " +
                                      "and contenir.ref_commande = c.ref_commande " +
                                      "group by cd.identifiant_cdr " +
                                      "order by best desc " +
                                      "limit 1";

                MySqlDataReader reader = command.ExecuteReader();

                if (reader.HasRows)
                {
                    reader.Read();

                    RecipeCreator recipeCreator = new RecipeCreator();
                    recipeCreator.Id          = reader.GetInt32(reader.GetOrdinal("identifiant_cdr"));
                    recipeCreator.RecipesSold = reader.GetInt32(reader.GetOrdinal("best"));

                    recipeCreator.Client           = new Client();
                    recipeCreator.Client.Id        = reader.GetInt32(reader.GetOrdinal("identifiant_client"));
                    recipeCreator.Client.Mail      = reader.GetString(reader.GetOrdinal("mail"));
                    recipeCreator.Client.FirstName = reader.GetString(reader.GetOrdinal("prenom"));
                    recipeCreator.Client.LastName  = reader.GetString(reader.GetOrdinal("nom"));
                    recipeCreator.Client.Phone     = reader.GetString(reader.GetOrdinal("telephone"));

                    recipeCreator.Cooks = reader.GetInt32(reader.GetOrdinal("solde"));

                    reader.Close();

                    Database.Connection.Close();
                    return(recipeCreator);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }

            Database.Connection.Close();
            return(null);
        }
        public void RecipeCreatorChainingMethods_ShouldCorrectlyDoAllMethods()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var title = "Title";
            var desc = "Description";
            var method = "Method";

            recipeCreator.SetTitle(title).SetDescription(desc).SetMethod(method);

            Assert.AreEqual(title, recipeCreator.Recipe.Title);
            Assert.AreEqual(desc, recipeCreator.Recipe.Description);
            Assert.AreEqual(method, recipeCreator.Recipe.Method);
        }
        public void RecipeCreatorSetTitle_ShouldSetRecipeTitle()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var title = "Title";
            recipeCreator.SetTitle(title);

            Assert.AreEqual(title, recipeCreator.Recipe.Title);
        }
        public void RecipeCreatorSetTags_ShouldSetRecipeTags()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var tags = new RecipeTags(RecipeTag.CommonIngredients);
            recipeCreator.SetTags(tags);

            CollectionAssert.AreEqual(tags, recipeCreator.Recipe.Tags);
        }
        public void RecipeCreatorSetCreditUrl_ShouldSetRecipeCreditUrl()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var creditUrl = "https://www.google.com";
            recipeCreator.SetCreditUrl(new Uri(creditUrl));

            Assert.AreEqual(creditUrl + "/", recipeCreator.Recipe.CreditUrl);
        }
        public void RecipeCreatorSetPrepTime_ShouldSetRecipePrepTime()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            short prepTime = 10;
            recipeCreator.SetPrepTime(prepTime);

            Assert.AreEqual(prepTime, recipeCreator.Recipe.PrepTime);
        }
        public void RecipeCreatorSetMethod_ShouldSetRecipeMethod()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var method = "Method";
            recipeCreator.SetMethod(method);

            Assert.AreEqual(method, recipeCreator.Recipe.Method);
        }
        public void RecipeCreatorSetIngredients_ShouldSetRecipeIngredients()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var recipeCreator2 = new RecipeCreator(this.Context);
            var ingredients = new IngredientUsage[] { new IngredientUsage() };
            var section = "Section";

            recipeCreator.SetIngredients(ingredients);
            recipeCreator2.SetIngredients(section, ingredients);

            CollectionAssert.AreEqual(ingredients, recipeCreator.Recipe.Ingredients);
            CollectionAssert.AreEqual(ingredients, recipeCreator2.Recipe.Ingredients);
        }
        public void RecipeCreatorSetImage_ShouldSetRecipeImage()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var image = "https://www.image.com";
            recipeCreator.SetImage(new Uri(image));

            Assert.AreEqual(image + "/", recipeCreator.Recipe.ImageUrl);
        }
        public void RecipeCreatorSetDescription_ShouldSetRecipeDescription()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var description = "Description";
            recipeCreator.SetDescription(description);

            Assert.AreEqual(description, recipeCreator.Recipe.Description);
        }
        public void RecipeCreatorSetDate_ShouldSetRecipeDate()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var date = new DateTime(2000, 6, 6);
            recipeCreator.SetDateEntered(date);

            Assert.AreEqual(date, recipeCreator.Recipe.DateEntered);
        }
        public void RecipeCreatorSetCredit_ShouldSetRecipeCredit()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var credit = "https://www.google.com";
            recipeCreator.SetCredit(credit);

            Assert.AreEqual(credit, recipeCreator.Recipe.Credit);
        }
        public void RecipeCreatorSetRating_ShouldSetRecipeRating()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            var rating = Rating.FiveStars;
            recipeCreator.SetRating(rating);

            Assert.AreEqual(rating, recipeCreator.Recipe.UserRating);
        }
        public void RecipeCreatorSetServingSize_ShouldSetRecipeServingSize()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            short servingSize = 4;
            recipeCreator.SetServingSize(servingSize);

            Assert.AreEqual(servingSize, recipeCreator.Recipe.ServingSize);
        }
        public void RecipeCreatorCommit_ShouldCallContextCreateRecipeMethod()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            this.Context.CRCalledTimes = 0;

            recipeCreator.Commit();

            Assert.AreEqual(1, this.Context.CRCalledTimes);
        }
        public void RecipeCreatorSetCookTime_ShouldSetRecipeCookTime()
        {
            var recipeCreator = new RecipeCreator(this.Context);
            short cookTime = 10;
            recipeCreator.SetCookTime(cookTime);

            Assert.AreEqual(cookTime, recipeCreator.Recipe.CookTime);
        }