public void Input1() { //Arrange decimal bookPriceExpected = 12.49m; decimal musicCdPriceExpected = 16.49m; decimal chocolateBarPriceExpected = 0.85m; decimal salesTaxExpected = 1.50m; decimal totalExpected = 29.83m; string[] inputLines = new string[] { "1 book at 12.49", "1 music CD at 14.99", "1 chocolate bar at 0.85" }; //Act ShoppingBasket shoppingBasket = _shoppingBasketCreator.CreateShoppingBasket(inputLines, _productCategories); IList <TaxedProduct> taxedProducts = _taxCalculator.ApplyTaxes(shoppingBasket); ReceiptDetail receiptDetail = _receiptDetailCreator.CreateReceiptDetail(taxedProducts); //Assert Assert.AreEqual($"1 book: {bookPriceExpected}{Environment.NewLine}" + $"1 music CD: {musicCdPriceExpected}{Environment.NewLine}" + $"1 chocolate bar: {chocolateBarPriceExpected}{Environment.NewLine}" + $"Sales Taxes: {salesTaxExpected}{Environment.NewLine}" + $"Total: {totalExpected}{Environment.NewLine}", receiptDetail.Receipt); }
static void Main(string[] args) { try { #region Bootstrap IConfigurationRoot configuration = GetConfigurationRoot(); var configurationHelper = new ConfigurationHelper(configuration); TaxSettings taxSettings = configurationHelper.GetTaxSettings(); IList <Tax> taxes = taxSettings.GetAllTaxes(); var taxCalculator = new TaxCalculator(taxes); IDictionary <string, CategoryType> productCategories = configurationHelper.GetProductCategories(); var shoppingBasketCreator = new ShoppingBasketCreator(); var receiptDetailCreator = new ReceiptDetailCreator(); var receiptDeatilPrinter = new ReceiptDeatilPrinter(); #endregion string[] inputLines = GetInputLines(configuration); ShoppingBasket shoppingBasket = shoppingBasketCreator.CreateShoppingBasket(inputLines, productCategories); IList <TaxedProduct> taxedProducts = taxCalculator.ApplyTaxes(shoppingBasket); ReceiptDetail receiptDetail = receiptDetailCreator.CreateReceiptDetail(taxedProducts); receiptDeatilPrinter.Print(receiptDetail); } catch (Exception e) { Console.WriteLine(e); Console.ReadLine(); } }
public void CreateShoppingBasket_0InputLine_EmptyShoppingBasket() { //Arrange string[] inputLines = new string [0]; IDictionary <string, CategoryType> productCategories = new Dictionary <string, CategoryType>(); //Act ShoppingBasket shoppingBasket = _shoppingBasketCreator.CreateShoppingBasket(inputLines, productCategories); //Assert Assert.AreEqual(0, shoppingBasket.Products.Count); }