Exemplo n.º 1
0
 public void CheckCorrectSides()
 {
     Assert.Collection(Menu.Sides(),
                       //DragonbornWaffleFries
                       item => {
         Assert.IsType <DragonbornWaffleFries>(item);
         DragonbornWaffleFries dbwf = (DragonbornWaffleFries)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Small, dbwf.Size);
     },
                       item => {
         Assert.IsType <DragonbornWaffleFries>(item);
         DragonbornWaffleFries dbwf = (DragonbornWaffleFries)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Medium, dbwf.Size);
     },
                       item => {
         Assert.IsType <DragonbornWaffleFries>(item);
         DragonbornWaffleFries dbwf = (DragonbornWaffleFries)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Large, dbwf.Size);
     },
                       //FriedMiraak
                       item => {
         Assert.IsType <FriedMiraak>(item);
         FriedMiraak fm = (FriedMiraak)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Small, fm.Size);
     },
                       item => {
         Assert.IsType <FriedMiraak>(item);
         FriedMiraak fm = (FriedMiraak)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Medium, fm.Size);
     },
                       item => {
         Assert.IsType <FriedMiraak>(item);
         FriedMiraak fm = (FriedMiraak)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Large, fm.Size);
     },
                       //MadOtarGrits
                       item => {
         Assert.IsType <MadOtarGrits>(item);
         MadOtarGrits mog = (MadOtarGrits)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Small, mog.Size);
     },
                       item => {
         Assert.IsType <MadOtarGrits>(item);
         MadOtarGrits mog = (MadOtarGrits)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Medium, mog.Size);
     },
                       item => {
         Assert.IsType <MadOtarGrits>(item);
         MadOtarGrits mog = (MadOtarGrits)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Large, mog.Size);
     },
                       //VokunSalad
                       item => {
         Assert.IsType <VokunSalad>(item);
         VokunSalad vs = (VokunSalad)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Small, vs.Size);
     },
                       item => {
         Assert.IsType <VokunSalad>(item);
         VokunSalad vs = (VokunSalad)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Medium, vs.Size);
     },
                       item => {
         Assert.IsType <VokunSalad>(item);
         VokunSalad vs = (VokunSalad)item;    //Should be safe as it was asserted above for type
         Assert.Equal(Size.Large, vs.Size);
     });
 }
Exemplo n.º 2
0
        public void ShouldBeASide()
        {
            MadOtarGrits mog = new MadOtarGrits();

            Assert.IsAssignableFrom <Side>(mog);
        }
