예제 #1
0
        public void ChangingEntreeShouldNotifySpecialInstructionsProperty()
        {
            ComboMeal cm = new ComboMeal();

            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Entree = new DoubleDraugr();
            });
            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Entree = new ThalmorTriple();
            });
            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Entree = new SmokehouseSkeleton();
            });
            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Entree = new PhillyPoacher();
            });
            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Entree = new ThugsTBone();
            });
            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Entree = new GardenOrcOmelette();
            });
        }
예제 #2
0
        public void CanGetSide()
        {
            var combo = new ComboMeal();

            for (int j = 0; j < 4; j++)
            {
                Side jItem = new DragonbornWaffleFries();
                switch (j)
                {
                case 0:
                    jItem = new DragonbornWaffleFries();
                    break;

                case 1:
                    jItem = new FriedMiraak();
                    break;

                case 2:
                    jItem = new MadOtarGrits();
                    break;

                case 3:
                    jItem = new VokunSalad();
                    break;
                }
                foreach (Size s in (Size[])Enum.GetValues(typeof(Size)))
                {
                    jItem.Size = s;
                    combo.Side = jItem;
                    Assert.Equal(jItem, combo.Side);
                }
            }
        }
 public SelectEntrees(ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = CM;
     c           = CM;
     IsCombo     = isCombo;
 }
 public CustomizeMarkarthMilk(MarkarthMilk MM, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = MM;
     m           = MM;
     IsCombo     = isCombo;
     c           = CM;
 }
 public CustomizeMadOtarGrits(MadOtarGrits MOG, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = MOG;
     m           = MOG;
     IsCombo     = isCombo;
     c           = CM;
 }
 public CustomizeGardenOrcOmelette(GardenOrcOmelette GOO, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = GOO;
     g           = GOO;
     IsCombo     = isCombo;
     c           = CM;
 }
 public CustomizeSmokehouseSkeleton(SmokehouseSkeleton SS, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = SS;
     s           = SS;
     IsCombo     = isCombo;
     c           = CM;
 }
 public CustomizeFriedMiraak(FriedMiraak FM, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = FM;
     f           = FM;
     IsCombo     = isCombo;
     c           = CM;
 }
 public CustomizeThalmorTriple(ThalmorTriple TT, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = TT;
     t           = TT;
     IsCombo     = isCombo;
     c           = CM;
 }
 public CustomizeAretinoAppleJuice(AretinoAppleJuice AJ, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = AJ;
     a           = AJ;
     IsCombo     = isCombo;
     c           = CM;
 }
예제 #11
0
 public CustomizeCandlehearthCoffee(CandlehearthCoffee CC, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = CC;
     c           = CC;
     IsCombo     = isCombo;
     cm          = CM;
 }
예제 #12
0
 public CustomizeVokunSalad(VokunSalad VS, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = VS;
     v           = VS;
     IsCombo     = isCombo;
     c           = CM;
 }
예제 #13
0
 public CustomizeDoubleDraugr(DoubleDraugr DD, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = DD;
     d           = DD;
     IsCombo     = isCombo;
     c           = CM;
 }
 public CustomizeSailorSoda(SailorSoda SS, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = SS;
     s           = SS;
     IsCombo     = isCombo;
     c           = CM;
 }
예제 #15
0
 public CustomizeWarriorWater(WarriorWater WW, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = WW;
     w           = WW;
     IsCombo     = isCombo;
     c           = CM;
 }
예제 #16
0
 public CustomizePhillyPoacher(PhillyPoacher PP, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = PP;
     p           = PP;
     IsCombo     = IsCombo;
     c           = CM;
 }
예제 #17
0
 public CustomizeDragonbornWaffleFries(DragonbornWaffleFries DWF, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = DWF;
     d           = DWF;
     IsCombo     = isCombo;
     c           = CM;
 }
예제 #18
0
 public CustomizeBriarheartBurger(BriarheartBurger BB, ComboMeal CM, bool isCombo)
 {
     InitializeComponent();
     DataContext = BB;
     b           = BB;
     IsCombo     = isCombo;
     c           = CM;
 }
