public void GivenANewCashier_WhenInitializedWithAValidPricelist_ThenTheMerchantIsNotCalled() { var merchantSpy = new MerchantSpy(); var _ = new Cashier(GetPricelistWithOneValidItem(1), merchantSpy); Assert.Equal(0, merchantSpy.ContactQuantity); }
public void GivenACashierWithPricelist_WhenCheckingOutWithNullCart_ThenTheMerchantIsNotCalled() { var merchantSpy = new MerchantSpy(); var cashier = new Cashier(GetPricelistWithOneValidItem(VALID_PRICE), merchantSpy); Assert.Throws <ArgumentException>(() => cashier.Checkout(null, GetValidCreditCard())); Assert.Equal(0, merchantSpy.ContactQuantity); }
public void GivenAValidCashierAndCart_WhenCheckingOutWithNullCreditCardNumber_ThenTheMerchantIsNotCalled() { var merchantSpy = new MerchantSpy(); var cart = GetCartWithOneItem(); var cashier = new Cashier(GetPricelistWithOneValidItem(1), merchantSpy); Assert.Throws <ArgumentException>(() => cashier.Checkout(cart, null)); Assert.Equal(0, merchantSpy.ContactQuantity); }
public void GivenACashierWithPricelist_WhenCheckingOutCartWithItem_ThenTheMerchantIsCalledOnce() { var merchantSpy = new MerchantSpy(); var cart = GetCartWithACatalogWithValidItem(); cart.Add(VALID_ITEM, 1); var cashier = new Cashier(GetPricelistWithOneValidItem(1), merchantSpy); cashier.Checkout(cart, GetValidCreditCard()); Assert.Equal(1, merchantSpy.ContactQuantity); }
public void GivenACashierWithPricelist_WhenCheckingOutCartWithItem_ThenCalculatesTheTotalSum(decimal price) { var merchantSpy = new MerchantSpy(); var cart = GetCartWithACatalogWithValidItem(); cart.Add(VALID_ITEM, 1); var cashier = new Cashier(GetPricelistWithOneValidItem(price), merchantSpy); cashier.Checkout(cart, GetValidCreditCard()); Assert.Equal(merchantSpy.SavedTotal, price); }
public void GivenACashierWithPricelist_WhenCheckingOutCartWithInvalidItem_ThenTheMerchantIsNotCalled() { var merchantSpy = new MerchantSpy(); var cart = GetCartWithACatalogWithTwoValidItems(); cart.Add(ANOTHER_VALID_ITEM, 1); var cashier = new Cashier(GetPricelistWithOneValidItem(1), merchantSpy); Assert.Throws <KeyNotFoundException>(() => cashier.Checkout(cart, GetValidCreditCard())); Assert.Equal(0, merchantSpy.ContactQuantity); }
public void GivenACashierWithPricelist_WhenCheckingOutCartWithSeveralItems_ThenCalculatesTheTotalSum() { var merchantSpy = new MerchantSpy(); var cart = GetCartWithACatalogWithTwoValidItems(); cart.Add(VALID_ITEM, 1); cart.Add(ANOTHER_VALID_ITEM, 4); var cashier = new Cashier(GetPricelistWithTwoValidItems(), merchantSpy); cashier.Checkout(cart, GetValidCreditCard()); Assert.Equal(22, merchantSpy.SavedTotal); }