public void CostOfNormalBasketTest() { List <string> productsToScan = new List <string>() { "A", "B", "C", "D", "A", "B", "A" }; foreach (string product in productsToScan) { _terminal.ScanProduct(product); } Assert.AreEqual(13.25m, _terminal.CalculateTotal()); }
private void ProcessCustomer(Customer customer) { if (customer == null || string.IsNullOrWhiteSpace(customer.ShoppingList)) { return; } var productCodes = customer.ShoppingList.ToCharArray(); try { foreach (var code in productCodes) { Utils.DoSafe(() => { _terminal.ScanProduct(code.ToString()); }); } customer.Bill = _terminal.Bill; _terminal.CalculateTotal(); PrintBill(customer); } catch (Exception e) { Console.WriteLine(e.Message); } }
public void Run() { var products = new List <ProductDTO> { new ProductDTO { Code = "A", RetailPrice = 1.25m, VolumePrice = 3m, VolumeQuantity = 3 }, new ProductDTO { Code = "B", RetailPrice = 4.25m }, new ProductDTO { Code = "C", RetailPrice = 1m, VolumePrice = 5m, VolumeQuantity = 6 }, new ProductDTO { Code = "D", RetailPrice = 0.75m } }; terminal.SetPricing(products); terminal.Scan("A"); terminal.Scan("B"); terminal.Scan("C"); terminal.Scan("D"); terminal.Scan("A"); terminal.Scan("B"); terminal.Scan("A"); Console.WriteLine($"ABCDABA = 13.25? Result: {terminal.CalculateTotal()}"); Console.ReadLine(); }
public void When_InPackTerminalProductSetABCD_Expected_TotallPrice7_25() { const decimal expected = 7.25m; IPointOfSaleTerminal terminal = components.Resolve <IPointOfSaleTerminal>(); terminal.Scan("A"); terminal.Scan("B"); terminal.Scan("C"); terminal.Scan("D"); var result = terminal.CalculateTotal(); Assert.That(result, Is.EqualTo(expected)); }
public void When_InPackTerminalProductSetCCCCCCC_Expected_TotallPrice6_00() { const decimal expected = 6.00m; IPointOfSaleTerminal terminal = components.Resolve <IPointOfSaleTerminal>(); terminal.Scan("C"); terminal.Scan("C"); terminal.Scan("C"); terminal.Scan("C"); terminal.Scan("C"); terminal.Scan("C"); terminal.Scan("C"); var result = terminal.CalculateTotal(); Assert.That(expected, Is.EqualTo(result)); }