public void ShouldRemoveImmutably()
        {
            //Arrange
            Toppings  initial  = new Toppings();
            IToppings multiple = initial.Add(Topping.Mushroom).Add(Topping.Mozzarella);

            //Act
            IToppings removed = multiple.Remove(Topping.Mushroom);

            //Assert
            removed.Cost(new Money(10)).Should().Be(new Money(1));
            multiple.Cost(new Money(10)).Should().Be(new Money(2));
        }
 public ICalzone Create(IToppings toppings) => new Calzone(this, _baseCost, toppings);
 public BrisbaneStore(IPizzaFactory pizzaFactory, IToppings toppings) : base(pizzaFactory, toppings)
 {
     this.pizzaFactory = pizzaFactory;
 }
 public Florenza(IToppings toppings) : base(toppings)
 {
 }
 public SydneyStore(IPizzaFactory pizzaFactory, IToppings toppings) : base(pizzaFactory, toppings)
 {
     this.pizzaFactory = pizzaFactory;
 }
Exemple #6
0
 public BrisbaneFlorenza(IToppings toppings) : base(toppings)
 {
 }
 public SydneyCapriciosa(IToppings toppings) : base(toppings)
 {
 }
Exemple #8
0
 public virtual IPizza Create(IToppings toppings) => new Pizza(this, _baseCost, toppings);
 public BrisbaneMargherita(IToppings toppings) : base(toppings)
 {
 }
 public Inferno(IToppings toppings) : base(toppings)
 {
 }
Exemple #11
0
 public Store(IPizzaFactory pizzaFactory, IToppings toppings)
 {
     this.pizzaFactory = pizzaFactory;
 }
Exemple #12
0
 public void Act(IWriteString item, IToppings toppings)
 {
     item.Write(_formatText.Add(toppings.Joined()).String());
     _nextAction.Act(item, toppings);
 }
Exemple #13
0
 public SentenceJoinToppings(IToppings toppings) : this(new ToppingRebaseToText(toppings))
 {
 }
 public SydneyInferno(IToppings toppings) : base(toppings)
 {
 }
Exemple #15
0
 public Pizza(IPizzaType type, Money basePrice, IToppings toppings)
 {
     _type      = type;
     _basePrice = basePrice;
     _toppings  = toppings;
 }
 public BrisbaneCapriciosa(IToppings toppings) : base(toppings)
 {
 }
Exemple #17
0
 public Calzone(ICalzoneType type, Money basePrice, IToppings toppings)
 {
     _type      = type;
     _basePrice = basePrice;
     _toppings  = toppings;
 }
 public Capriciosa(IToppings toppings) : base(toppings)
 {
 }
Exemple #19
0
 public Margherita(IToppings toppings) : base(toppings)
 {
 }
Exemple #20
0
 public Pizza(IToppings toppings)
 {
     this.toppings = toppings;
 }
 public PizzaDescription(IProductType type, IToppings toppings) :
     this(new ProductDescriptionAction(type), toppings)
 {
 }
 public void Act(IWriteString item, IToppings toppings)
 {
 }
 public PizzaDescription(IProductDescriptionAction productDescriptionAction, IToppings toppings)
 {
     _productDescriptionAction = productDescriptionAction;
     _toppings = toppings;
 }
Exemple #24
0
 public ToppingDecorator(string toppingName, decimal toppingPrice, Pizza pizza, IToppings toppings) : base(toppings)
 {
     this.toppingName  = toppingName;
     this.toppingPrice = toppingPrice;
     this.pizza        = pizza;
 }
Exemple #25
0
 public ToppingRebaseToText(IToppings toppings) => _toppings = toppings;