Exemplo n.º 3
0
        public void ShouldReturnCorrectStringOnSpecialInstructions()
        {
            MadOtarGrits mog = new MadOtarGrits();

            Assert.Empty(mog.SpecialInstructions);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Holds all possible order options on the menu
        /// </summary>
        /// <returns>
        /// An IEnumerable of IOrderItem
        /// </returns>
        public static IEnumerable <IOrderItem> FullMenu()
        {
            List <IOrderItem> menu = new List <IOrderItem>();

            menu.Add(new BriarheartBurger());
            menu.Add(new DoubleDraugr());
            menu.Add(new GardenOrcOmelette());
            menu.Add(new PhillyPoacher());
            menu.Add(new SmokehouseSkeleton());
            menu.Add(new ThalmorTriple());
            menu.Add(new ThugsTBone());
            menu.Add(new DragonbornWaffleFries());
            DragonbornWaffleFries mediumFries = new DragonbornWaffleFries();

            mediumFries.Size = Size.Medium;
            menu.Add(mediumFries);
            DragonbornWaffleFries largeFries = new DragonbornWaffleFries();

            largeFries.Size = Size.Large;
            menu.Add(largeFries);
            menu.Add(new FriedMiraak());
            FriedMiraak mediumMiraak = new FriedMiraak();

            mediumMiraak.Size = Size.Medium;
            menu.Add(mediumMiraak);
            FriedMiraak largeMiraak = new FriedMiraak();

            largeMiraak.Size = Size.Large;
            menu.Add(largeMiraak);
            menu.Add(new MadOtarGrits());
            MadOtarGrits mediumGrits = new MadOtarGrits();

            mediumGrits.Size = Size.Medium;
            menu.Add(mediumGrits);
            MadOtarGrits largeGrits = new MadOtarGrits();

            largeGrits.Size = Size.Large;
            menu.Add(largeGrits);
            menu.Add(new VokunSalad());
            VokunSalad mediumSalad = new VokunSalad();

            mediumSalad.Size = Size.Medium;
            menu.Add(mediumSalad);
            VokunSalad largeSalad = new VokunSalad();

            largeSalad.Size = Size.Large;
            menu.Add(largeSalad);
            menu.Add(new AretinoAppleJuice());
            AretinoAppleJuice mediumJuice = new AretinoAppleJuice();

            mediumJuice.Size = Size.Medium;
            menu.Add(mediumJuice);
            AretinoAppleJuice largeJuice = new AretinoAppleJuice();

            largeJuice.Size = Size.Large;
            menu.Add(largeJuice);
            menu.Add(new CandlehearthCoffee());
            CandlehearthCoffee mediumCoffee = new CandlehearthCoffee();

            mediumCoffee.Size = Size.Medium;
            menu.Add(mediumCoffee);
            CandlehearthCoffee largeCoffee = new CandlehearthCoffee();

            largeCoffee.Size = Size.Large;
            menu.Add(largeCoffee);
            CandlehearthCoffee smallDecafCoffee = new CandlehearthCoffee();

            smallDecafCoffee.Decaf = true;
            menu.Add(smallDecafCoffee);
            CandlehearthCoffee mediumDecafCoffee = new CandlehearthCoffee();

            mediumDecafCoffee.Size  = Size.Medium;
            mediumDecafCoffee.Decaf = true;
            menu.Add(mediumDecafCoffee);
            CandlehearthCoffee largeDecafCoffee = new CandlehearthCoffee();

            largeDecafCoffee.Size  = Size.Large;
            largeDecafCoffee.Decaf = true;
            menu.Add(largeDecafCoffee);
            menu.Add(new MarkarthMilk());
            MarkarthMilk mediumMilk = new MarkarthMilk();

            mediumMilk.Size = Size.Medium;
            menu.Add(mediumMilk);
            MarkarthMilk largeMilk = new MarkarthMilk();

            largeMilk.Size = Size.Large;
            menu.Add(largeMilk);
            menu.Add(new SailorSoda());
            SailorSoda mediumCherrySoda = new SailorSoda();

            mediumCherrySoda.Size = Size.Medium;
            menu.Add(mediumCherrySoda);
            SailorSoda largeCherrySoda = new SailorSoda();

            largeCherrySoda.Size = Size.Large;
            menu.Add(largeCherrySoda);
            SailorSoda smallBerrySoda = new SailorSoda();

            smallBerrySoda.Flavor = SodaFlavor.Blackberry;
            menu.Add(smallBerrySoda);
            SailorSoda mediumBerrySoda = new SailorSoda();

            mediumBerrySoda.Size   = Size.Medium;
            mediumBerrySoda.Flavor = SodaFlavor.Blackberry;
            menu.Add(mediumBerrySoda);
            SailorSoda largeBerrySoda = new SailorSoda();

            largeBerrySoda.Size   = Size.Large;
            largeBerrySoda.Flavor = SodaFlavor.Blackberry;
            menu.Add(largeBerrySoda);
            SailorSoda smallFruitSoda = new SailorSoda();

            smallFruitSoda.Flavor = SodaFlavor.Grapefruit;
            menu.Add(smallFruitSoda);
            SailorSoda mediumFruitSoda = new SailorSoda();

            mediumFruitSoda.Size   = Size.Medium;
            mediumFruitSoda.Flavor = SodaFlavor.Grapefruit;
            menu.Add(mediumFruitSoda);
            SailorSoda largeFruitSoda = new SailorSoda();

            largeFruitSoda.Size   = Size.Large;
            largeFruitSoda.Flavor = SodaFlavor.Grapefruit;
            menu.Add(largeFruitSoda);
            SailorSoda smallLemonSoda = new SailorSoda();

            smallLemonSoda.Flavor = SodaFlavor.Lemon;
            menu.Add(smallLemonSoda);
            SailorSoda mediumLemonSoda = new SailorSoda();

            mediumLemonSoda.Size   = Size.Medium;
            mediumLemonSoda.Flavor = SodaFlavor.Lemon;
            menu.Add(mediumLemonSoda);
            SailorSoda largeLemonSoda = new SailorSoda();

            largeLemonSoda.Size   = Size.Large;
            largeLemonSoda.Flavor = SodaFlavor.Lemon;
            menu.Add(largeLemonSoda);
            SailorSoda smallPeachSoda = new SailorSoda();

            smallPeachSoda.Flavor = SodaFlavor.Peach;
            menu.Add(smallPeachSoda);
            SailorSoda mediumPeachSoda = new SailorSoda();

            mediumPeachSoda.Size   = Size.Medium;
            mediumPeachSoda.Flavor = SodaFlavor.Peach;
            menu.Add(mediumPeachSoda);
            SailorSoda largePeachSoda = new SailorSoda();

            largePeachSoda.Size   = Size.Large;
            largePeachSoda.Flavor = SodaFlavor.Peach;
            menu.Add(largePeachSoda);
            SailorSoda smallMelonSoda = new SailorSoda();

            smallMelonSoda.Flavor = SodaFlavor.Watermelon;
            menu.Add(smallMelonSoda);
            SailorSoda mediumMelonSoda = new SailorSoda();

            mediumMelonSoda.Size   = Size.Medium;
            mediumMelonSoda.Flavor = SodaFlavor.Watermelon;
            menu.Add(mediumMelonSoda);
            SailorSoda largeMelonSoda = new SailorSoda();

            largeMelonSoda.Size   = Size.Large;
            largeMelonSoda.Flavor = SodaFlavor.Watermelon;
            menu.Add(largeMelonSoda);
            menu.Add(new WarriorWater());
            WarriorWater mediumWater = new WarriorWater();

            mediumWater.Size = Size.Medium;
            menu.Add(mediumWater);
            WarriorWater largeWater = new WarriorWater();

            largeWater.Size = Size.Large;
            menu.Add(largeWater);
            return(menu);
        }
Exemplo n.º 5
0
        public void ShouldGetCorrectDescription()
        {
            MadOtarGrits mog = new MadOtarGrits();

            Assert.Equal("Cheesey Grits.", mog.Description);
        }
Exemplo n.º 6
0
        public void HasDescription()
        {
            MadOtarGrits side = new MadOtarGrits();

            Assert.Equal("Cheesy Grits.", side.Description);
        }
Exemplo n.º 7
0
        public void ShouldBeASide()
        {
            MadOtarGrits side = new MadOtarGrits();

            Assert.True(side is Side);
        }
Exemplo n.º 8
0
        public void ShouldBeAssignableToAbstractSideClass()
        {
            MadOtarGrits m = new MadOtarGrits();

            Assert.IsAssignableFrom <Side>(m);
        }
Exemplo n.º 9
0
        public void ShouldBeAssignableToIOrderItemInterface()
        {
            MadOtarGrits m = new MadOtarGrits();

            Assert.IsAssignableFrom <IOrderItem>(m);
        }
Exemplo n.º 10
0
        public void ShouldBeAssignabletoAbstractIOrderItemClass()
        {
            var mad = new MadOtarGrits();

            Assert.IsAssignableFrom <IOrderItem>(mad);
        }
Exemplo n.º 11
0
        public void ShouldGetFullMenu()
        {
            BriarheartBurger      bb          = new BriarheartBurger();
            DoubleDraugr          dd          = new DoubleDraugr();
            GardenOrcOmelette     goo         = new GardenOrcOmelette();
            PhillyPoacher         pp          = new PhillyPoacher();
            SmokehouseSkeleton    ss          = new SmokehouseSkeleton();
            ThalmorTriple         tt          = new ThalmorTriple();
            ThugsTBone            ttb         = new ThugsTBone();
            DragonbornWaffleFries smallFries  = new DragonbornWaffleFries();
            DragonbornWaffleFries mediumFries = new DragonbornWaffleFries();

            mediumFries.Size = Size.Medium;
            DragonbornWaffleFries largeFries = new DragonbornWaffleFries();

            largeFries.Size = Size.Large;
            FriedMiraak smallMiraak  = new FriedMiraak();
            FriedMiraak mediumMiraak = new FriedMiraak();

            mediumMiraak.Size = Size.Medium;
            FriedMiraak largeMiraak = new FriedMiraak();

            largeMiraak.Size = Size.Large;
            MadOtarGrits smallGrits  = new MadOtarGrits();
            MadOtarGrits mediumGrits = new MadOtarGrits();

            mediumGrits.Size = Size.Medium;
            MadOtarGrits largeGrits = new MadOtarGrits();

            largeGrits.Size = Size.Large;
            VokunSalad smallSalad  = new VokunSalad();
            VokunSalad mediumSalad = new VokunSalad();

            mediumSalad.Size = Size.Medium;
            VokunSalad largeSalad = new VokunSalad();

            largeSalad.Size = Size.Large;
            AretinoAppleJuice smallJuice  = new AretinoAppleJuice();
            AretinoAppleJuice mediumJuice = new AretinoAppleJuice();

            mediumJuice.Size = Size.Medium;
            AretinoAppleJuice largeJuice = new AretinoAppleJuice();

            largeJuice.Size = Size.Large;
            CandlehearthCoffee smallCoffee  = new CandlehearthCoffee();
            CandlehearthCoffee mediumCoffee = new CandlehearthCoffee();

            mediumCoffee.Size = Size.Medium;
            CandlehearthCoffee largeCoffee = new CandlehearthCoffee();

            largeCoffee.Size = Size.Large;
            CandlehearthCoffee smallDecafCoffee = new CandlehearthCoffee();

            smallDecafCoffee.Decaf = true;
            CandlehearthCoffee mediumDecafCoffee = new CandlehearthCoffee();

            mediumDecafCoffee.Size  = Size.Medium;
            mediumDecafCoffee.Decaf = true;
            CandlehearthCoffee largeDecafCoffee = new CandlehearthCoffee();

            largeDecafCoffee.Size  = Size.Large;
            largeDecafCoffee.Decaf = true;
            MarkarthMilk smallMilk  = new MarkarthMilk();
            MarkarthMilk mediumMilk = new MarkarthMilk();

            mediumMilk.Size = Size.Medium;
            MarkarthMilk largeMilk = new MarkarthMilk();

            largeMilk.Size = Size.Large;
            SailorSoda smallCherrySoda  = new SailorSoda();
            SailorSoda mediumCherrySoda = new SailorSoda();

            mediumCherrySoda.Size = Size.Medium;
            SailorSoda largeCherrySoda = new SailorSoda();

            largeCherrySoda.Size = Size.Large;
            SailorSoda smallBerrySoda = new SailorSoda();

            smallBerrySoda.Flavor = SodaFlavor.Blackberry;
            SailorSoda mediumBerrySoda = new SailorSoda();

            mediumBerrySoda.Size   = Size.Medium;
            mediumBerrySoda.Flavor = SodaFlavor.Blackberry;
            SailorSoda largeBerrySoda = new SailorSoda();

            largeBerrySoda.Size   = Size.Large;
            largeBerrySoda.Flavor = SodaFlavor.Blackberry;
            SailorSoda smallFruitSoda = new SailorSoda();

            smallFruitSoda.Flavor = SodaFlavor.Grapefruit;
            SailorSoda mediumFruitSoda = new SailorSoda();

            mediumFruitSoda.Size   = Size.Medium;
            mediumFruitSoda.Flavor = SodaFlavor.Grapefruit;
            SailorSoda largeFruitSoda = new SailorSoda();

            largeFruitSoda.Size   = Size.Large;
            largeFruitSoda.Flavor = SodaFlavor.Grapefruit;
            SailorSoda smallLemonSoda = new SailorSoda();

            smallLemonSoda.Flavor = SodaFlavor.Lemon;
            SailorSoda mediumLemonSoda = new SailorSoda();

            mediumLemonSoda.Size   = Size.Medium;
            mediumLemonSoda.Flavor = SodaFlavor.Lemon;
            SailorSoda largeLemonSoda = new SailorSoda();

            largeLemonSoda.Size   = Size.Large;
            largeLemonSoda.Flavor = SodaFlavor.Lemon;
            SailorSoda smallPeachSoda = new SailorSoda();

            smallPeachSoda.Flavor = SodaFlavor.Peach;
            SailorSoda mediumPeachSoda = new SailorSoda();

            mediumPeachSoda.Size   = Size.Medium;
            mediumPeachSoda.Flavor = SodaFlavor.Peach;
            SailorSoda largePeachSoda = new SailorSoda();

            largePeachSoda.Size   = Size.Large;
            largePeachSoda.Flavor = SodaFlavor.Peach;
            SailorSoda smallMelonSoda = new SailorSoda();

            smallMelonSoda.Flavor = SodaFlavor.Watermelon;
            SailorSoda mediumMelonSoda = new SailorSoda();

            mediumMelonSoda.Size   = Size.Medium;
            mediumMelonSoda.Flavor = SodaFlavor.Watermelon;
            SailorSoda largeMelonSoda = new SailorSoda();

            largeMelonSoda.Size   = Size.Large;
            largeMelonSoda.Flavor = SodaFlavor.Watermelon;
            WarriorWater smallWater  = new WarriorWater();
            WarriorWater mediumWater = new WarriorWater();

            mediumWater.Size = Size.Medium;
            WarriorWater largeWater = new WarriorWater();

            largeWater.Size = Size.Large;
            Assert.Collection <IOrderItem>(Menu.FullMenu(),
                                           item => Assert.Equal(item.ToString(), bb.ToString()),
                                           item => Assert.Equal(item.ToString(), dd.ToString()),
                                           item => Assert.Equal(item.ToString(), goo.ToString()),
                                           item => Assert.Equal(item.ToString(), pp.ToString()),
                                           item => Assert.Equal(item.ToString(), ss.ToString()),
                                           item => Assert.Equal(item.ToString(), tt.ToString()),
                                           item => Assert.Equal(item.ToString(), ttb.ToString()),
                                           item => Assert.Equal(item.ToString(), smallFries.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumFries.ToString()),
                                           item => Assert.Equal(item.ToString(), largeFries.ToString()),
                                           item => Assert.Equal(item.ToString(), smallMiraak.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumMiraak.ToString()),
                                           item => Assert.Equal(item.ToString(), largeMiraak.ToString()),
                                           item => Assert.Equal(item.ToString(), smallGrits.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumGrits.ToString()),
                                           item => Assert.Equal(item.ToString(), largeGrits.ToString()),
                                           item => Assert.Equal(item.ToString(), smallSalad.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumSalad.ToString()),
                                           item => Assert.Equal(item.ToString(), largeSalad.ToString()),
                                           item => Assert.Equal(item.ToString(), smallJuice.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumJuice.ToString()),
                                           item => Assert.Equal(item.ToString(), largeJuice.ToString()),
                                           item => Assert.Equal(item.ToString(), smallCoffee.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumCoffee.ToString()),
                                           item => Assert.Equal(item.ToString(), largeCoffee.ToString()),
                                           item => Assert.Equal(item.ToString(), smallDecafCoffee.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumDecafCoffee.ToString()),
                                           item => Assert.Equal(item.ToString(), largeDecafCoffee.ToString()),
                                           item => Assert.Equal(item.ToString(), smallMilk.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumMilk.ToString()),
                                           item => Assert.Equal(item.ToString(), largeMilk.ToString()),
                                           item => Assert.Equal(item.ToString(), smallCherrySoda.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumCherrySoda.ToString()),
                                           item => Assert.Equal(item.ToString(), largeCherrySoda.ToString()),
                                           item => Assert.Equal(item.ToString(), smallBerrySoda.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumBerrySoda.ToString()),
                                           item => Assert.Equal(item.ToString(), largeBerrySoda.ToString()),
                                           item => Assert.Equal(item.ToString(), smallFruitSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumFruitSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), largeFruitSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), smallLemonSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumLemonSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), largeLemonSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), smallPeachSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumPeachSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), largePeachSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), smallMelonSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumMelonSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), largeMelonSoda.ToString()),
                                           item => Assert.Equal(item.ToString(), smallWater.ToString()),
                                           item => Assert.Equal(item.ToString(), mediumWater.ToString()),
                                           item => Assert.Equal(item.ToString(), largeWater.ToString()));
        }
