public void ShouldBeSmallByDefault()
        {
            var tea = new TexasTea();

            Assert.Equal(Size.Small, tea.Size);
        }
        public void ShouldBeSweetByDefault()
        {
            var tea = new TexasTea();

            Assert.True(tea.Sweet);
        }
        public void ShouldNotHaveLemonByDefault()
        {
            var tea = new TexasTea();

            Assert.False(tea.Lemon);
        }
        /// <summary>
        /// Updates the screen to the item selected customize screen
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void OnItemAddButtonClicked(object sender, RoutedEventArgs e)
        {
            var orderControl = this.FindAncestor <OrderControl>();

            if (DataContext is Order order)
            {
                if (sender is Button button)
                {
                    switch (button.Tag)
                    {
                    case "CowpokeChili":
                        var entree = new CowpokeChili();
                        var screen = new CustomizeCowpokeChili();
                        screen.DataContext = entree;
                        order.Add(entree);
                        orderControl.SwapScreen(screen);
                        break;

                    case "RustlersRibs":
                        var entree2 = new RustlersRibs();
                        var screen2 = new CustomizeRustlersRibs();
                        screen2.DataContext = entree2;
                        order.Add(entree2);
                        orderControl.SwapScreen(screen2);
                        break;

                    case "PecosPulledPork":
                        var entree3 = new PecosPulledPork();
                        var screen3 = new CustomizePecosPulledPork();
                        screen3.DataContext = entree3;
                        order.Add(entree3);
                        orderControl.SwapScreen(screen3);
                        break;

                    case "TrailBurger":
                        var entree4 = new TrailBurger();
                        var screen4 = new CustomizeTrailBurger();
                        screen4.DataContext = entree4;
                        order.Add(entree4);
                        orderControl.SwapScreen(screen4);
                        break;

                    case "DakotaDoubleBurger":
                        var entree5 = new DakotaDoubleBurger();
                        var screen5 = new CustomizeDakotaDoubleBurger();
                        screen5.DataContext = entree5;
                        order.Add(entree5);
                        orderControl.SwapScreen(screen5);
                        break;

                    case "TexasTripleBurger":
                        var entree6 = new TexasTripleBurger();
                        var screen6 = new CustomizeTexasTripleBurger();
                        screen6.DataContext = entree6;
                        order.Add(entree6);
                        orderControl.SwapScreen(screen6);
                        break;

                    case "AngryChicken":
                        var entree7 = new AngryChicken();
                        var screen7 = new CustomizeAngryChicken();
                        screen7.DataContext = entree7;
                        order.Add(entree7);
                        orderControl.SwapScreen(screen7);
                        break;

                    case "ChiliCheeseFries":
                        var entree8 = new ChiliCheeseFries();
                        var screen8 = new CustomizeChiliCheeseFries();
                        screen8.DataContext = entree8;
                        order.Add(entree8);
                        orderControl.SwapScreen(screen8);
                        break;

                    case "CornDodgers":
                        var entree9 = new CornDodgers();
                        var screen9 = new CustomizeCornDodgers();
                        screen9.DataContext = entree9;
                        order.Add(entree9);
                        orderControl.SwapScreen(screen9);
                        break;

                    case "PanDeCampo":
                        var entree10 = new PanDeCampo();
                        var screen10 = new CustomizePanDeCampo();
                        screen10.DataContext = entree10;
                        order.Add(entree10);
                        orderControl.SwapScreen(screen10);
                        break;

                    case "BakedBeans":
                        var entree11 = new BakedBeans();
                        var screen11 = new CustomizeBakedBeans();
                        screen11.DataContext = entree11;
                        order.Add(entree11);
                        orderControl.SwapScreen(screen11);
                        break;

                    case "JerkedSoda":
                        var entree12 = new JerkedSoda();
                        var screen12 = new CustomizeJerkedSoda();
                        screen12.DataContext = entree12;
                        order.Add(entree12);
                        orderControl.SwapScreen(screen12);
                        break;

                    case "TexasTea":
                        var entree13 = new TexasTea();
                        var screen13 = new CustomizeTexasTea();
                        screen13.DataContext = entree13;
                        order.Add(entree13);
                        orderControl.SwapScreen(screen13);
                        break;

                    case "CowboyCoffee":
                        var entree14 = new CowboyCoffee();
                        var screen14 = new CustomizeCowboyCoffee();
                        screen14.DataContext = entree14;
                        order.Add(entree14);
                        orderControl.SwapScreen(screen14);
                        break;

                    case "Water":
                        var entree15 = new Water();
                        var screen15 = new CustomizeWater();
                        screen15.DataContext = entree15;
                        order.Add(entree15);
                        orderControl.SwapScreen(screen15);
                        break;
                    }
                }
            }
        }