예제 #19
0
        public void ShouldHaveCorrectPriceByDefault()
        {
            ComboMeal             cm = new ComboMeal();
            BriarheartBurger      b  = new BriarheartBurger();
            SailorSoda            s  = new SailorSoda();
            DragonbornWaffleFries d  = new DragonbornWaffleFries();

            Assert.Equal(b.Price + s.Price + d.Price - 1, cm.Price);
        }
예제 #20
0
        public void ShouldHaveCorrectCaloriesByDefault()
        {
            ComboMeal             cm = new ComboMeal();
            BriarheartBurger      b  = new BriarheartBurger();
            SailorSoda            s  = new SailorSoda();
            DragonbornWaffleFries d  = new DragonbornWaffleFries();

            Assert.Equal(b.Calories + s.Calories + d.Calories, cm.Calories);
        }
예제 #21
0
        public void ShouldHaveCorrectSpecialInstructionsByDefault()
        {
            ComboMeal     cm = new ComboMeal();
            List <string> specialInstructions = new List <string>();

            specialInstructions.Add(cm.Entree.ToString());
            specialInstructions.Add(cm.Drink.ToString());
            specialInstructions.Add(cm.Side.ToString());
            Assert.Equal(specialInstructions, cm.SpecialInstructions);
        }
예제 #22
0
        public void ChangingDrinkNotifiesSpecialInstructionsProperty()
        {
            var combo = new ComboMeal();

            for (int k = 0; k < 5; k++)
            {
                Drink kItem = new SailorSoda();
                switch (k)
                {
                case 0:
                    kItem = new AretinoAppleJuice();
                    break;

                case 1:
                    kItem = new CandlehearthCoffee();
                    break;

                case 2:
                    kItem = new MarkarthMilk();
                    break;

                case 3:
                    kItem = new SailorSoda();
                    break;

                case 4:
                    kItem = new WarriorWater();
                    break;
                }

                foreach (Size ss in (Size[])Enum.GetValues(typeof(Size)))
                {
                    kItem.Size = ss;
                    if (kItem is SailorSoda)
                    {
                        foreach (SodaFlavor f in (SodaFlavor[])Enum.GetValues(typeof(SodaFlavor)))
                        {
                            ((SailorSoda)kItem).Flavor = f;

                            Assert.PropertyChanged(combo, "SpecialInstructions", () =>
                            {
                                combo.Drink = kItem;
                            });
                        }
                    }
                    else
                    {
                        Assert.PropertyChanged(combo, "SpecialInstructions", () =>
                        {
                            combo.Drink = kItem;
                        });
                    }
                }
            }
        }
예제 #23
0
 void ClickComboButton(object sender, RoutedEventArgs e)
 {
     if (DataContext is Order order)
     {
         ComboMeal c = new ComboMeal();
         order.Add(c);
         CustomizeComboMeal customizeCombo = new CustomizeComboMeal(c);
         OrderComponent     orderComponent = this.FindAncestor <OrderComponent>();
         orderComponent.Swap(customizeCombo);
     }
 }
예제 #24
0
        public void ShouldBeAbleToChangeSide()
        {
            ComboMeal cm = new ComboMeal();

            cm.Side = new MadOtarGrits();
            Assert.Equal(new MadOtarGrits().ToString(), cm.Side.ToString());
            cm.Side = new VokunSalad();
            Assert.Equal(new VokunSalad().ToString(), cm.Side.ToString());
            cm.Side = new FriedMiraak();
            Assert.Equal(new FriedMiraak().ToString(), cm.Side.ToString());
        }
예제 #25
0
        public void ShouldBeAbleToChangeDrink()
        {
            ComboMeal cm = new ComboMeal();

            cm.Drink = new CandlehearthCoffee();
            Assert.Equal(new CandlehearthCoffee().ToString(), cm.Drink.ToString());
            cm.Drink = new WarriorWater();
            Assert.Equal(new WarriorWater().ToString(), cm.Drink.ToString());
            cm.Drink = new MarkarthMilk();
            Assert.Equal(new MarkarthMilk().ToString(), cm.Drink.ToString());
            cm.Drink = new AretinoAppleJuice();
            Assert.Equal(new AretinoAppleJuice().ToString(), cm.Drink.ToString());
        }