Exemplo n.º 12
0
        public void ShouldBeAssignableFromINotifyPropertyChanged()
        {
            var mad = new MadOtarGrits();

            Assert.IsAssignableFrom <INotifyPropertyChanged>(mad);
        }
Exemplo n.º 13
0
        public void ShouldReturnCorrectDescription()
        {
            var mad = new MadOtarGrits();

            Assert.Equal("Cheesey Grits.", mad.Description);
        }
Exemplo n.º 14
0
 /// <summary>
 /// initializes customization WPF
 /// </summary>
 public MadOtarGritsCustom()
 {
     InitializeComponent();
     Side             = new MadOtarGrits();
     this.DataContext = Side;
 }
Exemplo n.º 15
0
        public void NamePropertyGetsToString()
        {
            MadOtarGrits bb = new MadOtarGrits();

            Assert.Equal(bb.ToString(), bb.Name);
        }
Exemplo n.º 16
0
        /// <summary>
        /// Makes a list of all the items and turns it into an IEnumerale<IOrderItem>
        /// </summary>
        /// <returns> IEnumerale<IOrderItem> of all the items </returns>
        public static IEnumerable <IOrderItem> FullMenu()
        {
            List <IOrderItem> Items = new List <IOrderItem>();

            AretinoAppleJuice ajs = new AretinoAppleJuice();

            ajs.Size = Size.Small;
            AretinoAppleJuice ajm = new AretinoAppleJuice();

            ajm.Size = Size.Medium;
            AretinoAppleJuice ajl = new AretinoAppleJuice();

            ajl.Size = Size.Large;
            Items.Add(ajs);
            Items.Add(ajm);
            Items.Add(ajl);

            CandlehearthCoffee ccs = new CandlehearthCoffee();

            ccs.Size = Size.Small;
            CandlehearthCoffee ccm = new CandlehearthCoffee();

            ccm.Size = Size.Medium;
            CandlehearthCoffee ccl = new CandlehearthCoffee();

            ccl.Size = Size.Large;
            Items.Add(ccs);
            Items.Add(ccm);
            Items.Add(ccl);

            CandlehearthCoffee dccs = new CandlehearthCoffee();

            dccs.Size  = Size.Small;
            dccs.Decaf = true;
            CandlehearthCoffee dccm = new CandlehearthCoffee();

            dccm.Size  = Size.Medium;
            dccm.Decaf = true;
            CandlehearthCoffee dccl = new CandlehearthCoffee();

            dccl.Size  = Size.Large;
            dccl.Decaf = true;
            Items.Add(dccs);
            Items.Add(dccm);
            Items.Add(dccl);

            MarkarthMilk mms = new MarkarthMilk();

            mms.Size = Size.Small;
            MarkarthMilk mmm = new MarkarthMilk();

            mmm.Size = Size.Medium;
            MarkarthMilk mml = new MarkarthMilk();

            mml.Size = Size.Large;
            Items.Add(mms);
            Items.Add(mmm);
            Items.Add(mml);

            SailorSoda sssbb = new SailorSoda();

            sssbb.Size   = Size.Small;
            sssbb.Flavor = SodaFlavor.Blackberry;
            SailorSoda ssmbb = new SailorSoda();

            ssmbb.Size   = Size.Medium;
            ssmbb.Flavor = SodaFlavor.Blackberry;
            SailorSoda sslbb = new SailorSoda();

            sslbb.Size   = Size.Large;
            sslbb.Flavor = SodaFlavor.Blackberry;
            Items.Add(sssbb);
            Items.Add(ssmbb);
            Items.Add(sslbb);

            SailorSoda sssc = new SailorSoda();

            sssc.Size   = Size.Small;
            sssc.Flavor = SodaFlavor.Cherry;
            SailorSoda ssmc = new SailorSoda();

            ssmc.Flavor = SodaFlavor.Cherry;
            ssmc.Size   = Size.Medium;
            SailorSoda sslc = new SailorSoda();

            sslc.Flavor = SodaFlavor.Cherry;
            sslc.Size   = Size.Large;
            Items.Add(sssc);
            Items.Add(ssmc);
            Items.Add(sslc);

            SailorSoda sssg = new SailorSoda();

            sssg.Size   = Size.Small;
            sssg.Flavor = SodaFlavor.Grapefruit;
            SailorSoda ssmg = new SailorSoda();

            ssmg.Size   = Size.Medium;
            ssmg.Flavor = SodaFlavor.Grapefruit;
            SailorSoda sslg = new SailorSoda();

            sslg.Size   = Size.Large;
            sslg.Flavor = SodaFlavor.Grapefruit;
            Items.Add(sssg);
            Items.Add(ssmg);
            Items.Add(sslg);

            SailorSoda sssl = new SailorSoda();

            sssl.Size   = Size.Small;
            sssl.Flavor = SodaFlavor.Lemon;
            SailorSoda ssml = new SailorSoda();

            ssml.Size   = Size.Medium;
            ssml.Flavor = SodaFlavor.Lemon;
            SailorSoda ssll = new SailorSoda();

            ssll.Size   = Size.Large;
            ssll.Flavor = SodaFlavor.Lemon;
            Items.Add(sssl);
            Items.Add(ssml);
            Items.Add(ssll);

            SailorSoda sssp = new SailorSoda();

            sssp.Size   = Size.Small;
            sssp.Flavor = SodaFlavor.Peach;
            SailorSoda ssmp = new SailorSoda();

            ssmp.Size   = Size.Medium;
            ssmp.Flavor = SodaFlavor.Peach;
            SailorSoda sslp = new SailorSoda();

            sslp.Size   = Size.Large;
            sslp.Flavor = SodaFlavor.Peach;
            Items.Add(sssp);
            Items.Add(ssmp);
            Items.Add(sslp);

            SailorSoda sssw = new SailorSoda();

            sssw.Size   = Size.Small;
            sssw.Flavor = SodaFlavor.Watermelon;
            SailorSoda ssmw = new SailorSoda();

            ssmw.Size   = Size.Medium;
            ssmw.Flavor = SodaFlavor.Watermelon;
            SailorSoda sslw = new SailorSoda();

            sslw.Size   = Size.Large;
            sslw.Flavor = SodaFlavor.Watermelon;
            Items.Add(sssw);
            Items.Add(ssmw);
            Items.Add(sslw);

            WarriorWater wws = new WarriorWater();

            wws.Size = Size.Small;
            WarriorWater wwm = new WarriorWater();

            wwm.Size = Size.Medium;
            WarriorWater wwl = new WarriorWater();

            wwl.Size = Size.Large;
            Items.Add(wws);
            Items.Add(wwm);
            Items.Add(wwl);

            DragonbornWaffleFries dwfs = new DragonbornWaffleFries();

            dwfs.Size = Size.Small;
            DragonbornWaffleFries dwfm = new DragonbornWaffleFries();

            dwfm.Size = Size.Medium;
            DragonbornWaffleFries dwfl = new DragonbornWaffleFries();

            dwfl.Size = Size.Large;
            Items.Add(dwfs);
            Items.Add(dwfm);
            Items.Add(dwfl);

            FriedMiraak fms = new FriedMiraak();

            fms.Size = Size.Small;
            FriedMiraak fmm = new FriedMiraak();

            fmm.Size = Size.Medium;
            FriedMiraak fml = new FriedMiraak();

            fml.Size = Size.Large;
            Items.Add(fms);
            Items.Add(fmm);
            Items.Add(fml);

            MadOtarGrits mogs = new MadOtarGrits();

            mogs.Size = Size.Small;
            MadOtarGrits mogm = new MadOtarGrits();

            mogm.Size = Size.Medium;
            MadOtarGrits mogl = new MadOtarGrits();

            mogl.Size = Size.Large;
            Items.Add(mogs);
            Items.Add(mogm);
            Items.Add(mogl);

            VokunSalad vss = new VokunSalad();

            vss.Size = Size.Small;
            VokunSalad vsm = new VokunSalad();

            vsm.Size = Size.Medium;
            VokunSalad vsl = new VokunSalad();

            vsl.Size = Size.Large;
            Items.Add(vss);
            Items.Add(vsm);
            Items.Add(vsl);

            BriarheartBurger   bb  = new BriarheartBurger();
            DoubleDraugr       dd  = new DoubleDraugr();
            GardenOrcOmelette  goo = new GardenOrcOmelette();
            PhillyPoacher      pp  = new PhillyPoacher();
            SmokehouseSkeleton ss  = new SmokehouseSkeleton();
            ThalmorTriple      tt  = new ThalmorTriple();
            ThugsTBone         ttb = new ThugsTBone();

            Items.Add(bb);
            Items.Add(dd);
            Items.Add(goo);
            Items.Add(pp);
            Items.Add(ss);
            Items.Add(tt);
            Items.Add(ttb);

            return(Items);
        }