示例#5
0
        /// <summary>
        /// Event handler for menuitem buttons calls correct constructor for button chosen and adds to the list
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void OnItemAddButtonClicked(object sender, RoutedEventArgs e)
        {
            orderControl = this.FindAncestor <OrderControl>();
            if (DataContext is Order order)
            {
                if (sender is Button button)
                {
                    IOrderItem nItem;
                    switch (button.Tag)
                    {
                    case "CowpokeChili":
                        nItem = new CowpokeChili();
                        var screen = new CustomizeCowpokeChili();
                        screen.DataContext = nItem;
                        order.Add(new CowpokeChili());
                        orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "AngryChicken":
                        nItem = new AngryChicken();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new AngryChicken());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "BakedBeans":
                        nItem = new BakedBeans();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new BakedBeans());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "ChiliCheeseFries":
                        nItem = new ChiliCheeseFries();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new ChiliCheeseFries());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "CornDodgers":
                        nItem = new CornDodgers();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new CornDodgers());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "CowboyCoffee":
                        nItem = new CowboyCoffee();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new CowboyCoffee());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "DakotaDoubleBurger":
                        nItem = new DakotaDoubleBurger();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new DakotaDoubleBurger());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "JerkedSoda":
                        nItem = new JerkedSoda();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new JerkedSoda());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "PanDeCampo":
                        nItem = new PanDeCampo();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new PanDeCampo());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "PecosPulledPork":
                        nItem = new PecosPulledPork();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new PecosPulledPork());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "RustlersRibs":
                        nItem = new RustlersRibs();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new RustlersRibs());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "TexasTea":
                        nItem = new TexasTea();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new TexasTea());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "TexasTripleBurger":
                        nItem = new TexasTripleBurger();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new TexasTripleBurger());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "TrailBurger":
                        nItem = new BakedBeans();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new TrailBurger());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;

                    case "Water":
                        nItem = new BakedBeans();
                        // var screen = new CustomizeCowpokeChili();
                        //screen.DataContext = entree;
                        order.Add(new CowboyCoffee());
                        //orderControl.SwapScreen(new CustomizeCowpokeChili());
                        break;
                    }
                }
            }
        }
