public void ShouldBeAbleToSetTomato()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            gardenOrcOmlette.Tomato = false;
            Assert.False(gardenOrcOmlette.Tomato);
        }
        public void ShouldBeAbleToSetCheddar()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            gardenOrcOmlette.Cheddar = false;
            Assert.False(gardenOrcOmlette.Cheddar);
        }
        public void ShouldBeAEntree()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.IsAssignableFrom <Entree>(gardenOrcOmlette);
            Assert.IsAssignableFrom <IOrderItem>(gardenOrcOmlette);
        }
        public void ShouldBeAbleToSetBroccoli()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            gardenOrcOmlette.Broccoli = false;
            Assert.False(gardenOrcOmlette.Broccoli);
        }
        public void ShouldReturnCorrectSpecialInstructions(bool includeBroccoli, bool includeMushrooms,
                                                           bool includeTomato, bool includeCheddar)
        {
            GardenOrcOmlette gardenOrcOmelette   = new GardenOrcOmlette();
            List <string>    specialInstructions = new List <string>();

            if (!includeBroccoli)
            {
                gardenOrcOmelette.Broccoli = false;
                specialInstructions.Add("Hold broccoli");
            }
            if (!includeMushrooms)
            {
                gardenOrcOmelette.Mushrooms = false;
                specialInstructions.Add("Hold mushrooms");
            }
            if (!includeTomato)
            {
                gardenOrcOmelette.Tomato = false;
                specialInstructions.Add("Hold tomato");
            }
            if (!includeCheddar)
            {
                gardenOrcOmelette.Cheddar = false;
                specialInstructions.Add("Hold cheddar");
            }
            Assert.Equal(gardenOrcOmelette.SpecialInstructions, specialInstructions);
        }
        public void ShouldBeAbleToSetMushrooms()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            gardenOrcOmlette.Mushrooms = false;
            Assert.False(gardenOrcOmlette.Mushrooms);
        }
        public void ChangingTomatoNotifiesTomatoProperty()
        {
            var GOO = new GardenOrcOmlette();

            Assert.PropertyChanged(GOO, "Tomato", () =>
            {
                GOO.Tomato = true;
            });

            Assert.PropertyChanged(GOO, "Tomato", () =>
            {
                GOO.Tomato = false;
            });
        }
        public void ChangingMushroomsNotifiesMushroomsProperty()
        {
            var GOO = new GardenOrcOmlette();

            Assert.PropertyChanged(GOO, "Mushrooms", () =>
            {
                GOO.Mushrooms = true;
            });

            Assert.PropertyChanged(GOO, "Mushrooms", () =>
            {
                GOO.Mushrooms = false;
            });
        }
        public void ChangingBroccoliNotifiesBroccoliProperty()
        {
            var GOO = new GardenOrcOmlette();

            Assert.PropertyChanged(GOO, "Broccoli", () =>
            {
                GOO.Broccoli = true;
            });

            Assert.PropertyChanged(GOO, "Broccoli", () =>
            {
                GOO.Broccoli = false;
            });
        }
        public void ChangingCheddarNotifiesCheddarProperty()
        {
            var GOO = new GardenOrcOmlette();

            Assert.PropertyChanged(GOO, "Cheddar", () =>
            {
                GOO.Cheddar = true;
            });

            Assert.PropertyChanged(GOO, "Cheddar", () =>
            {
                GOO.Cheddar = false;
            });
        }
        public void ShouldInlcudeCheddarByDefault()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.True(gardenOrcOmlette.Cheddar);
        }
        public void ShouldInlcudeTomatoByDefault()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.True(gardenOrcOmlette.Tomato);
        }
        public void ShouldInlcudeMushroomsByDefault()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.True(gardenOrcOmlette.Mushrooms);
        }
        public void ShouldInlcudeBroccoliByDefault()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.True(gardenOrcOmlette.Broccoli);
        }
        public void ShouldBeAssignableFromINotifyPropertyChanged()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.IsAssignableFrom <INotifyPropertyChanged>(gardenOrcOmlette);
        }
        public void ShouldReturnCorrectPrice()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.True(gardenOrcOmlette.Price == 4.57);
        }
        public void ShouldReturnCorrectToString()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.Equal(gardenOrcOmlette.ToString(), "Garden Orc Omelette");
        }
        public void ShouldBeAbleToGetDisciption()
        {
            GardenOrcOmlette garden = new GardenOrcOmlette();

            Assert.Equal(garden.Description, "Vegetarian. Two egg omelette packed with a mix of broccoli, mushrooms, and tomatoes. Topped with cheddar cheese.");
        }
        public void ShouldReturnCorrectCalories()
        {
            GardenOrcOmlette gardenOrcOmlette = new GardenOrcOmlette();

            Assert.True(gardenOrcOmlette.Calories == 404);
        }