Exemplo n.º 17
0
        public void ChangingSizeNotifiesSizePriceAndCalorieProperties()
        {
            var mog = new MadOtarGrits();

            mog.Size = Size.Large;

            Assert.PropertyChanged(mog, "Size", () =>
            {
                mog.Size = Size.Small;
            });

            Assert.PropertyChanged(mog, "Size", () =>
            {
                mog.Size = Size.Medium;
            });

            Assert.PropertyChanged(mog, "Size", () =>
            {
                mog.Size = Size.Large;
            });

            Assert.PropertyChanged(mog, "Price", () =>
            {
                mog.Size = Size.Small;
            });

            Assert.PropertyChanged(mog, "Price", () =>
            {
                mog.Size = Size.Medium;
            });

            Assert.PropertyChanged(mog, "Price", () =>
            {
                mog.Size = Size.Large;
            });

            Assert.PropertyChanged(mog, "Calories", () =>
            {
                mog.Size = Size.Small;
            });

            Assert.PropertyChanged(mog, "Calories", () =>
            {
                mog.Size = Size.Medium;
            });

            Assert.PropertyChanged(mog, "Calories", () =>
            {
                mog.Size = Size.Large;
            });

            Assert.PropertyChanged(mog, "Name", () =>
            {
                mog.Size = Size.Small;
            });

            Assert.PropertyChanged(mog, "Name", () =>
            {
                mog.Size = Size.Medium;
            });

            Assert.PropertyChanged(mog, "Name", () =>
            {
                mog.Size = Size.Large;
            });
        }