示例#6
0
        /// <summary>
        /// Button handler that calls the helper method depending on the item selected
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void OnItemAddButtonClicked(object sender, RoutedEventArgs e)
        {
            IOrderItem       item   = null;
            FrameworkElement screen = null;
            var orderControl        = this.FindAncestor <OrderControl>();

            if (DataContext is Order order)
            {
                if (sender is Button button)
                {
                    switch (button.Tag)
                    {
                    case "CowpokeChili":
                        item   = new CowpokeChili();
                        screen = new CustomizeCowpokeChili();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "RustlersRibs":
                        item = new RustlersRibs();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "PecosPulledPork":
                        item   = new PecosPulledPork();
                        screen = new CustomizePecosPulledPork();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "TrailBurger":
                        item   = new TrailBurger();
                        screen = new CustomizeTrailBurger();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "DakotaDouble":
                        item   = new DakotaDoubleBurger();
                        screen = new CustomizeDakotaDoubleBurger();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "TexasTriple":
                        item   = new TexasTripleBurger();
                        screen = new CustomizeTexasTripleBurger();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "AngryChicken":
                        item   = new AngryChicken();
                        screen = new CustomizeAngryChicken();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "ChiliCheeseFries":
                        item   = new ChiliCheeseFries();
                        screen = new CustomizeChiliCheeseFries();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "CornDodgers":
                        item   = new CornDodgers();
                        screen = new CustomizeCornDodgers();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "PanDeCampo":
                        item   = new PanDeCampo();
                        screen = new CustomizePanDeCampo();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "BakedBeans":
                        item   = new BakedBeans();
                        screen = new CustomizeBakedBeans();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "JerkedSoda":
                        item   = new JerkedSoda();
                        screen = new CustomizeJerkedSoda();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "TexasTea":
                        item   = new TexasTea();
                        screen = new CustomizeTexasTea();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "CowboyCoffee":
                        item   = new CowboyCoffee();
                        screen = new CustomizeCowboyCoffee();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    case "Water":
                        item   = new Water();
                        screen = new CustomizeWater();
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;

                    default:
                        AddItemAndOpenCustomizationScreen(item, screen);
                        break;
                    }
                }
            }
        }
        public void ChangingSizeShouldInvokePropertyChangedForPrice()
        {
            var tea = new TexasTea();

            Assert.PropertyChanged(tea, "Price", () => { tea.Size = Size.Large; });
        }
        public void ChangingLemonShouldInvokePropertyChangedForSpecialInstructions()
        {
            var tea = new TexasTea();

            Assert.PropertyChanged(tea, "SpecialInstructions", () => { tea.Lemon = false; });
        }
        public void ChangingSweetShouldInvokePropertyChangedForSweet()
        {
            var tea = new TexasTea();

            Assert.PropertyChanged(tea, "Sweet", () => { tea.Sweet = true; });
        }
        public void ChangingIceShouldInvokePropertyChangedForIce()
        {
            var tea = new TexasTea();

            Assert.PropertyChanged(tea, "Ice", () => { tea.Ice = false; });
        }
        public void ChangingLemonShouldInvokePropertyChangedForLemon()
        {
            var tea = new TexasTea();

            Assert.PropertyChanged(tea, "Lemon", () => { tea.Lemon = false; });
        }
        private void LargeButton_Click(object sender, RoutedEventArgs e)
        {
            TexasTea t = (TexasTea)DataContext;

            t.Size = CowboyCafe.Data.Size.Large;
        }
        /// <summary>
        /// Filters which control was pressed and changes the holding state of the respective item
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            TexasTea tt = (TexasTea)DataContext;

            switch (((Button)sender).Name)
            {
            //Drink Customization Cases
            case "IceButton":
                if (tt.Ice)
                {
                    IceInformation.Text = "No Ice";
                }
                else
                {
                    IceInformation.Text = "With Ice";
                }
                tt.Ice = !tt.Ice;
                break;

            case "SweetButton":
                if (tt.Sweet)
                {
                    SweetInformation.Text = "Not Sweet";
                }
                else
                {
                    SweetInformation.Text = "Sweet";
                }
                tt.Sweet = !tt.Sweet;
                break;

            case "LemonButton":
                if (tt.Lemon)
                {
                    LemonInformation.Text = "No Lemon";
                }
                else
                {
                    LemonInformation.Text = "With Lemon";
                }
                tt.Lemon = !tt.Lemon;
                break;

            //Size Cases
            case "SmallButton":
                tt.Size = Size.Small;
                break;

            case "MediumButton":
                tt.Size = Size.Medium;
                break;

            case "LargeButton":
                tt.Size = Size.Large;
                break;

            default:
                throw new NotImplementedException("Unknown Texas Tea Toggle Button Pressed");
            }
            linkToOrder.InvokePropertyChanged();
        }
        public void TexasTeaShouldImplementINotifyPropertyChanged()
        {
            var item = new TexasTea();

            Assert.IsAssignableFrom <INotifyPropertyChanged>(item);
        }
示例#15
0
        public void ShouldBeIcedByDefault()
        {
            var tea = new TexasTea();

            Assert.True(tea.Ice);
        }
        public void ChangingSweetShouldInvokePropertyChangedForSpecialInstructions()
        {
            var tea = new TexasTea();

            Assert.PropertyChanged(tea, "SpecialInstructions", () => { tea.Sweet = true; });
        }
示例#17
0
        public void TexasTeaImplementsINotifyPropertyChanged()
        {
            var tea = new TexasTea();

            Assert.IsAssignableFrom <INotifyPropertyChanged>(tea);
        }
        public void TexasTeaShouldImplimentInotifyPropertyChanged()
        {
            var tea = new TexasTea();

            Assert.IsAssignableFrom <INotifyPropertyChanged>(tea);
        }