public void GetUsers_GetByUsername_CountIsExpectedValue(int id, int expectedCount) { BarcodeSystemManager systemManager = new BarcodeSystemManager(); IEnumerable <IUser> users = systemManager.GetUsers(user => user.Id == id); Assert.AreEqual(expectedCount, users.Count()); }
public void BuyProduct_UserBuysProduct_ExpectInsufficientCreditsException() { BarcodeSystemManager systemManager = new BarcodeSystemManager(); IUser user = CreateUser(0); IProduct product = CreateProduct(100, false); Assert.Throws <InsufficientCreditsException>(() => systemManager.BuyProduct(user, product)); }
private static void Main(string[] args) { IBarcodeSystemManager systemManager = new BarcodeSystemManager().EnableLogging(); IBarcodeSystemUI systemUI = new BarcodeSystemUI(systemManager); BarcodeSystemController systemController = new BarcodeSystemController(systemManager, systemUI); systemUI.Start(); }
public void BuyProduct_UserBuysProduct_ExpectDoesNotThrowInsufficientCreditsException (decimal userBalance, decimal productPrice, bool canBeBoughtOnCredit) { BarcodeSystemManager systemManager = new BarcodeSystemManager(); IUser user = CreateUser(userBalance); IProduct product = CreateProduct(productPrice, canBeBoughtOnCredit); Assert.DoesNotThrow(() => systemManager.BuyProduct(user, product)); }
public void BuyProduct_UserBuysProduct_ExpectTransactionUserEqualsUser() { BarcodeSystemManager systemManager = new BarcodeSystemManager(); IUser user = CreateUser(100); IProduct product = CreateProduct(100, false); BuyTransaction transaction = systemManager.BuyProduct(user, product); Assert.AreEqual(user, transaction.User); }
public void GetActiveProducts_GetAll_ExpectIsActive() { BarcodeSystemManager systemManager = new BarcodeSystemManager(); IEnumerable <IProduct> activeProducts = systemManager.ActiveProducts; foreach (IProduct product in activeProducts) { Assert.IsTrue(product.IsActive); } }
public void AddCreditsToAccount_BalanceChange_ExpectBalanceUpdated() { BarcodeSystemManager systemManager = new BarcodeSystemManager(); IUser user = systemManager.GetUsers(u => u.Username != null).First(); const decimal amountToAdd = 50; decimal initialBalance = user.Balance; systemManager.AddCreditsToAccount(user, amountToAdd); Assert.AreEqual(initialBalance + amountToAdd, user.Balance); }
public void BuyProduct_UserBuysProduct_ExpectTransactionAmountEqualsProductPrice() { const decimal productPrice = 100; BarcodeSystemManager systemManager = new BarcodeSystemManager(); IUser user = CreateUser(100); IProduct product = CreateProduct(productPrice, false); BuyTransaction transaction = systemManager.BuyProduct(user, product); Assert.AreEqual(productPrice, transaction.Amount); }
public void UserBalanceWarning_UserLowBalance_ExpectEventInvoked() { BarcodeSystemManager systemManager = new BarcodeSystemManager(); IUser user = systemManager.GetUsers(u => u.Username != null).First(); bool wasEventInvoked = false; systemManager.UserBalanceWarning += (user, balance) => wasEventInvoked = true; user.Balance = 5; Assert.IsTrue(wasEventInvoked); }
public void GetProductById_GetInvalidProduct_ExpectAssertion() { BarcodeSystemManager systemManager = new BarcodeSystemManager(); Assert.Throws <ProductNotFoundException>(() => systemManager.GetProductById(0)); }
public void GetProductById_GetFirstProduct_ExpectDoesNotThrow() { BarcodeSystemManager systemManager = new BarcodeSystemManager(); Assert.DoesNotThrow(() => systemManager.GetProductById(1)); }