public void TestPassById() { ICartDTO dtoCartFiveTimes = new CommonFiveTimesCartDTO(); Terminal terminal = new Terminal(); IBaseCartModel card = terminal.Create(dtoCartFiveTimes); // valid card Assert.IsTrue(terminal.PassById(card.ID)); // fake card Assert.IsFalse(terminal.PassById(Guid.NewGuid())); // if card is blocked card.Block(); Assert.IsFalse(terminal.PassById(card.ID)); // the card is run out of limit card.UnBlock(); Assert.IsTrue(terminal.PassById(card.ID)); terminal.PassById(card.ID); terminal.PassById(card.ID); terminal.PassById(card.ID); Assert.IsFalse(terminal.PassById(card.ID)); }
public void TestWitdrawCartPerTime() { ICartDTO dto = new CommonFiveTimesCartDTO(); Terminal terminal = new Terminal(); IBaseCartModel cart = terminal.Create(dto); Assert.IsTrue(terminal.CheckAccess(cart)); terminal.Withdraw(cart); Assert.IsTrue(terminal.CheckAccess(cart)); terminal.Withdraw(cart); Assert.IsTrue(terminal.CheckAccess(cart)); terminal.Withdraw(cart); Assert.IsTrue(terminal.CheckAccess(cart)); terminal.Withdraw(cart); Assert.IsTrue(terminal.CheckAccess(cart)); terminal.Withdraw(cart); Assert.AreEqual(5, cart.GetPassedAmount()); Assert.IsFalse(terminal.CheckAccess(cart)); terminal.Withdraw(cart); Assert.AreEqual(cart.GetDeclinedAmount(), 1); }
public void TestCartHasAccessPerTime() { ICartDTO dto = new CommonFiveTimesCartDTO(); CommonCartFabric fabric = new CommonCartFabric(); IBaseCartModel card = fabric.create(dto); Assert.IsTrue(card.HasAccess()); }
public void TestCardHasCorrectType() { ICartDTO dto = new CommonOneDayCartDTO(); CommonCartFabric fabric = new CommonCartFabric(); IBaseCartModel card = fabric.create(dto); Assert.IsTrue(card.GetCartType() == Terminal.CART_TYPE_BY_DAY); }
public void TestCreateCartCommon() { ICartDTO dtoCartFiveTimes = new CommonFiveTimesCartDTO(); Terminal terminal = new Terminal(); IBaseCartModel cart = terminal.Create(dtoCartFiveTimes); Assert.IsTrue(cart is IBaseCartModel); }
public void TestCardHasCorrectTypePerTime() { Terminal terminal = new Terminal(); ICartDTO dto = new CommonFiveTimesCartDTO(); IBaseCartModel card = terminal.Create(dto); Assert.IsTrue(card.GetCartType() == Terminal.CART_TYPE_BY_TIME); }
public void TestCreateCartDiscount() { ICartDTO dtoWithDiscount = new DiscountFiftyPercTwentyTimesCartDTO(); ICartDTO dtoWithoutDiscount = new CommonTwentyTimesCartDTO(); Terminal terminal = new Terminal(); IBaseCartModel cartWithDiscount = terminal.Create(dtoWithDiscount); IBaseCartModel cartWithoutDiscount = terminal.Create(dtoWithoutDiscount); int price1 = cartWithDiscount.GetPrice(); int price2 = cartWithoutDiscount.GetPrice(); Assert.IsTrue(price1 < price2); }
public void TestBlockCartPerTime() { ICartDTO dto = new CommonFiveTimesCartDTO(); Terminal terminal = new Terminal(); IBaseCartModel cart = terminal.Create(dto); Assert.IsTrue(terminal.CheckAccess(cart)); terminal.BlockCart(cart); Assert.IsFalse(terminal.CheckAccess(cart)); terminal.UnBlockCart(cart); Assert.IsTrue(terminal.CheckAccess(cart)); }
public void TestBlockUnblockCard() { ICartDTO dto = new CommonFiveTimesCartDTO(); CommonCartFabric fabric = new CommonCartFabric(); IBaseCartModel card = fabric.create(dto); Assert.IsTrue(card.HasAccess()); card.Block(); Assert.IsFalse(card.HasAccess()); card.UnBlock(); Assert.IsTrue(card.HasAccess()); }
public void TestBlockUnblockCard() { ICartDTO dtoCardFiveTimes = new CommonFiveTimesCartDTO(); Terminal terminal = new Terminal(); IBaseCartModel card = terminal.Create(dtoCardFiveTimes); Assert.IsTrue(card.HasAccess()); card.Block(); Assert.IsFalse(card.HasAccess()); card.UnBlock(); Assert.IsTrue(card.HasAccess()); }
public void TestWithdraw() { ICartDTO dtoCartFiveTimes = new CommonFiveTimesCartDTO(); Terminal terminal = new Terminal(); IBaseCartModel card = terminal.Create(dtoCartFiveTimes); Assert.IsTrue(card.HasAccess()); terminal.Withdraw(card); terminal.Withdraw(card); terminal.Withdraw(card); terminal.Withdraw(card); terminal.Withdraw(card); Assert.IsFalse(card.HasAccess()); }
public bool PassById(Guid id) { IBaseCartModel cart = this.GetCartByID(id); if (cart is null) { return(false); } if (cart.HasAccess() == false) { return(false); } cart.Withdraw(); return(true); }
public bool CheckAccess(IBaseCartModel cart) { return(cart.HasAccess()); }
public void Withdraw(IBaseCartModel cart) { cart.Withdraw(); }
public void BlockCart(IBaseCartModel model) { model.Block(); }