예제 #26
0
        public void CanGetDrink()
        {
            var combo = new ComboMeal();

            for (int k = 0; k < 5; k++)
            {
                Drink kItem = new SailorSoda();
                switch (k)
                {
                case 0:
                    kItem = new AretinoAppleJuice();
                    break;

                case 1:
                    kItem = new CandlehearthCoffee();
                    break;

                case 2:
                    kItem = new MarkarthMilk();
                    break;

                case 3:
                    kItem = new SailorSoda();
                    break;

                case 4:
                    kItem = new WarriorWater();
                    break;
                }

                foreach (Size ss in (Size[])Enum.GetValues(typeof(Size)))
                {
                    kItem.Size = ss;
                    if (kItem is SailorSoda)
                    {
                        foreach (SodaFlavor f in (SodaFlavor[])Enum.GetValues(typeof(SodaFlavor)))
                        {
                            ((SailorSoda)kItem).Flavor = f;

                            combo.Drink = kItem;
                            Assert.Equal(kItem, combo.Drink);
                        }
                    }
                    else
                    {
                        combo.Drink = kItem;
                        Assert.Equal(kItem, combo.Drink);
                    }
                }
            }
        }
예제 #27
0
        public void ChangingSideShouldNotifyCaloriesProperty()
        {
            ComboMeal cm = new ComboMeal();

            Assert.PropertyChanged(cm, "Calories", () =>
            {
                cm.Side = new VokunSalad();
            });
            Assert.PropertyChanged(cm, "Calories", () =>
            {
                cm.Side = new MadOtarGrits();
            });
            Assert.PropertyChanged(cm, "Calories", () =>
            {
                cm.Side = new FriedMiraak();
            });
        }
예제 #28
0
        public void ShouldBeAbleToChangeEntree()
        {
            ComboMeal cm = new ComboMeal();

            cm.Entree = new DoubleDraugr();
            Assert.Equal(new DoubleDraugr().ToString(), cm.Entree.ToString());
            cm.Entree = new ThalmorTriple();
            Assert.Equal(new ThalmorTriple().ToString(), cm.Entree.ToString());
            cm.Entree = new PhillyPoacher();
            Assert.Equal(new PhillyPoacher().ToString(), cm.Entree.ToString());
            cm.Entree = new SmokehouseSkeleton();
            Assert.Equal(new SmokehouseSkeleton().ToString(), cm.Entree.ToString());
            cm.Entree = new ThugsTBone();
            Assert.Equal(new ThugsTBone().ToString(), cm.Entree.ToString());
            cm.Entree = new GardenOrcOmelette();
            Assert.Equal(new GardenOrcOmelette().ToString(), cm.Entree.ToString());
        }
예제 #29
0
        public void ChangingSideShouldNotifySpecialInstructionsProperty()
        {
            ComboMeal cm = new ComboMeal();

            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Side = new VokunSalad();
            });
            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Side = new MadOtarGrits();
            });
            Assert.PropertyChanged(cm, "SpecialInstructions", () =>
            {
                cm.Side = new FriedMiraak();
            });
        }
예제 #30
0
        public void ChangingEntreeNotifiesEntreeProperty()
        {
            var combo = new ComboMeal();

            for (int i = 0; i < 7; i++)
            {
                Entree iItem = new BriarheartBurger();
                switch (i)
                {
                case 0:
                    iItem = new BriarheartBurger();
                    break;

                case 1:
                    iItem = new DoubleDraugr();
                    break;

                case 2:
                    iItem = new GardenOrcOmelette();
                    break;

                case 3:
                    iItem = new PhillyPoacher();
                    break;

                case 4:
                    iItem = new SmokehouseSkeleton();
                    break;

                case 5:
                    iItem = new ThalmorTriple();
                    break;

                case 6:
                    iItem = new ThugsTBone();
                    break;
                }

                Assert.PropertyChanged(combo, "Entree", () =>
                {
                    combo.Entree = iItem;
                });
            }
        }