public void ShouldGetCorrectInstructions() { Combo combo = new Combo(); BriarheartBurger b = new BriarheartBurger(); CandlehearthCoffee coffee = new CandlehearthCoffee(); combo.Entree = b; combo.Drink = coffee; b.Mustard = false; coffee.Ice = true; Assert.Contains("Hold mustard", combo.SpecialInstructions); Assert.Contains("Add ice", combo.SpecialInstructions); }
public void ShouldBeAbleToSetSize() { CandlehearthCoffee coffee = new CandlehearthCoffee(); coffee.Size = Size.Small; Assert.Equal(Size.Small, coffee.Size); coffee.Size = Size.Medium; Assert.Equal(Size.Medium, coffee.Size); coffee.Size = Size.Large; Assert.Equal(Size.Large, coffee.Size); coffee.Size = Size.Small; Assert.Equal(Size.Small, coffee.Size); }
public void ChangingCreamInvokesPropertyChanged() { CandlehearthCoffee chc = new CandlehearthCoffee(); Assert.PropertyChanged(chc, "RoomForCream", () => { chc.RoomForCream = true; }); Assert.PropertyChanged(chc, "RoomForCream", () => { chc.RoomForCream = false; }); }
public void ChangingIceInvokesPropertyChanged() { CandlehearthCoffee chc = new CandlehearthCoffee(); Assert.PropertyChanged(chc, "Ice", () => { chc.Ice = false; }); Assert.PropertyChanged(chc, "Ice", () => { chc.Ice = true; }); }
public void ChangingDecafNotifiesDecafProperty() { CandlehearthCoffee cc = new CandlehearthCoffee(); Assert.PropertyChanged(cc, "Decaf", () => { cc.Decaf = true; }); Assert.PropertyChanged(cc, "Decaf", () => { cc.Decaf = false; }); }
public void ChangingIceNotifiesIceProperty() { var cc = new CandlehearthCoffee(); Assert.PropertyChanged(cc, "Ice", () => { cc.Ice = true; }); Assert.PropertyChanged(cc, "Ice", () => { cc.Ice = false; }); }
public void ChangingRoomForCreamNotifiesRoomForCreamProperty() { var cc = new CandlehearthCoffee(); Assert.PropertyChanged(cc, "RoomForCream", () => { cc.RoomForCream = true; }); Assert.PropertyChanged(cc, "RoomForCream", () => { cc.RoomForCream = false; }); }
// A click event handler for the Candlehearth Coffee button void AddCandlehearthCoffee(object sender, RoutedEventArgs e) { var screen = new CandlehearthCoffeeCustom(); CandlehearthCoffee temp = new CandlehearthCoffee(); comboBorder.Child = screen; screen.DataContext = temp; if (DataContext is Combo combo) { combo.Drink = temp; screen.Combo = combo; } }
public void ChangingSizeShouldNotifyCaloriesProperty(Size size) { var chc = new CandlehearthCoffee(); if (size == Size.Small) { chc.Size = Size.Medium; } Assert.PropertyChanged(chc, "Calories", () => { chc.Size = size; }); }
public void ChangingIceNotifiesSpecialInstructionsProperty() { var cc = new CandlehearthCoffee(); Assert.PropertyChanged(cc, "SpecialInstructions", () => { cc.Ice = true; }); Assert.PropertyChanged(cc, "SpecialInstructions", () => { cc.Ice = false; }); }
public void ChangingSizeNotifiesSizePriceAndCalorieProperties() { var cc = new CandlehearthCoffee(); cc.Size = Size.Large; Assert.PropertyChanged(cc, "Size", () => { cc.Size = Size.Small; }); Assert.PropertyChanged(cc, "Size", () => { cc.Size = Size.Medium; }); Assert.PropertyChanged(cc, "Size", () => { cc.Size = Size.Large; }); Assert.PropertyChanged(cc, "Price", () => { cc.Size = Size.Small; }); Assert.PropertyChanged(cc, "Price", () => { cc.Size = Size.Medium; }); Assert.PropertyChanged(cc, "Price", () => { cc.Size = Size.Large; }); Assert.PropertyChanged(cc, "Calories", () => { cc.Size = Size.Small; }); Assert.PropertyChanged(cc, "Calories", () => { cc.Size = Size.Medium; }); Assert.PropertyChanged(cc, "Calories", () => { cc.Size = Size.Large; }); }
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); } } } }
/// <summary> /// Gets a list of all drinks on the menu. /// </summary> /// <returns>A list of IOrderItem objects that contains all drinks.</returns> public static IEnumerable <IOrderItem> Drinks() { List <IOrderItem> drinks = new List <IOrderItem>(); Drink d; //AretinoAppleJuice foreach (Size size in Enum.GetValues(typeof(Size))) { d = new AretinoAppleJuice(); d.Size = size; drinks.Add(d); } //CandlehearthCoffee foreach (Size size in Enum.GetValues(typeof(Size))) { d = new CandlehearthCoffee(); d.Size = size; drinks.Add(d); } //MarkarthMilk foreach (Size size in Enum.GetValues(typeof(Size))) { d = new MarkarthMilk(); d.Size = size; drinks.Add(d); } //WarriorWater foreach (Size size in Enum.GetValues(typeof(Size))) { d = new WarriorWater(); d.Size = size; drinks.Add(d); } //Sailor Soda foreach (SodaFlavor sf in Enum.GetValues(typeof(SodaFlavor))) { foreach (Size size in Enum.GetValues(typeof(Size))) { d = new SailorSoda(); d.Size = size; ((SailorSoda)d).Flavor = sf; drinks.Add(d); } } return(drinks); }
public void ChangingDecafNotifiesProperty() { var A = new CandlehearthCoffee(); Assert.PropertyChanged(A, "Decaf", () => { A.Decaf = true; }); Assert.PropertyChanged(A, "Decaf", () => { A.Decaf = false; }); }
public void ChangingRoomforCreamNotifiesProperty() { var A = new CandlehearthCoffee(); Assert.PropertyChanged(A, "RoomForCream", () => { A.RoomForCream = true; }); Assert.PropertyChanged(A, "RoomForCream", () => { A.RoomForCream = false; }); }
public void ChangingIceNotifiesProperty() { var A = new CandlehearthCoffee(); Assert.PropertyChanged(A, "Ice", () => { A.Ice = true; }); Assert.PropertyChanged(A, "Ice", () => { A.Ice = false; }); }
public void ChangingRoomForCreamNotifiesSpecialInstructionsProperty() { CandlehearthCoffee chc = new CandlehearthCoffee(); Assert.PropertyChanged(chc, "SpecialInstructions", () => { chc.RoomForCream = true; }); Assert.PropertyChanged(chc, "SpecialInstructions", () => { chc.RoomForCream = false; }); }
public void ChangingDecafNotifiesSpecialInstructionsProperty() { CandlehearthCoffee chc = new CandlehearthCoffee(); Assert.PropertyChanged(chc, "SpecialInstructions", () => { chc.Decaf = true; }); Assert.PropertyChanged(chc, "SpecialInstructions", () => { chc.Decaf = false; }); }
public void SizeChangeShouldTriggerPropertyChanged() { CandlehearthCoffee chc = new CandlehearthCoffee(); Assert.PropertyChanged(chc, "Size", () => { chc.Size = Size.Large; }); Assert.PropertyChanged(chc, "Price", () => { chc.Size = Size.Large; }); Assert.PropertyChanged(chc, "Calories", () => { chc.Size = Size.Large; }); }
public void ShouldReturnCorrectToStringBasedOnSize(bool decaf, Size size, string name) { CandlehearthCoffee coffee = new CandlehearthCoffee(); coffee.Size = size; if (decaf) { Assert.Equal($"{size} Decaf Candlehearth Coffee", name); } else { Assert.Equal($"{size} Candlehearth Coffee", name); } }
public void ChangingDecafNotifiesToStringNameProperty() { var CC = new CandlehearthCoffee(); Assert.PropertyChanged(CC, "ToStringName", () => { CC.Decaf = true; }); Assert.PropertyChanged(CC, "ToStringName", () => { CC.Decaf = false; }); }
/// <summary> /// Switches screen to selected drink item on button press /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SwitchScreenToSelectedDrinkItem(object sender, RoutedEventArgs e) { if (DataContext is Order order) { var orderControl = this.FindAncestor <OrderControl>(); if (orderControl == null) { throw new Exception("Can not find OrderControl"); } /* The logic we do past this point requires the sender to be a button. * Although it is redundant good coding practice is to always check */ if (sender is Button) { IOrderItem item; DrinkCustomizationScreen DCS; switch (((Button)sender).Name) { case "AretinoAppleJuiceButton": DCS = new DrinkCustomizationScreen(item = new AretinoAppleJuice()); break; case "CandlehearthCoffeeButton": DCS = new DrinkCustomizationScreen(item = new CandlehearthCoffee()); break; case "MarkarthMilkButton": DCS = new DrinkCustomizationScreen(item = new MarkarthMilk()); break; case "SailorSodaButton": DCS = new DrinkCustomizationScreen(item = new SailorSoda()); break; case "WarriorWaterButton": DCS = new DrinkCustomizationScreen(item = new WarriorWater()); break; default: throw new NotImplementedException("Unknown drink item selected"); } order.AddItem = item; orderControl?.SwapScreen((FrameworkElement)(item.Screen = DCS)); } } else { throw new NotImplementedException("Should never be reached"); } }
public void ChangingDecafNotifiesSpecialInstructionsProperty() { var CC = new CandlehearthCoffee(); Assert.PropertyChanged(CC, "SpecialInstructions", () => { CC.RoomForCream = true; }); Assert.PropertyChanged(CC, "SpecialInstructions", () => { CC.RoomForCream = false; }); }
public void ChangingIceShouldNotifyIceProperty() { CandlehearthCoffee c = new CandlehearthCoffee(); Assert.PropertyChanged(c, "Ice", () => { c.Ice = true; }); Assert.PropertyChanged(c, "Ice", () => { c.Ice = false; }); }
public void ChangingCreamNotifiesProperty() { var drink = new CandlehearthCoffee(); Assert.PropertyChanged(drink, "RoomForCream", () => { drink.RoomForCream = true; }); Assert.PropertyChanged(drink, "RoomForCream", () => { drink.RoomForCream = false; }); }
public void ChangingDecafNotifiesDecafProperty() { var test = new CandlehearthCoffee(); Assert.PropertyChanged(test, "Decaf", () => { test.Decaf = true; }); Assert.PropertyChanged(test, "Decaf", () => { test.Decaf = false; }); }
public void ChangingIceShouldNotifyCreamProperty() { CandlehearthCoffee c = new CandlehearthCoffee(); Assert.PropertyChanged(c, "RoomForCream", () => { c.RoomForCream = true; }); Assert.PropertyChanged(c, "RoomForCream", () => { c.RoomForCream = false; }); }
public void ChangingIceShouldNotifyDecafProperty() { CandlehearthCoffee c = new CandlehearthCoffee(); Assert.PropertyChanged(c, "Decaf", () => { c.Decaf = true; }); Assert.PropertyChanged(c, "Decaf", () => { c.Decaf = false; }); }
public void ChangingCreamNotifiesRoomForCreamProperty() { var test = new CandlehearthCoffee(); Assert.PropertyChanged(test, "RoomForCream", () => { test.RoomForCream = true; }); Assert.PropertyChanged(test, "RoomForCream", () => { test.RoomForCream = false; }); }
public void ChangingSizeNotifiesSizeProperty() { CandlehearthCoffee item = new CandlehearthCoffee(); Assert.PropertyChanged(item, "Size", () => { item.Size = Size.Large; }); Assert.PropertyChanged(item, "Size", () => { item.Size = Size.Medium; }); Assert.PropertyChanged(item, "Size", () => { item.Size = Size.Small; }); Assert.PropertyChanged(item, "Price", () => { item.Size = Size.Large; }); Assert.PropertyChanged(item, "Price", () => { item.Size = Size.Medium; }); Assert.PropertyChanged(item, "Price", () => { item.Size = Size.Small; }); Assert.PropertyChanged(item, "Calories", () => { item.Size = Size.Large; }); Assert.PropertyChanged(item, "Calories", () => { item.Size = Size.Medium; }); Assert.PropertyChanged(item, "Calories", () => { item.Size = Size.Small; }); }