public void ChangingBunNotifiesBunProperty() { var bb = new BriarheartBurger(); Assert.PropertyChanged(bb, "Bun", () => { bb.Bun = false; }); Assert.PropertyChanged(bb, "Bun", () => { bb.Bun = true; }); }
}//end GoBack /// <summary> /// EventHandler for one of the ItemButtons to get its item /// added to ItemCustomizer so that it can be customized. /// </summary> public void GetSelectedItem(object sender, RoutedEventArgs e) { if(sender is ItemButton button) { //go ahead and change screens and stuff i guess dynamic item; switch (button.Content) { case "Briarheart Burger": item = new BriarheartBurger(); break; case "Double Draugr": item = new DoubleDraugr(); break; case "Thalmor Triple": item = new ThalmorTriple(); break; case "Smokehouse Skeleton": item = new SmokehouseSkeleton(); break; case "Garden Orc Omelette": item = new GardenOrcOmelette(); break; case "Philly Poacher": item = new PhillyPoacher(); break; case "Thugs T-Bone": item = new ThugsTBone(); break; default: throw new NotImplementedException("That button isn't fully " + "implemented yet. See source of error for more detail."); }//end switch case to determine item type //send item to ItemCustomizer (if it actually had any bools to customize, this'd be useful) SendToCustomizer(item); //Switch Screens ItemSelector.itemSelector.Child = ItemSelector.ic; //tell ic whether or not we're dealing with a combo ItemSelector.ic.IsCombo = IsCombo; if (IsCombo) { ItemSelector.CurCombo.Entree = item; }//end if this item is part of a combo }//end if sender is right type }//end GetSelectedItem event handler
public void ShouldNotifyOfSpecialInstructionsChange() { BriarheartBurger bb = new BriarheartBurger(); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Bun = false); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Bun = true); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Ketchup = false); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Ketchup = true); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Mustard = false); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Mustard = true); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Pickle = false); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Pickle = true); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Cheese = false); Assert.PropertyChanged(bb, "SpecialInstructions", () => bb.Cheese = true); }
public void ShouldBeAbleToAddItemsToOrder() { var BB = new BriarheartBurger(); double taxRate = 0.0895; double expectedTax = Math.Round((BB.Price * taxRate), 2); double expectedTotal = BB.Price + expectedTax; var order = new Order(1); order.AddItem = BB; Assert.Equal(BB.Price, order.SubTotal); Assert.Equal(expectedTax, order.Tax); Assert.Equal(expectedTotal, order.Total); }
public void HoldingShouldNotifyPropertiesChange(string s) { BriarheartBurger entree = new BriarheartBurger(); System.Action p = () => { entree.Bun = false; entree.Ketchup = false; entree.Pickle = false; entree.Mustard = false; entree.Cheese = false; }; Assert.PropertyChanged(entree, "SpecialInstructions", p); Assert.PropertyChanged(entree, s, p); }
public void ChangingSpecialInstructionsNotifiesSpecialInstructionsProperty() { BriarheartBurger bb = new BriarheartBurger(); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Cheese = false; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Cheese = true; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Pickle = false; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Pickle = true; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Mustard = false; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Mustard = true; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Ketchup = false; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Ketchup = true; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Bun = false; }); Assert.PropertyChanged(bb, "SpecialInstructions", () => { bb.Bun = true; }); }
public void OrderCountIsCorrect() { Order o = new Order(); BriarheartBurger burg = new BriarheartBurger(); o.Add(burg); Assert.Single(o); ThalmorTriple burg2 = new ThalmorTriple(); o.Add(burg2); Assert.Equal(2, o.Count); }
public void TotalShouldBeTaxPlusSubtotal() { var O = new Order(); AretinoAppleJuice d = new AretinoAppleJuice(); BriarheartBurger b = new BriarheartBurger(); VokunSalad v = new VokunSalad(); double theoreticalPrice = d.Price + b.Price + v.Price; double theoreticalTax = .12 * theoreticalPrice; double theoreticalTotal = theoreticalPrice + theoreticalTax; O.Add(d); O.Add(b); O.Add(v); Assert.Equal(theoreticalTotal, O.Total); }
public void ShouldReturnCorrectCalories() { var EWE = new EbonyWarriorEntourage(); Entree e = new BriarheartBurger(); Side s = new VokunSalad(); Drink d = new WarriorWater(); EWE.Entree = e; EWE.Side = s; EWE.Drink = d; uint expectedCalories = e.Calories + s.Calories + d.Calories; Assert.Equal(expectedCalories, EWE.Calories); }
public static IEnumerable <IOrderItem> Entrees() { var BB = new BriarheartBurger(); var DD = new DoubleDraugr(); var GOO = new GardenOrcOmelette(); var PP = new PhillyPoacher(); var SS = new SmokehouseSkeleton(); var TT = new ThalmorTriple(); var TTB = new ThugsTBone(); IOrderItem[] result = { BB, DD, GOO, PP, SS, TT, TTB }; IEnumerable <IOrderItem> enumerator = new List <IOrderItem>(result); return(enumerator); }
public void RemovingFromOrderRemovesItem() { Order order = new Order(); AretinoAppleJuice aa = new AretinoAppleJuice(); BriarheartBurger bb = new BriarheartBurger(); order.Add(aa); order.Add(bb); order.Remove(aa); Assert.DoesNotContain <IOrderItem>(aa, order); order.Remove(bb); Assert.DoesNotContain <IOrderItem>(bb, order); }
/// <summary> /// Handler for ADD/Back button press. /// On ADD click: displays the OrderList.xaml in the correct loaction on the screen /// and sets Data.Context to a new item Object. /// On BACK click: displays the OrderList.xaml in the correct loaction on the screen /// but does not set Data.Context to a new item Object. /// </summary> /// <param name="sender">button</param> /// <param name="e">left mouse down</param> public void uxButton_Click(object sender, RoutedEventArgs e) { BriarheartBurger item = (BriarheartBurger)this.DataContext; Button button = (Button)sender; if (button.Name == "Add") { if (this.ancestor.openSpace.DataContext is OrderList list) { if (list.Contains(item)) { Add.Content = "Done"; if (isCombo) { this.ancestor.SwitchScreen(Screen.Combo); this.ancestor.openSpace2.Child = new Order(this.ancestor); } else { this.ancestor.SwitchScreen(Screen.Empty); this.ancestor.openSpace2.Child = new Order(this.ancestor); } } else if (!isCombo) { list.Add(placeholder); this.ancestor.SwitchScreen(Screen.Empty); this.ancestor.openSpace2.Child = new Order(this.ancestor); } else if (isCombo) { this.ancestor.SwitchScreen(Screen.Combo); this.comboOps.SelectedItem = item; this.ancestor.openSpace2.Child = new Order(this.ancestor); } } } else if (button.Name == "Back" && !isCombo) { this.ancestor.SwitchScreen(Screen.Empty); this.ancestor.openSpace2.Child = new Order(this.ancestor); } else if (button.Name == "Back" && isCombo) { this.ancestor.SwitchScreen(Screen.Combo); this.ancestor.openSpace2.Child = new Order(this.ancestor); } }
public void IndexingShouldAllowYouToSetItems() { Order order = new Order(); BriarheartBurger BB = new BriarheartBurger(); DragonbornWaffleFries DWF = new DragonbornWaffleFries(); AretinoAppleJuice AAJ = new AretinoAppleJuice(); GardenOrcOmelette GOO = new GardenOrcOmelette(); order.Add(BB); order.Add(DWF); order.Add(AAJ); order[1] = GOO; Assert.Equal(GOO, order[1]); }
public void ShouldRemoveItemsFromSpecialInstructions() { BriarheartBurger BB = new BriarheartBurger(); BB.Bun = false; BB.Ketchup = false; BB.Mustard = false; BB.Pickle = false; BB.Cheese = false; BB.Bun = true; BB.Ketchup = true; BB.Mustard = true; BB.Pickle = true; BB.Cheese = true; Assert.Empty(BB.SpecialInstructions); }
public void AddingComboShouldTriggerCalorieChanges() { var bb = new BriarheartBurger(); var aj = new AretinoAppleJuice(); var dw = new DragonbornWaffleFries(); Combo combo1 = new Combo(bb, aj, dw); Assert.PropertyChanged(combo1, "Calories", () => aj.Size = Size.Large); Assert.PropertyChanged(combo1, "Calories", () => dw.Size = Size.Medium); //make more methods for calories and sizes }
public void AddingOrRemovingItemNotifiesTaxProperty() { Order order = new Order(); Assert.PropertyChanged(order, "Tax", () => { BriarheartBurger b = new BriarheartBurger(); order.Add(b); }); Assert.PropertyChanged(order, "Tax", () => { BriarheartBurger b = new BriarheartBurger(); order.Add(b); order.Remove(b); }); }
public void ChangingContentsSpecialInstructionsNotifiesSpecialInstructionsProperty() { BriarheartBurger entree = new BriarheartBurger(); DragonbornWaffleFries side = new DragonbornWaffleFries(); WarriorWater drink = new WarriorWater(); Combo combo = new Combo(entree, side, drink); Assert.PropertyChanged(combo, "SpecialInstructions", () => { combo.Side.Size = Size.Medium; }); Assert.PropertyChanged(combo, "SpecialInstructions", () => { combo.Drink.Size = Size.Large; }); }
public void ChangingEntreeNotifiesEntreeProperty() { BriarheartBurger b = new BriarheartBurger(); Combo combo = new Combo(); Assert.PropertyChanged(combo, "Entree", () => { combo.Entree = b; }); DoubleDraugr dd = new DoubleDraugr(); Assert.PropertyChanged(combo, "Entree", () => { combo.Entree = dd; }); }
public void TotalShouldBeSubtotalPlusTax() { Order o = new Order(); BriarheartBurger b = new BriarheartBurger(); SailorSoda s = new SailorSoda(); FriedMiraak f = new FriedMiraak(); o.Add(b); o.Add(s); o.Add(f); double expectedSubtotal = b.Price + s.Price + f.Price; double expectedTax = expectedSubtotal * o.SalesTaxRate; double expectedTotal = Math.Round(expectedSubtotal + expectedTax, 2); Assert.Equal(expectedTotal, o.Total); }
public void ShouldAddToOrder() { DragonbornWaffleFries dw = new DragonbornWaffleFries(); AretinoAppleJuice aaj = new AretinoAppleJuice(); BriarheartBurger bb = new BriarheartBurger(); Combo combo = new Combo(bb, dw, aaj); Order order = new Order(); order.Add(dw); order.Add(aaj); order.Add(bb); order.Add(combo); Assert.Contains(dw, order.items); Assert.Contains(bb, order.items); Assert.Contains(aaj, order.items); Assert.Contains(combo, order.items); }
public void ShouldAddToOrder() { Order o = new Order(); BriarheartBurger bb = new BriarheartBurger(); MarkarthMilk mm = new MarkarthMilk(); FriedMiraak fm = new FriedMiraak(); Combo c = new Combo(bb, mm, fm); o.Add(bb); o.Add(mm); o.Add(fm); o.Add(c); Assert.Contains(bb, o.order); Assert.Contains(mm, o.order); Assert.Contains(fm, o.order); Assert.Contains(c, o.order); }
public void ShouldReturnCorrectSpecialInstructions(bool includeBun, bool includeKetchup, bool includeMustard, bool includePickle, bool includeCheese) { bool b = false; BriarheartBurger bb = new BriarheartBurger(); bb.Bun = includeBun; bb.Ketchup = includeKetchup; bb.Mustard = includeMustard; bb.Pickle = includePickle; bb.Cheese = includeCheese; if (!includeBun) { Assert.Contains("Hold bun", bb.SpecialInstructions); b = true; } if (!includeKetchup) { Assert.Contains("Hold ketchup", bb.SpecialInstructions); b = true; } if (!includeMustard) { Assert.Contains("Hold mustard", bb.SpecialInstructions); b = true; } if (!includePickle) { Assert.Contains("Hold pickle", bb.SpecialInstructions); b = true; } if (!includeCheese) { Assert.Contains("Hold cheese", bb.SpecialInstructions); b = true; } if (b == false) { Assert.Empty(bb.SpecialInstructions); } }
public void MenuReturnsAllSpecialInstructions() { BriarheartBurger entree = new BriarheartBurger(); entree.Ketchup = false; DragonbornWaffleFries side = new DragonbornWaffleFries(); WarriorWater drink = new WarriorWater(); drink.Lemon = true; Combo combo = new Combo(entree, side, drink); Assert.Contains(combo.SpecialInstructions, (item) => { return(item.ToString().Equals("Briarheart Burger")); }); Assert.Contains(combo.SpecialInstructions, (item) => { return(item.ToString().Equals(" - Hold ketchup")); }); Assert.Contains(combo.SpecialInstructions, (item) => { return(item.ToString().Equals("Small Dragonborn Waffle Fries")); }); Assert.Contains(combo.SpecialInstructions, (item) => { return(item.ToString().Equals("Small Warrior Water")); }); Assert.Contains(combo.SpecialInstructions, (item) => { return(item.ToString().Equals(" - Add lemon")); }); }
public void SearchingTheExactCalorieValueShouldReturnTheCorrectResult() { List <IOrderItem> orderItems = new List <IOrderItem>(); BriarheartBurger BB = new BriarheartBurger(); DragonbornWaffleFries DWF = new DragonbornWaffleFries(); SailorSoda SS = new SailorSoda(); orderItems.Add(BB); orderItems.Add(DWF); orderItems.Add(SS); List <IOrderItem> test = Menu.FilterByCalories(orderItems, 117, 117).ToList(); Assert.Collection <IOrderItem>(test, item => Assert.Equal(SS, test[0]) ); }
public void SpecialInstructionsShouldBeTheSameAsItemsSpecialInstructionsPlusNames() { BriarheartBurger BB = new BriarheartBurger(); DragonbornWaffleFries DWF = new DragonbornWaffleFries(); AretinoAppleJuice AAJ = new AretinoAppleJuice(); Combo combo = new Combo(BB, DWF, AAJ); BB.Bun = false; BB.Cheese = false; DWF.Size = Data.Enums.Size.Medium; AAJ.Ice = true; AAJ.Size = Data.Enums.Size.Large; string[] expectedList = { "Briarheart Burger", "Hold bun", "Hold cheese", "Medium Dragonborn Waffle Fries", "Large Aretino Apple Juice", "Add ice" }; Assert.Equal(expectedList, combo.SpecialInstructions.ToArray()); }
public void ShouldReturnCorrectTotal() { Order order = new Order(); BriarheartBurger bb = new BriarheartBurger(); BriarheartBurger bb2 = new BriarheartBurger(); VokunSalad vs = new VokunSalad(); SailorSoda ssoda = new SailorSoda(); order.Add(bb); order.Add(bb2); order.Add(vs); order.Add(ssoda); double subtotal = Math.Round(bb.Price + bb2.Price + vs.Price + ssoda.Price, 2); double total = Math.Round((subtotal * 0.12) + subtotal, 2); Assert.Equal(total, order.Total); }
public void RemovingItemShouldTriggerEvents() { Order or = new Order(); BriarheartBurger bb = new BriarheartBurger(); BriarheartBurger bb2 = new BriarheartBurger(); BriarheartBurger bb3 = new BriarheartBurger(); BriarheartBurger bb4 = new BriarheartBurger(); or.Add(bb); or.Add(bb2); or.Add(bb3); or.Add(bb4); Assert.PropertyChanged(or, "Subtotal", () => or.Remove(bb)); Assert.PropertyChanged(or, "Tax", () => or.Remove(bb2)); Assert.PropertyChanged(or, "Total", () => or.Remove(bb3)); Assert.PropertyChanged(or, "Calories", () => or.Remove(bb4)); }
public void RemovingItemTriggersPropertiesChanged() { var x = new Order(); var a = new BriarheartBurger(); var b = new GardenOrcOmelette(); var c = new CandlehearthCoffee(); var d = new MadOtarGrits(); x.Add(a); x.Add(b); x.Add(c); x.Add(d); Assert.PropertyChanged(x, "Subtotal", () => { x.Remove(a); }); Assert.PropertyChanged(x, "Tax", () => { x.Remove(b); }); Assert.PropertyChanged(x, "Total", () => { x.Remove(c); }); Assert.PropertyChanged(x, "Calories", () => { x.Remove(d); }); }
public void ChangingItemSpecialInstructionsTriggersSpecialInstructionsPropertyChangedEventForCombo() { Combo c = new Combo(); c.Entree = new BriarheartBurger(); c.Side = new VokunSalad(); c.Drink = new AretinoAppleJuice(); Assert.PropertyChanged(c, "SpecialInstructions", () => { BriarheartBurger b = c.Entree as BriarheartBurger; b.Bun = false; }); Assert.PropertyChanged(c, "SpecialInstructions", () => { AretinoAppleJuice a = c.Drink as AretinoAppleJuice; a.Ice = true; }); }
public void ShouldAlertWhenPropertyChanged() { Order o = new Order(); BriarheartBurger b = new BriarheartBurger(); DoubleDraugr d = new DoubleDraugr(); DragonbornWaffleFries f = new DragonbornWaffleFries(); SailorSoda s = new SailorSoda(); Assert.PropertyChanged(o, "Subtotal", () => o.Add(b)); Assert.PropertyChanged(o, "Tax", () => o.Add(d)); Assert.PropertyChanged(o, "Total", () => o.Add(f)); Assert.PropertyChanged(o, "Calories", () => o.Add(s)); Assert.PropertyChanged(o, "Subtotal", () => s.Size = Data.Enums.Size.Large); Assert.PropertyChanged(o, "Tax", () => f.Size = Data.Enums.Size.Large); Assert.PropertyChanged(o, "Total", () => s.Size = Data.Enums.Size.Medium); Assert.PropertyChanged(o, "Calories", () => f.Size = Data.Enums.Size.Medium); }