Exemplo n.º 18
0
        public void ReturnsRightPriceCaloriesToStringAndInstructions()
        {
            ComboMeal CM = 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;
                }

                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;

                        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;

                                        List <string> e = new List <string>();
                                        e.Add(iItem.ToString());
                                        List <string> sid = new List <string>();
                                        sid.Add(jItem.ToString());
                                        List <string> d = new List <string>();
                                        d.Add(kItem.ToString());

                                        CM.Entree = iItem;
                                        CM.Side   = jItem;
                                        CM.Drink  = kItem;

                                        Assert.Equal(iItem.Price + jItem.Price + kItem.Price - 1, CM.Price);
                                        Assert.Equal(iItem.Calories + jItem.Calories + kItem.Calories, CM.Calories);

                                        List <string> SpecialInstructions = (iItem.SpecialInstructions).Concat((jItem.SpecialInstructions).Concat((kItem.SpecialInstructions))).ToList();
                                        Assert.Equal(SpecialInstructions, CM.SpecialInstructions);
                                        Assert.Equal(iItem.ToString() + "\n" + jItem.ToString() + "\n" + kItem.ToString(), CM.ToString());
                                    }
                                }
                                else
                                {
                                    List <string> e = new List <string>();
                                    e.Add(iItem.ToString());
                                    List <string> sid = new List <string>();
                                    sid.Add(jItem.ToString());
                                    List <string> d = new List <string>();
                                    d.Add(kItem.ToString());

                                    CM.Entree = iItem;
                                    CM.Side   = jItem;
                                    CM.Drink  = kItem;

                                    Assert.Equal(iItem.Price + jItem.Price + kItem.Price - 1, CM.Price);
                                    Assert.Equal(iItem.Calories + jItem.Calories + kItem.Calories, CM.Calories);

                                    List <string> SpecialInstructions = (iItem.SpecialInstructions).Concat((jItem.SpecialInstructions).Concat((kItem.SpecialInstructions))).ToList();
                                    Assert.Equal(SpecialInstructions, CM.SpecialInstructions);
                                    Assert.Equal(iItem.ToString() + "\n" + jItem.ToString() + "\n" + kItem.ToString(), CM.ToString());
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 19
0
        public void ShouldBeAnOrderItem()
        {
            MadOtarGrits side = new MadOtarGrits();

            Assert.True(side is IOrderItem);
        }
Exemplo n.º 20
0
        public void CheckInterfaceForSide()
        {
            MadOtarGrits mog = new MadOtarGrits();

            Assert.IsAssignableFrom <IOrderItem>(mog);
        }
Exemplo n.º 21
0
        public void ShouldReturnCorrectSpecialInstructions()
        {
            MadOtarGrits side = new MadOtarGrits();

            Assert.Empty(side.SpecialInstructions);
        }
Exemplo n.º 22
0
        public void SidesReturnsAllItems()
        {
            bool includesSmallDragonBornWaffleFries  = false;
            bool includesMediumDragonBornWaffleFries = false;
            bool includesLargeDragonBornWaffleFries  = false;
            bool includesSmallFriedMiraak            = false;
            bool includesMediumFriedMiraak           = false;
            bool includesLargeFriedMiraak            = false;
            bool includesSmallMadOtarGrits           = false;
            bool includesMediumMadOtarGrits          = false;
            bool includesLargeMadOtarGrits           = false;
            bool includesSmallVokunSalad             = false;
            bool includesMediumVokunSalad            = false;
            bool includesLargeVokunSalad             = false;
            bool SidesOnlyAppearOnce = true;
            bool OnlySidesAppear     = true;

            List <IOrderItem> entrees = (List <IOrderItem>)Menu.Sides();

            foreach (IOrderItem i in entrees)
            {
                if (i is DragonbornWaffleFries)
                {
                    DragonbornWaffleFries db = (DragonbornWaffleFries)i;
                    Size s = db.Size;
                    if (s == Size.Small && !includesSmallDragonBornWaffleFries)
                    {
                        includesSmallDragonBornWaffleFries = true;
                    }
                    else if (s == Size.Medium && !includesMediumDragonBornWaffleFries)
                    {
                        includesMediumDragonBornWaffleFries = true;
                    }
                    else if (s == Size.Large && !includesLargeDragonBornWaffleFries)
                    {
                        includesLargeDragonBornWaffleFries = true;
                    }
                    else
                    {
                        SidesOnlyAppearOnce = false;
                    }
                }
                else if (i is FriedMiraak)
                {
                    FriedMiraak fm = (FriedMiraak)i;
                    Size        s  = fm.Size;
                    if (s == Size.Small && !includesSmallFriedMiraak)
                    {
                        includesSmallFriedMiraak = true;
                    }
                    else if (s == Size.Medium && !includesMediumFriedMiraak)
                    {
                        includesMediumFriedMiraak = true;
                    }
                    else if (s == Size.Large && !includesLargeFriedMiraak)
                    {
                        includesLargeFriedMiraak = true;
                    }
                    else
                    {
                        SidesOnlyAppearOnce = false;
                    }
                }
                else if (i is MadOtarGrits)
                {
                    MadOtarGrits mog = (MadOtarGrits)i;
                    Size         s   = mog.Size;
                    if (s == Size.Small && !includesSmallMadOtarGrits)
                    {
                        includesSmallMadOtarGrits = true;
                    }
                    else if (s == Size.Medium && !includesMediumMadOtarGrits)
                    {
                        includesMediumMadOtarGrits = true;
                    }
                    else if (s == Size.Large && !includesLargeMadOtarGrits)
                    {
                        includesLargeMadOtarGrits = true;
                    }
                    else
                    {
                        SidesOnlyAppearOnce = false;
                    }
                }
                else if (i is VokunSalad)
                {
                    VokunSalad vs = (VokunSalad)i;
                    Size       s  = vs.Size;
                    if (s == Size.Small && !includesSmallVokunSalad)
                    {
                        includesSmallVokunSalad = true;
                    }
                    else if (s == Size.Medium && !includesMediumVokunSalad)
                    {
                        includesMediumVokunSalad = true;
                    }
                    else if (s == Size.Large && !includesLargeVokunSalad)
                    {
                        includesLargeVokunSalad = true;
                    }
                    else
                    {
                        SidesOnlyAppearOnce = false;
                    }
                }
                else
                {
                    OnlySidesAppear = false;
                }
            }
            Assert.True(includesSmallDragonBornWaffleFries);
            Assert.True(includesMediumDragonBornWaffleFries);
            Assert.True(includesLargeDragonBornWaffleFries);
            Assert.True(includesSmallFriedMiraak);
            Assert.True(includesMediumFriedMiraak);
            Assert.True(includesLargeFriedMiraak);
            Assert.True(includesSmallMadOtarGrits);
            Assert.True(includesMediumMadOtarGrits);
            Assert.True(includesLargeMadOtarGrits);
            Assert.True(includesSmallVokunSalad);
            Assert.True(includesMediumVokunSalad);
            Assert.True(includesLargeVokunSalad);
            Assert.True(SidesOnlyAppearOnce);
            Assert.True(OnlySidesAppear);
        }
Exemplo n.º 23
0
        public void ImplementsNotifyPropertyInterface()
        {
            MadOtarGrits mog = new MadOtarGrits();

            Assert.IsAssignableFrom <INotifyPropertyChanged>(mog);
        }
Exemplo n.º 24
0
        /// <summary>
        /// Creates new instances of the menu.
        /// </summary>
        /// <returns>
        /// An "IEnumerable<IOrderItem>" of all food items offered by BleakwindBuffet.
        /// </returns>
        public static IEnumerable <IOrderItem> FullMenu()
        {
            List <IOrderItem> result = new List <IOrderItem>();

            Size[]       availSizes = new Size[] { Size.Small, Size.Medium, Size.Large };
            SodaFlavor[] availflav  = new SodaFlavor[] { SodaFlavor.Blackberry, SodaFlavor.Cherry,
                                                         SodaFlavor.Grapefruit, SodaFlavor.Lemon, SodaFlavor.Peach, SodaFlavor.Watermelon };

            /*Creates Entrees*/
            result.Add(new BriarheartBurger());
            result.Add(new DoubleDraugr());
            result.Add(new GardenOrcOmelette());
            result.Add(new PhillyPoacher());
            result.Add(new SmokehouseSkeleton());
            result.Add(new ThalmorTriple());
            result.Add(new ThugsTBone());


            foreach (Size currSize in availSizes)
            {
                /*Create sides*/
                Side fries = new DragonbornWaffleFries
                {
                    Size = currSize
                };
                Side miraak = new FriedMiraak
                {
                    Size = currSize
                };
                Side grits = new MadOtarGrits
                {
                    Size = currSize
                };
                Side salad = new VokunSalad
                {
                    Size = currSize
                };

                /*Add sides to result*/
                result.Add(fries);
                result.Add(miraak);
                result.Add(grits);
                result.Add(salad);

                /*Create drinks*/
                Drink aj = new AretinoAppleJuice
                {
                    Size = currSize
                };
                Drink cof = new CandlehearthCoffee
                {
                    Size = currSize
                };
                Drink mlk = new MarkarthMilk
                {
                    Size = currSize
                };
                Drink wtr = new WarriorWater
                {
                    Size = currSize
                };

                /*Create sailor soda according to the avail. flavors*/
                foreach (SodaFlavor currFlav in availflav)
                {
                    SailorSoda ss = new SailorSoda();
                    ss.Flavor = currFlav;
                    Drink soda = (Drink)ss;
                    soda.Size = currSize;
                    result.Add(soda);
                }

                /*Add Drinks to list*/
                result.Add(aj);
                result.Add(cof);
                result.Add(mlk);
                result.Add(wtr);
            }
            return(result);
        }
Exemplo n.º 25
0
        public void ShouldBeIOrderItem()
        {
            MadOtarGrits mog = new MadOtarGrits();

            Assert.IsAssignableFrom <IOrderItem>(mog);
        }
        public void ShouldBeAnINotifyPropertyChanged()
        {
            MadOtarGrits mog = new MadOtarGrits();

            Assert.IsAssignableFrom <INotifyPropertyChanged>(mog);
        }
Exemplo n.º 27
0
        public void ShouldBeSmallByDefault()
        {
            MadOtarGrits mog = new MadOtarGrits();

            Assert.Equal(Size.Small, mog.Size);
        }
Exemplo n.º 28
0
        public void ShouldBeOrderable()
        {
            MadOtarGrits side = new MadOtarGrits();

            Assert.IsAssignableFrom <IOrderItem>(side);
        }
Exemplo n.º 29
0
        public void ShouldImplementIOInterface()    //M3
        {
            MadOtarGrits mg = new MadOtarGrits();

            Assert.IsAssignableFrom <IOrderItem>(mg);
        }
Exemplo n.º 30
0
        public void CheckCorrectFullMenu()
        {
            Assert.Collection(Menu.FullMenu(),
                              //Entrees
                              item => Assert.IsType <BriarheartBurger>(item),
                              item => Assert.IsType <DoubleDraugr>(item),
                              item => Assert.IsType <GardenOrcOmelette>(item),
                              item => Assert.IsType <PhillyPoacher>(item),
                              item => Assert.IsType <SmokehouseSkeleton>(item),
                              item => Assert.IsType <ThalmorTriple>(item),
                              item => Assert.IsType <ThugsTBone>(item),

                              //Sides
                              item => {
                Assert.IsType <DragonbornWaffleFries>(item);
                DragonbornWaffleFries dbwf = (DragonbornWaffleFries)item;                    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, dbwf.Size);
            },
                              item => {
                Assert.IsType <DragonbornWaffleFries>(item);
                DragonbornWaffleFries dbwf = (DragonbornWaffleFries)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, dbwf.Size);
            },
                              item => {
                Assert.IsType <DragonbornWaffleFries>(item);
                DragonbornWaffleFries dbwf = (DragonbornWaffleFries)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, dbwf.Size);
            },
                              //FriedMiraak
                              item => {
                Assert.IsType <FriedMiraak>(item);
                FriedMiraak fm = (FriedMiraak)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, fm.Size);
            },
                              item => {
                Assert.IsType <FriedMiraak>(item);
                FriedMiraak fm = (FriedMiraak)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, fm.Size);
            },
                              item => {
                Assert.IsType <FriedMiraak>(item);
                FriedMiraak fm = (FriedMiraak)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, fm.Size);
            },
                              //MadOtarGrits
                              item => {
                Assert.IsType <MadOtarGrits>(item);
                MadOtarGrits mog = (MadOtarGrits)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, mog.Size);
            },
                              item => {
                Assert.IsType <MadOtarGrits>(item);
                MadOtarGrits mog = (MadOtarGrits)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, mog.Size);
            },
                              item => {
                Assert.IsType <MadOtarGrits>(item);
                MadOtarGrits mog = (MadOtarGrits)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, mog.Size);
            },
                              //VokunSalad
                              item => {
                Assert.IsType <VokunSalad>(item);
                VokunSalad vs = (VokunSalad)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, vs.Size);
            },
                              item => {
                Assert.IsType <VokunSalad>(item);
                VokunSalad vs = (VokunSalad)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, vs.Size);
            },
                              item => {
                Assert.IsType <VokunSalad>(item);
                VokunSalad vs = (VokunSalad)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, vs.Size);
            },

                              //Drinks

                              //AretinoAppleJuice
                              item => {
                Assert.IsType <AretinoAppleJuice>(item);
                AretinoAppleJuice aa = (AretinoAppleJuice)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, aa.Size);
            },
                              item => {
                Assert.IsType <AretinoAppleJuice>(item);
                AretinoAppleJuice aa = (AretinoAppleJuice)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, aa.Size);
            },
                              item => {
                Assert.IsType <AretinoAppleJuice>(item);
                AretinoAppleJuice aa = (AretinoAppleJuice)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, aa.Size);
            },
                              //CandlehearthCofffee
                              item => {
                Assert.IsType <CandlehearthCoffee>(item);
                CandlehearthCoffee chc = (CandlehearthCoffee)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, chc.Size);
            },
                              item => {
                Assert.IsType <CandlehearthCoffee>(item);
                CandlehearthCoffee chc = (CandlehearthCoffee)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, chc.Size);
            },
                              item => {
                Assert.IsType <CandlehearthCoffee>(item);
                CandlehearthCoffee chc = (CandlehearthCoffee)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, chc.Size);
            },
                              //MarkarthMilk
                              item => {
                Assert.IsType <MarkarthMilk>(item);
                MarkarthMilk mm = (MarkarthMilk)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, mm.Size);
            },
                              item => {
                Assert.IsType <MarkarthMilk>(item);
                MarkarthMilk mm = (MarkarthMilk)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, mm.Size);
            },
                              item => {
                Assert.IsType <MarkarthMilk>(item);
                MarkarthMilk mm = (MarkarthMilk)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, mm.Size);
            },
                              //Warrior Water.
                              item => {
                Assert.IsType <WarriorWater>(item);
                WarriorWater ww = (WarriorWater)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, ww.Size);
            },
                              item => {
                Assert.IsType <WarriorWater>(item);
                WarriorWater ww = (WarriorWater)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, ww.Size);
            },
                              item => {
                Assert.IsType <WarriorWater>(item);
                WarriorWater ww = (WarriorWater)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, ww.Size);
            },
                              //SailorSoda

                              //Blackberry
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, ss.Size);
                Assert.Equal(SodaFlavor.Blackberry, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, ss.Size);
                Assert.Equal(SodaFlavor.Blackberry, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, ss.Size);
                Assert.Equal(SodaFlavor.Blackberry, ss.Flavor);
            },

                              //Cherry
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, ss.Size);
                Assert.Equal(SodaFlavor.Cherry, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, ss.Size);
                Assert.Equal(SodaFlavor.Cherry, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, ss.Size);
                Assert.Equal(SodaFlavor.Cherry, ss.Flavor);
            },

                              //Grapefruit
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, ss.Size);
                Assert.Equal(SodaFlavor.Grapefruit, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, ss.Size);
                Assert.Equal(SodaFlavor.Grapefruit, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, ss.Size);
                Assert.Equal(SodaFlavor.Grapefruit, ss.Flavor);
            },

                              //Lemon
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, ss.Size);
                Assert.Equal(SodaFlavor.Lemon, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, ss.Size);
                Assert.Equal(SodaFlavor.Lemon, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, ss.Size);
                Assert.Equal(SodaFlavor.Lemon, ss.Flavor);
            },

                              //Peach
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, ss.Size);
                Assert.Equal(SodaFlavor.Peach, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, ss.Size);
                Assert.Equal(SodaFlavor.Peach, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, ss.Size);
                Assert.Equal(SodaFlavor.Peach, ss.Flavor);
            },

                              //Watermelon
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Small, ss.Size);
                Assert.Equal(SodaFlavor.Watermelon, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Medium, ss.Size);
                Assert.Equal(SodaFlavor.Watermelon, ss.Flavor);
            },
                              item => {
                Assert.IsType <SailorSoda>(item);
                SailorSoda ss = (SailorSoda)item;    //Should be safe as it was asserted above for type
                Assert.Equal(Size.Large, ss.Size);
                Assert.Equal(SodaFlavor.Watermelon, ss.Flavor);
            });
        }