public void TestPointOfSale_AddDuplicatedProducts() { var productA = new ProductA(); var pointOfSale = new POS(); Assert.DoesNotThrow(() => { pointOfSale.AddProduct(productA); }); Assert.Throws <DuplicatedProductException>(() => { pointOfSale.AddProduct(productA); }); }
public void Setup() { _pointOfSale = new POS(); _terminal = new Terminal(_pointOfSale); var productA = new ProductA(); var productB = new ProductB(); var productC = new ProductC(); var productD = new ProductD(); List <Product> products = new List <Product> { productA, productB, productC, productD }; foreach (var product in products) { Utils.DoSafe(() => { _pointOfSale.AddProduct(product); }); } Utils.DoSafe(() => { _terminal.SetPricing(productA.Code, (decimal)1.25d); }); Utils.DoSafe(() => { _terminal.SetPricing(productA.Code, (decimal)3.00d, 3); }); Utils.DoSafe(() => { _terminal.SetPricing(productB.Code, (decimal)4.25d); }); Utils.DoSafe(() => { _terminal.SetPricing(productC.Code, (decimal)1.00d); }); Utils.DoSafe(() => { _terminal.SetPricing(productC.Code, (decimal)5.00d, 6); }); }
public void TestPointOfSale_InitialiseWithProductList() { var productA = new ProductA(); var productB = new ProductB(); var productC = new ProductC(); var productD = new ProductD(); List <Product> products = new List <Product> { productA, productB, productC, productD }; Assert.DoesNotThrow(() => { var pointOfSale = new POS(products); Assert.IsNotEmpty(products); Assert.AreEqual(products, pointOfSale.Products); }); }
private static void Init() { var productA = new ProductA(); var productB = new ProductB(); var productC = new ProductC(); var productD = new ProductD(); List <Product> products = new List <Product> { productA, productB, productC, productD }; PointOfSale = new POS(products); Terminal = new Terminal(PointOfSale); Utils.DoSafe(() => { Terminal.SetPricing(productA.Code, (decimal)1.25d); }); Utils.DoSafe(() => { Terminal.SetPricing(productA.Code, (decimal)3.00d, 3); }); Utils.DoSafe(() => { Terminal.SetPricing(productB.Code, (decimal)4.25d); }); Utils.DoSafe(() => { Terminal.SetPricing(productC.Code, (decimal)1.00d); }); Utils.DoSafe(() => { Terminal.SetPricing(productC.Code, (decimal)5.00d, 6); }); Utils.DoSafe(() => { Terminal.SetPricing(productD.Code, (decimal)0.75d); }); }
public void TestPointOfSale_AddProducts() { var productA = new ProductA(); var productB = new ProductB(); var productC = new ProductC(); var productD = new ProductD(); List <Product> products = new List <Product> { productA, productB, productC, productD }; var pointOfSale = new POS(); Assert.DoesNotThrow(() => { foreach (var product in products) { pointOfSale.AddProduct(product); } Assert.IsNotEmpty(products); Assert.AreEqual(products, pointOfSale.Products); }); }
public void Setup() { _pointOfSale = new POS(); _terminal = new Terminal(_pointOfSale); var productA = new ProductA(); var productB = new ProductB(); var productC = new ProductC(); var productD = new ProductD(); List <Product> products = new List <Product> { productA, productB, productC, productD }; foreach (var product in products) { Utils.DoSafe(() => { _pointOfSale.AddProduct(product); }); } }