public void BigReceiptTest() { int[] ProdsToSell = { 3, 4, 5, 7, 11, 15 }; int[] AmountToSell = { 10, 5, 10, 30, 2, 1 }; int[] StorageCount = { 0, 0, 0, 0, 0, 0 }; int prod_count = ProdsToSell.Count(); bool Pass = true; for (int i = 0; i < prod_count; i++) { Product Prod = SC.ProductDictionary[ProdsToSell[i]]; if (!Prod.StorageWithAmount.ContainsKey(1)) { Prod.StorageWithAmount.TryAdd(1, 0); } StorageCount[i] = Prod.StorageWithAmount[1]; POS.AddSaleTransaction(Prod, AmountToSell[i]); } POS.ExecuteReceipt(false); for (int i = 0; i < prod_count; i++) { Product Prod = SC.ProductDictionary[ProdsToSell[i]]; if (!(Prod.StorageWithAmount[1] == (StorageCount[i] - AmountToSell[i]))) { Pass = false;; } } Assert.IsTrue(Pass); }
public void TestStatistics(int ProductID, int Amount, PaymentMethod_Enum PaymentMethod, decimal PaidAmount) { DateTime Start = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); DateTime Stop = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59);; StatCon.RequestTodayReceipts(); StatCon.CalculatePayments(); StatCon.RequestStatistics(false, 0, false, 0, false, "", Start, Stop); StatCon.GenerateProductSalesAndTotalRevenue(); decimal Kontant_old = Math.Round(StatCon.Payments[0], 2); decimal Dankort_old = Math.Round(StatCon.Payments[1], 2); decimal MobilePay_old = Math.Round(StatCon.Payments[2], 2); BaseProduct TestProd = SC.AllProductsDictionary[ProductID]; POS.AddSaleTransaction(TestProd, Amount); Payment TestPay = new Payment(Receipt.GetNextID(), PaidAmount, PaymentMethod); POS.PlacerholderReceipt.Payments.Add(TestPay); POS.ExecuteReceipt(false); StatCon.RequestTodayReceipts(); StatCon.CalculatePayments(); StatCon.GenerateProductSalesAndTotalRevenue(); decimal Kontant_new = Math.Round(StatCon.Payments[0], 2); decimal Dankort_new = Math.Round(StatCon.Payments[1], 2); decimal MobilePay_new = Math.Round(StatCon.Payments[2], 2); if (PaymentMethod == PaymentMethod_Enum.Cash) { Assert.IsTrue(Kontant_new == Kontant_old + TestPay.Amount && Dankort_old == Dankort_new && MobilePay_old == MobilePay_new); } else if (PaymentMethod == PaymentMethod_Enum.Card) { Assert.IsTrue((Kontant_new + (PaidAmount - (TestProd.SalePrice * Amount))) == Kontant_old && Dankort_new == Dankort_old + TestPay.Amount && MobilePay_old == MobilePay_new); } else if (PaymentMethod == PaymentMethod_Enum.MobilePay) { Assert.IsTrue(Kontant_new == Kontant_old && Dankort_old == Dankort_new && MobilePay_new == MobilePay_old + TestPay.Amount); } }