コード例 #1
0
        public void ShouldFirePropertiesWhenRemoved()
        {
            Order order = new Order();
            MockEntreeImplementation mockEntree1 = new MockEntreeImplementation(1, 1);
            MockEntreeImplementation mockEntree2 = new MockEntreeImplementation(1, 1);
            MockEntreeImplementation mockEntree3 = new MockEntreeImplementation(1, 1);
            MockEntreeImplementation mockEntree4 = new MockEntreeImplementation(1, 1);
            MockEntreeImplementation mockEntree5 = new MockEntreeImplementation(1, 1);
            MockEntreeImplementation mockEntree6 = new MockEntreeImplementation(1, 1);

            order.Add(mockEntree1);
            order.Add(mockEntree2);
            order.Add(mockEntree3);
            order.Add(mockEntree4);
            order.Add(mockEntree5);
            order.Add(mockEntree6);
            Assert.PropertyChanged(order, "Total", () => {
                order.Remove(mockEntree1);
            });
            Assert.PropertyChanged(order, "Tax", () => {
                order.Remove(mockEntree2);
            });
            Assert.PropertyChanged(order, "Subtotal", () => {
                order.Remove(mockEntree3);
            });
            Assert.PropertyChanged(order, "Calories", () => {
                order.Remove(mockEntree4);
            });
        }
コード例 #2
0
        public void ShouldSetEntree()
        {
            ComboItem combo = new ComboItem();
            MockEntreeImplementation mock = new MockEntreeImplementation(0, 0);

            combo.Entree = mock;
            Assert.Equal(mock, combo.Entree);
        }
コード例 #3
0
        public void ShouldAddEntrees(double price, uint calories)
        {
            Order order = new Order();
            MockEntreeImplementation mei = new MockEntreeImplementation(price, calories);

            order.Add(mei);
            Assert.Contains(mei, order);
        }
コード例 #4
0
        public void ShouldFireItemNamePropChangedOnEntreeChange()
        {
            ComboItem combo = new ComboItem();
            MockEntreeImplementation mock = new MockEntreeImplementation(0, 0);

            Assert.PropertyChanged(combo, "ItemName", () => {
                combo.Entree = mock;
            });
        }
コード例 #5
0
        public void ShouldFireSpecialInstructionsPropChangedOnEntreeChange()
        {
            ComboItem combo = new ComboItem();
            MockEntreeImplementation mock = new MockEntreeImplementation(0, 0);

            Assert.PropertyChanged(combo, "SpecialInstructions", () => {
                combo.Entree = mock;
            });
        }
コード例 #6
0
        public void EntreeForwardsPriceChange()
        {
            ComboItem combo = new ComboItem();
            MockEntreeImplementation mock = new MockEntreeImplementation(0, 0);

            combo.Entree = mock;
            Assert.PropertyChanged(combo, "Price", () => {
                mock.ChangePrice(10);
            });
        }
コード例 #7
0
        public void EntreeForwardsSpecialInstructionsChange()
        {
            ComboItem combo = new ComboItem();
            MockEntreeImplementation mock = new MockEntreeImplementation(0, 0);

            combo.Entree = mock;
            Assert.PropertyChanged(combo, "SpecialInstructions", () => {
                mock.AddInstruction("Instruction");
            });
        }
コード例 #8
0
        public void EntreeForwardsCaloriesChange()
        {
            ComboItem combo = new ComboItem();
            MockEntreeImplementation mock = new MockEntreeImplementation(0, 0);

            combo.Entree = mock;
            Assert.PropertyChanged(combo, "Calories", () => {
                mock.ChangeCalories(10);
            });
        }
コード例 #9
0
        public void ShouldFirePropertiesWhenCaloriesChanged()
        {
            Order order = new Order();
            MockEntreeImplementation mockEntree1 = new MockEntreeImplementation(1, 1);

            order.Add(mockEntree1);
            Assert.PropertyChanged(order, "Calories", () => {
                mockEntree1.ChangeCalories(547);
            });
        }
コード例 #10
0
        public void ShouldFirePropertiesWhenPriceChanged()
        {
            Order order = new Order();
            MockEntreeImplementation mockEntree1 = new MockEntreeImplementation(1, 1);

            order.Add(mockEntree1);
            Assert.PropertyChanged(order, "Total", () => {
                mockEntree1.ChangePrice(1.00);
            });
            Assert.PropertyChanged(order, "Tax", () => {
                mockEntree1.ChangePrice(1.00);
            });
            Assert.PropertyChanged(order, "Subtotal", () => {
                mockEntree1.ChangePrice(1.00);
            });
        }
コード例 #11
0
        public void ShouldGetSpecialInstructions()
        {
            ComboItem combo = new ComboItem();
            MockEntreeImplementation entree = new MockEntreeImplementation(0, 0);

            combo.Entree = entree;
            entree.AddInstruction("Entree Instructions");
            MockDrinkImplementation drink = new MockDrinkImplementation(0, 0);

            combo.Drink = drink;
            drink.AddInstruction("Drink Instructions");
            MockSideImplementation side = new MockSideImplementation(0, 0);

            combo.Side = side;
            side.AddInstruction("Side Instructions");
            Assert.Collection(combo.SpecialInstructions,
                              item => Assert.Equal(entree.ToString(), item),
                              item => Assert.Equal(" - Entree Instructions", item),
                              item => Assert.Equal(side.ToString(), item),
                              item => Assert.Equal(" - Side Instructions", item),
                              item => Assert.Equal(drink.ToString(), item),
                              item => Assert.Equal(" - Drink Instructions", item)
                              );
        }